Loom C API
Public Loom compiler C API
Loading...
Searching...
No Matches
amdgpu/profile.h
Go to the documentation of this file.
1// Copyright 2026 The IREE Authors
2//
3// Licensed under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
7#ifndef LOOMC_TARGET_AMDGPU_PROFILE_H_
8#define LOOMC_TARGET_AMDGPU_PROFILE_H_
9
11
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
42
51
61
82
96 loomc_target_environment_t* target_environment,
97 const loomc_amdgpu_profile_options_t* options, loomc_allocator_t allocator,
98 loomc_target_profile_t** out_profile);
99
109 const loomc_target_profile_t* profile,
110 loomc_amdgpu_target_identity_t* out_identity);
111
130 loomc_string_view_t hsa_isa_name, uint32_t asic_revision,
131 loomc_amdgpu_target_identity_t* out_identity);
132
133#ifdef __cplusplus
134} // extern "C"
135#endif
136
137#endif // LOOMC_TARGET_AMDGPU_PROFILE_H_
loomc_amdgpu_target_feature_state_t
Normalized state of one AMDHSA target-ID feature.
Definition amdgpu/profile.h:29
@ LOOMC_AMDGPU_TARGET_FEATURE_OFF
The feature is explicitly disabled, such as xnack-.
Definition amdgpu/profile.h:37
@ LOOMC_AMDGPU_TARGET_FEATURE_ANY
The target identity does not constrain the feature.
Definition amdgpu/profile.h:31
@ LOOMC_AMDGPU_TARGET_FEATURE_UNSUPPORTED
The selected target is known not to support the feature.
Definition amdgpu/profile.h:34
@ LOOMC_AMDGPU_TARGET_FEATURE_ON
The feature is explicitly enabled, such as sramecc+.
Definition amdgpu/profile.h:40
loomc_status_t loomc_amdgpu_target_profile_query_identity(const loomc_target_profile_t *profile, loomc_amdgpu_target_identity_t *out_identity)
Returns the complete identity selected by an AMDGPU target profile.
loomc_status_t loomc_amdgpu_target_identity_from_hsa_isa_name(loomc_string_view_t hsa_isa_name, uint32_t asic_revision, loomc_amdgpu_target_identity_t *out_identity)
Resolves an HSA ISA name and physical ASIC revision to an AMDGPU identity.
loomc_status_t loomc_target_profile_create_amdgpu(loomc_target_environment_t *target_environment, const loomc_amdgpu_profile_options_t *options, loomc_allocator_t allocator, loomc_target_profile_t **out_profile)
Creates an AMDGPU target profile from a canonical target selector.
#define LOOMC_API_EXPORT
Exports a public Loom C API symbol from a shared library build.
Definition base.h:34
size_t loomc_host_size_t
Host allocation and container size type.
Definition base.h:45
loomc_structure_type_t
Structure type values used by extensible public descriptors.
Definition base.h:181
struct iree_status_handle_t * loomc_status_t
Opaque status handle.
Definition base.h:55
Host allocator used for persistent Loom object storage.
Definition base.h:375
Structured AMDHSA target-ID feature states.
Definition amdgpu/profile.h:44
loomc_amdgpu_target_feature_state_t xnack
XNACK target-ID feature state.
Definition amdgpu/profile.h:49
loomc_amdgpu_target_feature_state_t sramecc
SRAM ECC target-ID feature state.
Definition amdgpu/profile.h:46
AMDGPU target profile creation options.
Definition amdgpu/profile.h:63
loomc_structure_type_t type
Structure type.
Definition amdgpu/profile.h:66
loomc_amdgpu_target_identity_t identity
Structured AMDGPU target identity.
Definition amdgpu/profile.h:80
loomc_string_view_t identifier
Stable profile identifier used in diagnostics.
Definition amdgpu/profile.h:77
loomc_host_size_t structure_size
Size of this structure in bytes.
Definition amdgpu/profile.h:69
const void * next
Reserved extension chain. Must be NULL.
Definition amdgpu/profile.h:72
Complete structured AMDGPU identity used to construct a target profile.
Definition amdgpu/profile.h:53
loomc_string_view_t target
Exact, generic, or overlay AMDGPU target selector, such as gfx1151, gfx11-generic,...
Definition amdgpu/profile.h:56
loomc_amdgpu_amdhsa_feature_states_t amdhsa_features
Structured AMDHSA target-ID feature states.
Definition amdgpu/profile.h:59
Non-owning string view over bytes that need not be NUL-terminated.
Definition base.h:63
AMDGPU target package identity and environment creation.
struct loomc_target_environment_t loomc_target_environment_t
Prepared immutable target environment.
Definition target.h:123
struct loomc_target_profile_t loomc_target_profile_t
Prepared immutable target profile.
Definition target.h:135