gem5  v22.0.0.1
Classes | Macros | Typedefs | Enumerations | Functions
hsa.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Classes

struct  hsa_dim3_s
 Three-dimensional coordinate. More...
 
struct  hsa_agent_s
 Struct containing an opaque handle to an agent, a device that participates in the HSA memory model. More...
 
struct  hsa_cache_s
 Cache handle. More...
 
struct  hsa_signal_s
 Signal handle. More...
 
struct  hsa_signal_group_s
 Group of signals. More...
 
struct  hsa_region_s
 A memory region represents a block of virtual memory with certain properties. More...
 
struct  hsa_queue_s
 User mode queue. More...
 
struct  hsa_kernel_dispatch_packet_s
 AQL kernel dispatch packet. More...
 
struct  hsa_agent_dispatch_packet_s
 Agent dispatch packet. More...
 
struct  hsa_barrier_and_packet_s
 Barrier-AND packet. More...
 
struct  hsa_barrier_or_packet_s
 Barrier-OR packet. More...
 
struct  hsa_isa_s
 Instruction set architecture. More...
 
struct  hsa_wavefront_s
 Wavefront handle. More...
 
struct  hsa_code_object_reader_s
 Code object reader handle. More...
 
struct  hsa_executable_s
 Struct containing an opaque handle to an executable, which contains ISA for finalized kernels and indirect functions together with the allocated global or readonly segment variables they reference. More...
 
struct  hsa_loaded_code_object_s
 Loaded code object handle. More...
 
struct  hsa_executable_symbol_s
 Executable symbol handle. More...
 
struct  hsa_code_object_s
 Struct containing an opaque handle to a code object, which contains ISA for finalized kernels and indirect functions together with information about the global or readonly segment variables they reference. More...
 
struct  hsa_callback_data_s
 Application data handle that is passed to the serialization and deserialization functions. More...
 
struct  hsa_code_symbol_s
 Code object symbol handle. More...
 

Macros

#define HSA_CALL
 
#define HSA_EXPORT_DECORATOR
 
#define HSA_API_EXPORT   HSA_EXPORT_DECORATOR HSA_CALL
 
#define HSA_API_IMPORT   HSA_CALL
 
#define HSA_API   HSA_API_IMPORT
 
#define HSA_DEPRECATED
 
#define HSA_VERSION_1_0   1
 

Typedefs

typedef struct hsa_dim3_s hsa_dim3_t
 Three-dimensional coordinate. More...
 
typedef int hsa_file_t
 POSIX file descriptor. More...
 
typedef struct hsa_agent_s hsa_agent_t
 Struct containing an opaque handle to an agent, a device that participates in the HSA memory model. More...
 
typedef struct hsa_cache_s hsa_cache_t
 Cache handle. More...
 
typedef struct hsa_signal_s hsa_signal_t
 Signal handle. More...
 
typedef int32_t hsa_signal_value_t
 Signal value. More...
 
typedef struct hsa_signal_group_s hsa_signal_group_t
 Group of signals. More...
 
typedef struct hsa_region_s hsa_region_t
 A memory region represents a block of virtual memory with certain properties. More...
 
typedef uint32_t hsa_queue_type32_t
 A fixed-size type used to represent hsa_queue_type_t constants. More...
 
typedef struct hsa_queue_s hsa_queue_t
 User mode queue. More...
 
typedef struct hsa_kernel_dispatch_packet_s hsa_kernel_dispatch_packet_t
 AQL kernel dispatch packet. More...
 
typedef struct hsa_agent_dispatch_packet_s hsa_agent_dispatch_packet_t
 Agent dispatch packet. More...
 
typedef struct hsa_barrier_and_packet_s hsa_barrier_and_packet_t
 Barrier-AND packet. More...
 
typedef struct hsa_barrier_or_packet_s hsa_barrier_or_packet_t
 Barrier-OR packet. More...
 
typedef struct hsa_isa_s hsa_isa_t
 Instruction set architecture. More...
 
typedef struct hsa_wavefront_s hsa_wavefront_t
 Wavefront handle. More...
 
typedef struct hsa_code_object_reader_s hsa_code_object_reader_t
 Code object reader handle. More...
 
typedef struct hsa_executable_s hsa_executable_t
 Struct containing an opaque handle to an executable, which contains ISA for finalized kernels and indirect functions together with the allocated global or readonly segment variables they reference. More...
 
typedef struct hsa_loaded_code_object_s hsa_loaded_code_object_t
 Loaded code object handle. More...
 
typedef struct hsa_executable_symbol_s hsa_executable_symbol_t
 Executable symbol handle. More...
 
typedef struct hsa_code_object_s hsa_code_object_t
 Struct containing an opaque handle to a code object, which contains ISA for finalized kernels and indirect functions together with information about the global or readonly segment variables they reference. More...
 
typedef struct hsa_callback_data_s hsa_callback_data_t
 Application data handle that is passed to the serialization and deserialization functions. More...
 
typedef struct hsa_code_symbol_s hsa_code_symbol_t
 Code object symbol handle. More...
 

Enumerations

enum  hsa_status_t {
  HSA_STATUS_SUCCESS = 0x0, HSA_STATUS_INFO_BREAK = 0x1, HSA_STATUS_ERROR = 0x1000, HSA_STATUS_ERROR_INVALID_ARGUMENT = 0x1001,
  HSA_STATUS_ERROR_INVALID_QUEUE_CREATION = 0x1002, HSA_STATUS_ERROR_INVALID_ALLOCATION = 0x1003, HSA_STATUS_ERROR_INVALID_AGENT = 0x1004, HSA_STATUS_ERROR_INVALID_REGION = 0x1005,
  HSA_STATUS_ERROR_INVALID_SIGNAL = 0x1006, HSA_STATUS_ERROR_INVALID_QUEUE = 0x1007, HSA_STATUS_ERROR_OUT_OF_RESOURCES = 0x1008, HSA_STATUS_ERROR_INVALID_PACKET_FORMAT = 0x1009,
  HSA_STATUS_ERROR_RESOURCE_FREE = 0x100A, HSA_STATUS_ERROR_NOT_INITIALIZED = 0x100B, HSA_STATUS_ERROR_REFCOUNT_OVERFLOW = 0x100C, HSA_STATUS_ERROR_INCOMPATIBLE_ARGUMENTS = 0x100D,
  HSA_STATUS_ERROR_INVALID_INDEX = 0x100E, HSA_STATUS_ERROR_INVALID_ISA = 0x100F, HSA_STATUS_ERROR_INVALID_ISA_NAME = 0x1017, HSA_STATUS_ERROR_INVALID_CODE_OBJECT = 0x1010,
  HSA_STATUS_ERROR_INVALID_EXECUTABLE = 0x1011, HSA_STATUS_ERROR_FROZEN_EXECUTABLE = 0x1012, HSA_STATUS_ERROR_INVALID_SYMBOL_NAME = 0x1013, HSA_STATUS_ERROR_VARIABLE_ALREADY_DEFINED = 0x1014,
  HSA_STATUS_ERROR_VARIABLE_UNDEFINED = 0x1015, HSA_STATUS_ERROR_EXCEPTION = 0x1016, HSA_STATUS_ERROR_INVALID_CODE_SYMBOL = 0x1018, HSA_STATUS_ERROR_INVALID_EXECUTABLE_SYMBOL = 0x1019,
  HSA_STATUS_ERROR_INVALID_FILE = 0x1020, HSA_STATUS_ERROR_INVALID_CODE_OBJECT_READER = 0x1021, HSA_STATUS_ERROR_INVALID_CACHE = 0x1022, HSA_STATUS_ERROR_INVALID_WAVEFRONT = 0x1023,
  HSA_STATUS_ERROR_INVALID_SIGNAL_GROUP = 0x1024, HSA_STATUS_ERROR_INVALID_RUNTIME_STATE = 0x1025
}
 Status codes. More...
 
enum  hsa_access_permission_t { HSA_ACCESS_PERMISSION_RO = 1, HSA_ACCESS_PERMISSION_WO = 2, HSA_ACCESS_PERMISSION_RW = 3 }
 Access permissions. More...
 
enum  hsa_endianness_t { HSA_ENDIANNESS_LITTLE = 0, HSA_ENDIANNESS_BIG = 1 }
 Endianness. More...
 
enum  hsa_machine_model_t { HSA_MACHINE_MODEL_SMALL = 0, HSA_MACHINE_MODEL_LARGE = 1 }
 Machine model. More...
 
enum  hsa_profile_t { HSA_PROFILE_BASE = 0, HSA_PROFILE_FULL = 1 }
 Profile. More...
 
enum  hsa_system_info_t {
  HSA_SYSTEM_INFO_VERSION_MAJOR = 0, HSA_SYSTEM_INFO_VERSION_MINOR = 1, HSA_SYSTEM_INFO_TIMESTAMP = 2, HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY = 3,
  HSA_SYSTEM_INFO_SIGNAL_MAX_WAIT = 4, HSA_SYSTEM_INFO_ENDIANNESS = 5, HSA_SYSTEM_INFO_MACHINE_MODEL = 6, HSA_SYSTEM_INFO_EXTENSIONS = 7
}
 System attributes. More...
 
enum  hsa_extension_t {
  HSA_EXTENSION_FINALIZER = 0, HSA_EXTENSION_IMAGES = 1, HSA_EXTENSION_PERFORMANCE_COUNTERS = 2, HSA_EXTENSION_PROFILING_EVENTS = 3,
  HSA_EXTENSION_STD_LAST = 3, HSA_AMD_FIRST_EXTENSION = 0x200, HSA_EXTENSION_AMD_PROFILER = 0x200, HSA_EXTENSION_AMD_LOADER = 0x201,
  HSA_AMD_LAST_EXTENSION = 0x201
}
 HSA extensions. More...
 
enum  hsa_agent_feature_t { HSA_AGENT_FEATURE_KERNEL_DISPATCH = 1, HSA_AGENT_FEATURE_AGENT_DISPATCH = 2 }
 Agent features. More...
 
enum  hsa_device_type_t { HSA_DEVICE_TYPE_CPU = 0, HSA_DEVICE_TYPE_GPU = 1, HSA_DEVICE_TYPE_DSP = 2 }
 Hardware device type. More...
 
enum  hsa_default_float_rounding_mode_t { HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT = 0, HSA_DEFAULT_FLOAT_ROUNDING_MODE_ZERO = 1, HSA_DEFAULT_FLOAT_ROUNDING_MODE_NEAR = 2 }
 Default floating-point rounding mode. More...
 
enum  hsa_agent_info_t {
  HSA_AGENT_INFO_NAME = 0, HSA_AGENT_INFO_VENDOR_NAME = 1, HSA_AGENT_INFO_FEATURE = 2, HSA_AGENT_INFO_MACHINE_MODEL = 3,
  HSA_AGENT_INFO_PROFILE = 4, HSA_AGENT_INFO_DEFAULT_FLOAT_ROUNDING_MODE = 5, HSA_AGENT_INFO_BASE_PROFILE_DEFAULT_FLOAT_ROUNDING_MODES = 23, HSA_AGENT_INFO_FAST_F16_OPERATION = 24,
  HSA_AGENT_INFO_WAVEFRONT_SIZE = 6, HSA_AGENT_INFO_WORKGROUP_MAX_DIM = 7, HSA_AGENT_INFO_WORKGROUP_MAX_SIZE = 8, HSA_AGENT_INFO_GRID_MAX_DIM = 9,
  HSA_AGENT_INFO_GRID_MAX_SIZE = 10, HSA_AGENT_INFO_FBARRIER_MAX_SIZE = 11, HSA_AGENT_INFO_QUEUES_MAX = 12, HSA_AGENT_INFO_QUEUE_MIN_SIZE = 13,
  HSA_AGENT_INFO_QUEUE_MAX_SIZE = 14, HSA_AGENT_INFO_QUEUE_TYPE = 15, HSA_AGENT_INFO_NODE = 16, HSA_AGENT_INFO_DEVICE = 17,
  HSA_AGENT_INFO_CACHE_SIZE = 18, HSA_AGENT_INFO_ISA = 19, HSA_AGENT_INFO_EXTENSIONS = 20, HSA_AGENT_INFO_VERSION_MAJOR = 21,
  HSA_AGENT_INFO_VERSION_MINOR = 22
}
 Agent attributes. More...
 
enum  hsa_exception_policy_t { HSA_EXCEPTION_POLICY_BREAK = 1, HSA_EXCEPTION_POLICY_DETECT = 2 }
 Exception policies applied in the presence of hardware exceptions. More...
 
enum  hsa_cache_info_t { HSA_CACHE_INFO_NAME_LENGTH = 0, HSA_CACHE_INFO_NAME = 1, HSA_CACHE_INFO_LEVEL = 2, HSA_CACHE_INFO_SIZE = 3 }
 Cache attributes. More...
 
enum  hsa_signal_condition_t { HSA_SIGNAL_CONDITION_EQ = 0, HSA_SIGNAL_CONDITION_NE = 1, HSA_SIGNAL_CONDITION_LT = 2, HSA_SIGNAL_CONDITION_GTE = 3 }
 Wait condition operator. More...
 
enum  hsa_wait_state_t { HSA_WAIT_STATE_BLOCKED = 0, HSA_WAIT_STATE_ACTIVE = 1 }
 State of the application thread during a signal wait. More...
 
enum  hsa_queue_type_t { HSA_QUEUE_TYPE_MULTI = 0, HSA_QUEUE_TYPE_SINGLE = 1 }
 Queue type. More...
 
enum  hsa_queue_feature_t { HSA_QUEUE_FEATURE_KERNEL_DISPATCH = 1, HSA_QUEUE_FEATURE_AGENT_DISPATCH = 2 }
 Queue features. More...
 
enum  hsa_packet_type_t {
  HSA_PACKET_TYPE_VENDOR_SPECIFIC = 0, HSA_PACKET_TYPE_INVALID = 1, HSA_PACKET_TYPE_KERNEL_DISPATCH = 2, HSA_PACKET_TYPE_BARRIER_AND = 3,
  HSA_PACKET_TYPE_AGENT_DISPATCH = 4, HSA_PACKET_TYPE_BARRIER_OR = 5
}
 Packet type. More...
 
enum  hsa_fence_scope_t { HSA_FENCE_SCOPE_NONE = 0, HSA_FENCE_SCOPE_AGENT = 1, HSA_FENCE_SCOPE_SYSTEM = 2 }
 Scope of the memory fence operation associated with a packet. More...
 
enum  hsa_packet_header_t {
  HSA_PACKET_HEADER_TYPE = 0, HSA_PACKET_HEADER_BARRIER = 8, HSA_PACKET_HEADER_SCACQUIRE_FENCE_SCOPE = 9, HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE = 9,
  HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE = 11, HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE = 11
}
 Sub-fields of the header field that is present in any AQL packet. More...
 
enum  hsa_packet_header_width_t {
  HSA_PACKET_HEADER_WIDTH_TYPE = 8, HSA_PACKET_HEADER_WIDTH_BARRIER = 1, HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE = 2, HSA_PACKET_HEADER_WIDTH_ACQUIRE_FENCE_SCOPE = 2,
  HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE = 2, HSA_PACKET_HEADER_WIDTH_RELEASE_FENCE_SCOPE = 2
}
 Width (in bits) of the sub-fields in hsa_packet_header_t. More...
 
enum  hsa_kernel_dispatch_packet_setup_t { HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS = 0 }
 Sub-fields of the kernel dispatch packet setup field. More...
 
enum  hsa_kernel_dispatch_packet_setup_width_t { HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS = 2 }
 Width (in bits) of the sub-fields in hsa_kernel_dispatch_packet_setup_t. More...
 
enum  hsa_region_segment_t {
  HSA_REGION_SEGMENT_GLOBAL = 0, HSA_REGION_SEGMENT_READONLY = 1, HSA_REGION_SEGMENT_PRIVATE = 2, HSA_REGION_SEGMENT_GROUP = 3,
  HSA_REGION_SEGMENT_KERNARG = 4
}
 Memory segments associated with a region. More...
 
enum  hsa_region_global_flag_t { HSA_REGION_GLOBAL_FLAG_KERNARG = 1, HSA_REGION_GLOBAL_FLAG_FINE_GRAINED = 2, HSA_REGION_GLOBAL_FLAG_COARSE_GRAINED = 4 }
 Global region flags. More...
 
enum  hsa_region_info_t {
  HSA_REGION_INFO_SEGMENT = 0, HSA_REGION_INFO_GLOBAL_FLAGS = 1, HSA_REGION_INFO_SIZE = 2, HSA_REGION_INFO_ALLOC_MAX_SIZE = 4,
  HSA_REGION_INFO_ALLOC_MAX_PRIVATE_WORKGROUP_SIZE = 8, HSA_REGION_INFO_RUNTIME_ALLOC_ALLOWED = 5, HSA_REGION_INFO_RUNTIME_ALLOC_GRANULE = 6, HSA_REGION_INFO_RUNTIME_ALLOC_ALIGNMENT = 7
}
 Attributes of a memory region. More...
 
enum  hsa_isa_info_t {
  HSA_ISA_INFO_NAME_LENGTH = 0, HSA_ISA_INFO_NAME = 1, HSA_ISA_INFO_CALL_CONVENTION_COUNT = 2, HSA_ISA_INFO_CALL_CONVENTION_INFO_WAVEFRONT_SIZE = 3,
  HSA_ISA_INFO_CALL_CONVENTION_INFO_WAVEFRONTS_PER_COMPUTE_UNIT = 4, HSA_ISA_INFO_MACHINE_MODELS = 5, HSA_ISA_INFO_PROFILES = 6, HSA_ISA_INFO_DEFAULT_FLOAT_ROUNDING_MODES = 7,
  HSA_ISA_INFO_BASE_PROFILE_DEFAULT_FLOAT_ROUNDING_MODES = 8, HSA_ISA_INFO_FAST_F16_OPERATION = 9, HSA_ISA_INFO_WORKGROUP_MAX_DIM = 12, HSA_ISA_INFO_WORKGROUP_MAX_SIZE = 13,
  HSA_ISA_INFO_GRID_MAX_DIM = 14, HSA_ISA_INFO_GRID_MAX_SIZE = 16, HSA_ISA_INFO_FBARRIER_MAX_SIZE = 17
}
 Instruction set architecture attributes. More...
 
enum  hsa_fp_type_t { HSA_FP_TYPE_16 = 1, HSA_FP_TYPE_32 = 2, HSA_FP_TYPE_64 = 4 }
 Floating-point types. More...
 
enum  hsa_flush_mode_t { HSA_FLUSH_MODE_FTZ = 1, HSA_FLUSH_MODE_NON_FTZ = 2 }
 Flush to zero modes. More...
 
enum  hsa_round_method_t { HSA_ROUND_METHOD_SINGLE = 1, HSA_ROUND_METHOD_DOUBLE = 2 }
 Round methods. More...
 
enum  hsa_wavefront_info_t { HSA_WAVEFRONT_INFO_SIZE = 0 }
 Wavefront attributes. More...
 
enum  hsa_executable_state_t { HSA_EXECUTABLE_STATE_UNFROZEN = 0, HSA_EXECUTABLE_STATE_FROZEN = 1 }
 Executable state. More...
 
enum  hsa_executable_info_t { HSA_EXECUTABLE_INFO_PROFILE = 1, HSA_EXECUTABLE_INFO_STATE = 2, HSA_EXECUTABLE_INFO_DEFAULT_FLOAT_ROUNDING_MODE = 3 }
 Executable attributes. More...
 
enum  hsa_symbol_kind_t { HSA_SYMBOL_KIND_VARIABLE = 0, HSA_SYMBOL_KIND_KERNEL = 1, HSA_SYMBOL_KIND_INDIRECT_FUNCTION = 2 }
 Symbol type. More...
 
enum  hsa_symbol_linkage_t { HSA_SYMBOL_LINKAGE_MODULE = 0, HSA_SYMBOL_LINKAGE_PROGRAM = 1 }
 Linkage type of a symbol. More...
 
enum  hsa_variable_allocation_t { HSA_VARIABLE_ALLOCATION_AGENT = 0, HSA_VARIABLE_ALLOCATION_PROGRAM = 1 }
 Allocation type of a variable. More...
 
enum  hsa_variable_segment_t { HSA_VARIABLE_SEGMENT_GLOBAL = 0, HSA_VARIABLE_SEGMENT_READONLY = 1 }
 Memory segment associated with a variable. More...
 
enum  hsa_executable_symbol_info_t {
  HSA_EXECUTABLE_SYMBOL_INFO_TYPE = 0, HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH = 1, HSA_EXECUTABLE_SYMBOL_INFO_NAME = 2, HSA_EXECUTABLE_SYMBOL_INFO_MODULE_NAME_LENGTH = 3,
  HSA_EXECUTABLE_SYMBOL_INFO_MODULE_NAME = 4, HSA_EXECUTABLE_SYMBOL_INFO_AGENT = 20, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ADDRESS = 21, HSA_EXECUTABLE_SYMBOL_INFO_LINKAGE = 5,
  HSA_EXECUTABLE_SYMBOL_INFO_IS_DEFINITION = 17, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ALLOCATION = 6, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SEGMENT = 7, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ALIGNMENT = 8,
  HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SIZE = 9, HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_IS_CONST = 10, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT = 22, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE = 11,
  HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_ALIGNMENT = 12, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE = 13, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE = 14, HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_DYNAMIC_CALLSTACK = 15,
  HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_CALL_CONVENTION = 18, HSA_EXECUTABLE_SYMBOL_INFO_INDIRECT_FUNCTION_OBJECT = 23, HSA_EXECUTABLE_SYMBOL_INFO_INDIRECT_FUNCTION_CALL_CONVENTION = 16
}
 Executable symbol attributes. More...
 
enum  hsa_code_object_type_t { HSA_CODE_OBJECT_TYPE_PROGRAM = 0 }
 Code object type. More...
 
enum  hsa_code_object_info_t {
  HSA_CODE_OBJECT_INFO_VERSION = 0, HSA_CODE_OBJECT_INFO_TYPE = 1, HSA_CODE_OBJECT_INFO_ISA = 2, HSA_CODE_OBJECT_INFO_MACHINE_MODEL = 3,
  HSA_CODE_OBJECT_INFO_PROFILE = 4, HSA_CODE_OBJECT_INFO_DEFAULT_FLOAT_ROUNDING_MODE = 5
}
 Code object attributes. More...
 
enum  hsa_code_symbol_info_t {
  HSA_CODE_SYMBOL_INFO_TYPE = 0, HSA_CODE_SYMBOL_INFO_NAME_LENGTH = 1, HSA_CODE_SYMBOL_INFO_NAME = 2, HSA_CODE_SYMBOL_INFO_MODULE_NAME_LENGTH = 3,
  HSA_CODE_SYMBOL_INFO_MODULE_NAME = 4, HSA_CODE_SYMBOL_INFO_LINKAGE = 5, HSA_CODE_SYMBOL_INFO_IS_DEFINITION = 17, HSA_CODE_SYMBOL_INFO_VARIABLE_ALLOCATION = 6,
  HSA_CODE_SYMBOL_INFO_VARIABLE_SEGMENT = 7, HSA_CODE_SYMBOL_INFO_VARIABLE_ALIGNMENT = 8, HSA_CODE_SYMBOL_INFO_VARIABLE_SIZE = 9, HSA_CODE_SYMBOL_INFO_VARIABLE_IS_CONST = 10,
  HSA_CODE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE = 11, HSA_CODE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_ALIGNMENT = 12, HSA_CODE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE = 13, HSA_CODE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE = 14,
  HSA_CODE_SYMBOL_INFO_KERNEL_DYNAMIC_CALLSTACK = 15, HSA_CODE_SYMBOL_INFO_KERNEL_CALL_CONVENTION = 18, HSA_CODE_SYMBOL_INFO_INDIRECT_FUNCTION_CALL_CONVENTION = 16
}
 Code object symbol attributes. More...
 

Functions

hsa_status_t HSA_API hsa_status_string (hsa_status_t status, const char **status_string)
 Query additional information about a status code. More...
 
hsa_status_t HSA_API hsa_init ()
 Initialize the HSA runtime. More...
 
hsa_status_t HSA_API hsa_shut_down ()
 Shut down the HSA runtime. More...
 
hsa_status_t HSA_API hsa_system_get_info (hsa_system_info_t attribute, void *value)
 Get the current value of a system attribute. More...
 
hsa_status_t HSA_API hsa_extension_get_name (uint16_t extension, const char **name)
 Query the name of a given extension. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_system_extension_supported (uint16_t extension, uint16_t version_major, uint16_t version_minor, bool *result)
 Query if a given version of an extension is supported by the HSA implementation. More...
 
hsa_status_t HSA_API hsa_system_major_extension_supported (uint16_t extension, uint16_t version_major, uint16_t *version_minor, bool *result)
 Query if a given version of an extension is supported by the HSA implementation. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_system_get_extension_table (uint16_t extension, uint16_t version_major, uint16_t version_minor, void *table)
 Retrieve the function pointers corresponding to a given version of an extension. More...
 
hsa_status_t HSA_API hsa_system_get_major_extension_table (uint16_t extension, uint16_t version_major, size_t table_length, void *table)
 Retrieve the function pointers corresponding to a given major version of an extension. More...
 
hsa_status_t HSA_API hsa_agent_get_info (hsa_agent_t agent, hsa_agent_info_t attribute, void *value)
 Get the current value of an attribute for a given agent. More...
 
hsa_status_t HSA_API hsa_iterate_agents (hsa_status_t(*callback)(hsa_agent_t agent, void *data), void *data)
 Iterate over the available agents, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_agent_get_exception_policies (hsa_agent_t agent, hsa_profile_t profile, uint16_t *mask)
 Retrieve the exception policy support for a given combination of agent and profile. More...
 
hsa_status_t HSA_API hsa_cache_get_info (hsa_cache_t cache, hsa_cache_info_t attribute, void *value)
 Get the current value of an attribute for a given cache object. More...
 
hsa_status_t HSA_API hsa_agent_iterate_caches (hsa_agent_t agent, hsa_status_t(*callback)(hsa_cache_t cache, void *data), void *data)
 Iterate over the memory caches of a given agent, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_agent_extension_supported (uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t version_minor, bool *result)
 Query if a given version of an extension is supported by an agent. More...
 
hsa_status_t HSA_API hsa_agent_major_extension_supported (uint16_t extension, hsa_agent_t agent, uint16_t version_major, uint16_t *version_minor, bool *result)
 Query if a given version of an extension is supported by an agent. More...
 
hsa_status_t HSA_API hsa_signal_create (hsa_signal_value_t initial_value, uint32_t num_consumers, const hsa_agent_t *consumers, hsa_signal_t *signal)
 Create a signal. More...
 
hsa_status_t HSA_API hsa_signal_destroy (hsa_signal_t signal)
 Destroy a signal previous created by hsa_signal_create. More...
 
hsa_signal_value_t HSA_API hsa_signal_load_scacquire (hsa_signal_t signal)
 Atomically read the current value of a signal. More...
 
hsa_signal_value_t HSA_API hsa_signal_load_relaxed (hsa_signal_t signal)
 Atomically read the current value of a signal. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_load_acquire (hsa_signal_t signal)
 Atomically read the current value of a signal. More...
 
void HSA_API hsa_signal_store_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal. More...
 
void HSA_API hsa_signal_store_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_store_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal. More...
 
void HSA_API hsa_signal_silent_store_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal without necessarily notifying the the agents waiting on it. More...
 
void HSA_API hsa_signal_silent_store_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal without necessarily notifying the the agents waiting on it. More...
 
hsa_signal_value_t HSA_API hsa_signal_exchange_scacq_screl (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_exchange_acq_rel (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API hsa_signal_exchange_scacquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_exchange_acquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API hsa_signal_exchange_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API hsa_signal_exchange_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_exchange_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically set the value of a signal and return its previous value. More...
 
hsa_signal_value_t HSA_API hsa_signal_cas_scacq_screl (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_cas_acq_rel (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
hsa_signal_value_t HSA_API hsa_signal_cas_scacquire (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_cas_acquire (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
hsa_signal_value_t HSA_API hsa_signal_cas_relaxed (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
hsa_signal_value_t HSA_API hsa_signal_cas_screlease (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_cas_release (hsa_signal_t signal, hsa_signal_value_t expected, hsa_signal_value_t value)
 Atomically set the value of a signal if the observed value is equal to the expected value. More...
 
void HSA_API hsa_signal_add_scacq_screl (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_add_acq_rel (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_add_scacquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_add_acquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_add_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_add_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_add_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically increment the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_subtract_scacq_screl (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_subtract_acq_rel (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_subtract_scacquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_subtract_acquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_subtract_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_subtract_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_subtract_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically decrement the value of a signal by a given amount. More...
 
void HSA_API hsa_signal_and_scacq_screl (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_and_acq_rel (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_and_scacquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_and_acquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_and_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_and_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_and_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise AND operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_or_scacq_screl (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_or_acq_rel (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_or_scacquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_or_acquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_or_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_or_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_or_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise OR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_xor_scacq_screl (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_xor_acq_rel (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_xor_scacquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_xor_acquire (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_xor_relaxed (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
void HSA_API hsa_signal_xor_screlease (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
void HSA_API HSA_DEPRECATED hsa_signal_xor_release (hsa_signal_t signal, hsa_signal_value_t value)
 Atomically perform a bitwise XOR operation between the value of a signal and a given value. More...
 
hsa_signal_value_t HSA_API hsa_signal_wait_scacquire (hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint)
 Wait until a signal value satisfies a specified condition, or a certain amount of time has elapsed. More...
 
hsa_signal_value_t HSA_API hsa_signal_wait_relaxed (hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint)
 Wait until a signal value satisfies a specified condition, or a certain amount of time has elapsed. More...
 
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_wait_acquire (hsa_signal_t signal, hsa_signal_condition_t condition, hsa_signal_value_t compare_value, uint64_t timeout_hint, hsa_wait_state_t wait_state_hint)
 Wait until a signal value satisfies a specified condition, or a certain amount of time has elapsed. More...
 
hsa_status_t HSA_API hsa_signal_group_create (uint32_t num_signals, const hsa_signal_t *signals, uint32_t num_consumers, const hsa_agent_t *consumers, hsa_signal_group_t *signal_group)
 Create a signal group. More...
 
hsa_status_t HSA_API hsa_signal_group_destroy (hsa_signal_group_t signal_group)
 Destroy a signal group previous created by hsa_signal_group_create. More...
 
hsa_status_t HSA_API hsa_signal_group_wait_any_scacquire (hsa_signal_group_t signal_group, const hsa_signal_condition_t *conditions, const hsa_signal_value_t *compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t *signal, hsa_signal_value_t *value)
 Wait until the value of at least one of the signals in a signal group satisfies its associated condition. More...
 
hsa_status_t HSA_API hsa_signal_group_wait_any_relaxed (hsa_signal_group_t signal_group, const hsa_signal_condition_t *conditions, const hsa_signal_value_t *compare_values, hsa_wait_state_t wait_state_hint, hsa_signal_t *signal, hsa_signal_value_t *value)
 Wait until the value of at least one of the signals in a signal group satisfies its associated condition. More...
 
hsa_status_t HSA_API hsa_queue_create (hsa_agent_t agent, uint32_t size, hsa_queue_type32_t type, void(*callback)(hsa_status_t status, hsa_queue_t *source, void *data), void *data, uint32_t private_segment_size, uint32_t group_segment_size, hsa_queue_t **queue)
 Create a user mode queue. More...
 
hsa_status_t HSA_API hsa_soft_queue_create (hsa_region_t region, uint32_t size, hsa_queue_type32_t type, uint32_t features, hsa_signal_t doorbell_signal, hsa_queue_t **queue)
 Create a queue for which the application or a kernel is responsible for processing the AQL packets. More...
 
hsa_status_t HSA_API hsa_queue_destroy (hsa_queue_t *queue)
 Destroy a user mode queue. More...
 
hsa_status_t HSA_API hsa_queue_inactivate (hsa_queue_t *queue)
 Inactivate a queue. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_load_read_index_acquire (const hsa_queue_t *queue)
 Atomically load the read index of a queue. More...
 
uint64_t HSA_API hsa_queue_load_read_index_scacquire (const hsa_queue_t *queue)
 Atomically load the read index of a queue. More...
 
uint64_t HSA_API hsa_queue_load_read_index_relaxed (const hsa_queue_t *queue)
 Atomically load the read index of a queue. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_load_write_index_acquire (const hsa_queue_t *queue)
 Atomically load the write index of a queue. More...
 
uint64_t HSA_API hsa_queue_load_write_index_scacquire (const hsa_queue_t *queue)
 Atomically load the write index of a queue. More...
 
uint64_t HSA_API hsa_queue_load_write_index_relaxed (const hsa_queue_t *queue)
 Atomically load the write index of a queue. More...
 
void HSA_API hsa_queue_store_write_index_relaxed (const hsa_queue_t *queue, uint64_t value)
 Atomically set the write index of a queue. More...
 
void HSA_API HSA_DEPRECATED hsa_queue_store_write_index_release (const hsa_queue_t *queue, uint64_t value)
 Atomically set the write index of a queue. More...
 
void HSA_API hsa_queue_store_write_index_screlease (const hsa_queue_t *queue, uint64_t value)
 Atomically set the write index of a queue. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_cas_write_index_acq_rel (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API hsa_queue_cas_write_index_scacq_screl (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_cas_write_index_acquire (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API hsa_queue_cas_write_index_scacquire (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API hsa_queue_cas_write_index_relaxed (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_cas_write_index_release (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API hsa_queue_cas_write_index_screlease (const hsa_queue_t *queue, uint64_t expected, uint64_t value)
 Atomically set the write index of a queue if the observed value is equal to the expected value. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_add_write_index_acq_rel (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
uint64_t HSA_API hsa_queue_add_write_index_scacq_screl (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_add_write_index_acquire (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
uint64_t HSA_API hsa_queue_add_write_index_scacquire (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
uint64_t HSA_API hsa_queue_add_write_index_relaxed (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
uint64_t HSA_API HSA_DEPRECATED hsa_queue_add_write_index_release (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
uint64_t HSA_API hsa_queue_add_write_index_screlease (const hsa_queue_t *queue, uint64_t value)
 Atomically increment the write index of a queue by an offset. More...
 
void HSA_API hsa_queue_store_read_index_relaxed (const hsa_queue_t *queue, uint64_t value)
 Atomically set the read index of a queue. More...
 
void HSA_API HSA_DEPRECATED hsa_queue_store_read_index_release (const hsa_queue_t *queue, uint64_t value)
 Atomically set the read index of a queue. More...
 
void HSA_API hsa_queue_store_read_index_screlease (const hsa_queue_t *queue, uint64_t value)
 Atomically set the read index of a queue. More...
 
hsa_status_t HSA_API hsa_region_get_info (hsa_region_t region, hsa_region_info_t attribute, void *value)
 Get the current value of an attribute of a region. More...
 
hsa_status_t HSA_API hsa_agent_iterate_regions (hsa_agent_t agent, hsa_status_t(*callback)(hsa_region_t region, void *data), void *data)
 Iterate over the memory regions associated with a given agent, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API hsa_memory_allocate (hsa_region_t region, size_t size, void **ptr)
 Allocate a block of memory in a given region. More...
 
hsa_status_t HSA_API hsa_memory_free (void *ptr)
 Deallocate a block of memory previously allocated using hsa_memory_allocate. More...
 
hsa_status_t HSA_API hsa_memory_copy (void *dst, const void *src, size_t size)
 Copy a block of memory from the location pointed to by src to the memory block pointed to by dst. More...
 
hsa_status_t HSA_API hsa_memory_assign_agent (void *ptr, hsa_agent_t agent, hsa_access_permission_t access)
 Change the ownership of a global, coarse-grained buffer. More...
 
hsa_status_t HSA_API hsa_memory_register (void *ptr, size_t size)
 Register a global, fine-grained buffer. More...
 
hsa_status_t HSA_API hsa_memory_deregister (void *ptr, size_t size)
 Deregister memory previously registered using hsa_memory_register. More...
 
hsa_status_t HSA_API hsa_isa_from_name (const char *name, hsa_isa_t *isa)
 Retrieve a reference to an instruction set architecture handle out of a symbolic name. More...
 
hsa_status_t HSA_API hsa_agent_iterate_isas (hsa_agent_t agent, hsa_status_t(*callback)(hsa_isa_t isa, void *data), void *data)
 Iterate over the instruction sets supported by the given agent, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_isa_get_info (hsa_isa_t isa, hsa_isa_info_t attribute, uint32_t index, void *value)
 Get the current value of an attribute for a given instruction set architecture (ISA). More...
 
hsa_status_t HSA_API hsa_isa_get_info_alt (hsa_isa_t isa, hsa_isa_info_t attribute, void *value)
 Get the current value of an attribute for a given instruction set architecture (ISA). More...
 
hsa_status_t HSA_API hsa_isa_get_exception_policies (hsa_isa_t isa, hsa_profile_t profile, uint16_t *mask)
 Retrieve the exception policy support for a given combination of instruction set architecture and profile. More...
 
hsa_status_t HSA_API hsa_isa_get_round_method (hsa_isa_t isa, hsa_fp_type_t fp_type, hsa_flush_mode_t flush_mode, hsa_round_method_t *round_method)
 Retrieve the round method (single or double) used to implement the floating-point multiply add instruction (mad) for a given combination of instruction set architecture, floating-point type, and flush to zero modifier. More...
 
hsa_status_t HSA_API hsa_wavefront_get_info (hsa_wavefront_t wavefront, hsa_wavefront_info_t attribute, void *value)
 Get the current value of a wavefront attribute. More...
 
hsa_status_t HSA_API hsa_isa_iterate_wavefronts (hsa_isa_t isa, hsa_status_t(*callback)(hsa_wavefront_t wavefront, void *data), void *data)
 Iterate over the different wavefronts supported by an instruction set architecture, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_isa_compatible (hsa_isa_t code_object_isa, hsa_isa_t agent_isa, bool *result)
 Check if the instruction set architecture of a code object can be executed on an agent associated with another architecture. More...
 
hsa_status_t HSA_API hsa_code_object_reader_create_from_file (hsa_file_t file, hsa_code_object_reader_t *code_object_reader)
 Create a code object reader to operate on a file. More...
 
hsa_status_t HSA_API hsa_code_object_reader_create_from_memory (const void *code_object, size_t size, hsa_code_object_reader_t *code_object_reader)
 Create a code object reader to operate on memory. More...
 
hsa_status_t HSA_API hsa_code_object_reader_destroy (hsa_code_object_reader_t code_object_reader)
 Destroy a code object reader. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_executable_create (hsa_profile_t profile, hsa_executable_state_t executable_state, const char *options, hsa_executable_t *executable)
 Create an empty executable. More...
 
hsa_status_t HSA_API hsa_executable_create_alt (hsa_profile_t profile, hsa_default_float_rounding_mode_t default_float_rounding_mode, const char *options, hsa_executable_t *executable)
 Create an empty executable. More...
 
hsa_status_t HSA_API hsa_executable_destroy (hsa_executable_t executable)
 Destroy an executable. More...
 
hsa_status_t HSA_API hsa_executable_load_program_code_object (hsa_executable_t executable, hsa_code_object_reader_t code_object_reader, const char *options, hsa_loaded_code_object_t *loaded_code_object)
 Load a program code object into an executable. More...
 
hsa_status_t HSA_API hsa_executable_load_agent_code_object (hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_reader_t code_object_reader, const char *options, hsa_loaded_code_object_t *loaded_code_object)
 Load an agent code object into an executable. More...
 
hsa_status_t HSA_API hsa_executable_freeze (hsa_executable_t executable, const char *options)
 Freeze the executable. More...
 
hsa_status_t HSA_API hsa_executable_get_info (hsa_executable_t executable, hsa_executable_info_t attribute, void *value)
 Get the current value of an attribute for a given executable. More...
 
hsa_status_t HSA_API hsa_executable_global_variable_define (hsa_executable_t executable, const char *variable_name, void *address)
 Define an external global variable with program allocation. More...
 
hsa_status_t HSA_API hsa_executable_agent_global_variable_define (hsa_executable_t executable, hsa_agent_t agent, const char *variable_name, void *address)
 Define an external global variable with agent allocation. More...
 
hsa_status_t HSA_API hsa_executable_readonly_variable_define (hsa_executable_t executable, hsa_agent_t agent, const char *variable_name, void *address)
 Define an external readonly variable. More...
 
hsa_status_t HSA_API hsa_executable_validate (hsa_executable_t executable, uint32_t *result)
 Validate an executable. More...
 
hsa_status_t HSA_API hsa_executable_validate_alt (hsa_executable_t executable, const char *options, uint32_t *result)
 Validate an executable. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_executable_get_symbol (hsa_executable_t executable, const char *module_name, const char *symbol_name, hsa_agent_t agent, int32_t call_convention, hsa_executable_symbol_t *symbol)
 Get the symbol handle for a given a symbol name. More...
 
hsa_status_t HSA_API hsa_executable_get_symbol_by_name (hsa_executable_t executable, const char *symbol_name, const hsa_agent_t *agent, hsa_executable_symbol_t *symbol)
 Retrieve the symbol handle corresponding to a given a symbol name. More...
 
hsa_status_t HSA_API hsa_executable_symbol_get_info (hsa_executable_symbol_t executable_symbol, hsa_executable_symbol_info_t attribute, void *value)
 Get the current value of an attribute for a given executable symbol. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_executable_iterate_symbols (hsa_executable_t executable, hsa_status_t(*callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data), void *data)
 Iterate over the symbols in a executable, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API hsa_executable_iterate_agent_symbols (hsa_executable_t executable, hsa_agent_t agent, hsa_status_t(*callback)(hsa_executable_t exec, hsa_agent_t agent, hsa_executable_symbol_t symbol, void *data), void *data)
 Iterate over the kernels, indirect functions, and agent allocation variables in an executable for a given agent, and invoke an application- defined callback on every iteration. More...
 
hsa_status_t HSA_API hsa_executable_iterate_program_symbols (hsa_executable_t executable, hsa_status_t(*callback)(hsa_executable_t exec, hsa_executable_symbol_t symbol, void *data), void *data)
 Iterate over the program allocation variables in an executable, and invoke an application-defined callback on every iteration. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_serialize (hsa_code_object_t code_object, hsa_status_t(*alloc_callback)(size_t size, hsa_callback_data_t data, void **address), hsa_callback_data_t callback_data, const char *options, void **serialized_code_object, size_t *serialized_code_object_size)
 Serialize a code object. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_deserialize (void *serialized_code_object, size_t serialized_code_object_size, const char *options, hsa_code_object_t *code_object)
 Deserialize a code object. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_destroy (hsa_code_object_t code_object)
 Destroy a code object. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_get_info (hsa_code_object_t code_object, hsa_code_object_info_t attribute, void *value)
 Get the current value of an attribute for a given code object. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_executable_load_code_object (hsa_executable_t executable, hsa_agent_t agent, hsa_code_object_t code_object, const char *options)
 Load code object into the executable. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_get_symbol (hsa_code_object_t code_object, const char *symbol_name, hsa_code_symbol_t *symbol)
 Get the symbol handle within a code object for a given a symbol name. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_get_symbol_from_name (hsa_code_object_t code_object, const char *module_name, const char *symbol_name, hsa_code_symbol_t *symbol)
 Get the symbol handle within a code object for a given a symbol name. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_symbol_get_info (hsa_code_symbol_t code_symbol, hsa_code_symbol_info_t attribute, void *value)
 Get the current value of an attribute for a given code symbol. More...
 
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_iterate_symbols (hsa_code_object_t code_object, hsa_status_t(*callback)(hsa_code_object_t code_object, hsa_code_symbol_t symbol, void *data), void *data)
 Iterate over the symbols in a code object, and invoke an application-defined callback on every iteration. More...
 

Macro Definition Documentation

◆ HSA_API

#define HSA_API   HSA_API_IMPORT

Definition at line 71 of file hsa.h.

◆ HSA_API_EXPORT

#define HSA_API_EXPORT   HSA_EXPORT_DECORATOR HSA_CALL

Definition at line 65 of file hsa.h.

◆ HSA_API_IMPORT

#define HSA_API_IMPORT   HSA_CALL

Definition at line 66 of file hsa.h.

◆ HSA_CALL

#define HSA_CALL

Definition at line 55 of file hsa.h.

◆ HSA_DEPRECATED

#define HSA_DEPRECATED

Definition at line 97 of file hsa.h.

◆ HSA_EXPORT_DECORATOR

#define HSA_EXPORT_DECORATOR

Definition at line 62 of file hsa.h.

◆ HSA_VERSION_1_0

#define HSA_VERSION_1_0   1

Definition at line 105 of file hsa.h.


Generated on Sat Jun 18 2022 08:12:49 for gem5 by doxygen 1.8.17