gem5  v20.1.0.0
hsa.h
Go to the documentation of this file.
1 //
3 // The University of Illinois/NCSA
4 // Open Source License (NCSA)
5 //
6 // Copyright (c) 2014-2015, Advanced Micro Devices, Inc. All rights reserved.
7 //
8 // Developed by:
9 //
10 // AMD Research and AMD HSA Software Development
11 //
12 // Advanced Micro Devices, Inc.
13 //
14 // www.amd.com
15 //
16 // Permission is hereby granted, free of charge, to any person obtaining a copy
17 // of this software and associated documentation files (the "Software"), to
18 // deal with the Software without restriction, including without limitation
19 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
20 // and/or sell copies of the Software, and to permit persons to whom the
21 // Software is furnished to do so, subject to the following conditions:
22 //
23 // - Redistributions of source code must retain the above copyright notice,
24 // this list of conditions and the following disclaimers.
25 // - Redistributions in binary form must reproduce the above copyright
26 // notice, this list of conditions and the following disclaimers in
27 // the documentation and/or other materials provided with the distribution.
28 // - Neither the names of Advanced Micro Devices, Inc,
29 // nor the names of its contributors may be used to endorse or promote
30 // products derived from this Software without specific prior written
31 // permission.
32 //
33 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
36 // THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
37 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
38 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
39 // DEALINGS WITH THE SOFTWARE.
40 //
42 
43 #ifndef HSA_RUNTIME_INC_HSA_H_
44 #define HSA_RUNTIME_INC_HSA_H_
45 
46 #include <stddef.h> /* size_t */
47 #include <stdint.h> /* uintXX_t */
48 
49 #ifndef __cplusplus
50 #include <stdbool.h> /* bool */
51 #endif /* __cplusplus */
52 
53 // Placeholder for calling convention and import/export macros
54 #ifndef HSA_CALL
55 #define HSA_CALL
56 #endif
57 
58 #ifndef HSA_EXPORT_DECORATOR
59 #ifdef __GNUC__
60 #define HSA_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
61 #else
62 #define HSA_EXPORT_DECORATOR
63 #endif
64 #endif
65 #define HSA_API_EXPORT HSA_EXPORT_DECORATOR HSA_CALL
66 #define HSA_API_IMPORT HSA_CALL
67 
68 #if !defined(HSA_API) && defined(HSA_EXPORT)
69 #define HSA_API HSA_API_EXPORT
70 #else
71 #define HSA_API HSA_API_IMPORT
72 #endif
73 
74 // Detect and set large model builds.
75 #undef HSA_LARGE_MODEL
76 #if defined(__LP64__) || defined(_M_X64)
77 #define HSA_LARGE_MODEL
78 #endif
79 
80 // Try to detect CPU endianness
81 #if !defined(LITTLEENDIAN_CPU) && !defined(BIGENDIAN_CPU)
82 #if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || \
83  defined(_M_X64)
84 #define LITTLEENDIAN_CPU
85 #endif
86 #endif
87 
88 #undef HSA_LITTLE_ENDIAN
89 #if defined(LITTLEENDIAN_CPU)
90 #define HSA_LITTLE_ENDIAN
91 #elif defined(BIGENDIAN_CPU)
92 #else
93 #error "BIGENDIAN_CPU or LITTLEENDIAN_CPU must be defined"
94 #endif
95 
96 #ifndef HSA_DEPRECATED
97 #define HSA_DEPRECATED
98 //#ifdef __GNUC__
99 //#define HSA_DEPRECATED __attribute__((deprecated))
100 //#else
101 //#define HSA_DEPRECATED __declspec(deprecated)
102 //#endif
103 #endif
104 
105 #define HSA_VERSION_1_0 1
106 
107 #ifdef __cplusplus
108 extern "C" {
109 #endif /* __cplusplus */
110 
118 typedef enum {
260 
261 } hsa_status_t;
262 
281  const char ** status_string);
282 
292 typedef struct hsa_dim3_s {
296  uint32_t x;
297 
301  uint32_t y;
302 
306  uint32_t z;
307 } hsa_dim3_t;
308 
312 typedef enum {
326 
330 typedef int hsa_file_t;
331 
357 
379 
390 typedef enum {
400 
405 typedef enum {
415 
422 typedef enum {
431 } hsa_profile_t;
432 
436 typedef enum {
478 
497  hsa_system_info_t attribute,
498  void* value);
499 
503 typedef enum {
512 
517 
543 
563  uint16_t extension,
564  const char **name);
565 
591  uint16_t extension,
592  uint16_t version_major,
593  uint16_t version_minor,
594  bool* result);
595 
620  uint16_t extension,
621  uint16_t version_major,
622  uint16_t *version_minor,
623  bool* result);
624 
625 
660  uint16_t extension,
661  uint16_t version_major,
662  uint16_t version_minor,
663  void *table);
664 
700  uint16_t extension,
701  uint16_t version_major,
702  size_t table_length,
703  void *table);
704 
711 typedef struct hsa_agent_s {
716  uint64_t handle;
717 } hsa_agent_t;
718 
722 typedef enum {
733 
737 typedef enum {
751 
755 typedef enum {
772 
776 typedef enum {
991 
993 
1016  hsa_agent_t agent,
1017  hsa_agent_info_t attribute,
1018  void* value);
1019 
1041  hsa_status_t (*callback)(hsa_agent_t agent, void* data),
1042  void* data);
1043 
1044 /*
1045 
1046 // If we do not know the size of an attribute, we need to query it first
1047 // Note: this API will not be in the spec unless needed
1048 hsa_status_t HSA_API hsa_agent_get_info_size(
1049  hsa_agent_t agent,
1050  hsa_agent_info_t attribute,
1051  size_t* size);
1052 
1053 // Set the value of an agents attribute
1054 // Note: this API will not be in the spec unless needed
1055 hsa_status_t HSA_API hsa_agent_set_info(
1056  hsa_agent_t agent,
1057  hsa_agent_info_t attribute,
1058  void* value);
1059 
1060 */
1061 
1065 typedef enum {
1075 
1104  hsa_agent_t agent,
1105  hsa_profile_t profile,
1106  uint16_t *mask);
1107 
1111 typedef struct hsa_cache_s {
1116  uint64_t handle;
1117 } hsa_cache_t;
1118 
1122 typedef enum {
1145 
1169  hsa_cache_t cache,
1170  hsa_cache_info_t attribute,
1171  void* value);
1172 
1201  hsa_agent_t agent,
1202  hsa_status_t (*callback)(hsa_cache_t cache, void* data),
1203  void* data);
1204 
1235  uint16_t extension,
1236  hsa_agent_t agent,
1237  uint16_t version_major,
1238  uint16_t version_minor,
1239  bool* result);
1240 
1270  uint16_t extension,
1271  hsa_agent_t agent,
1272  uint16_t version_major,
1273  uint16_t *version_minor,
1274  bool* result);
1275 
1276 
1287 typedef struct hsa_signal_s {
1292  uint64_t handle;
1293 } hsa_signal_t;
1294 
1299 #ifdef HSA_LARGE_MODEL
1300  typedef int64_t hsa_signal_value_t;
1301 #else
1302  typedef int32_t hsa_signal_value_t;
1303 #endif
1304 
1336  hsa_signal_value_t initial_value,
1337  uint32_t num_consumers,
1338  const hsa_agent_t *consumers,
1339  hsa_signal_t *signal);
1340 
1356  hsa_signal_t signal);
1357 
1366  hsa_signal_t signal);
1367 
1372  hsa_signal_t signal);
1373 
1380  hsa_signal_t signal);
1381 
1393  hsa_signal_t signal,
1394  hsa_signal_value_t value);
1395 
1400  hsa_signal_t signal,
1401  hsa_signal_value_t value);
1402 
1409  hsa_signal_t signal,
1410  hsa_signal_value_t value);
1411 
1426  hsa_signal_t signal,
1427  hsa_signal_value_t value);
1428 
1433  hsa_signal_t signal,
1434  hsa_signal_value_t value);
1435 
1451  hsa_signal_t signal,
1452  hsa_signal_value_t value);
1453 
1460  hsa_signal_t signal,
1461  hsa_signal_value_t value);
1462 
1467  hsa_signal_t signal,
1468  hsa_signal_value_t value);
1469 
1476  hsa_signal_t signal,
1477  hsa_signal_value_t value);
1478 
1483  hsa_signal_t signal,
1484  hsa_signal_value_t value);
1489  hsa_signal_t signal,
1490  hsa_signal_value_t value);
1491 
1498  hsa_signal_t signal,
1499  hsa_signal_value_t value);
1500 
1520  hsa_signal_t signal,
1522  hsa_signal_value_t value);
1523 
1524 
1531  hsa_signal_t signal,
1533  hsa_signal_value_t value);
1534 
1539  hsa_signal_t signal,
1541  hsa_signal_value_t value);
1542 
1549  hsa_signal_t signal,
1551  hsa_signal_value_t value);
1552 
1557  hsa_signal_t signal,
1559  hsa_signal_value_t value);
1560 
1565  hsa_signal_t signal,
1567  hsa_signal_value_t value);
1568 
1575  hsa_signal_t signal,
1577  hsa_signal_value_t value);
1578 
1592  hsa_signal_t signal,
1593  hsa_signal_value_t value);
1594 
1601  hsa_signal_t signal,
1602  hsa_signal_value_t value);
1603 
1608  hsa_signal_t signal,
1609  hsa_signal_value_t value);
1610 
1617  hsa_signal_t signal,
1618  hsa_signal_value_t value);
1619 
1624  hsa_signal_t signal,
1625  hsa_signal_value_t value);
1626 
1631  hsa_signal_t signal,
1632  hsa_signal_value_t value);
1633 
1634 
1641  hsa_signal_t signal,
1642  hsa_signal_value_t value);
1643 
1657  hsa_signal_t signal,
1658  hsa_signal_value_t value);
1659 
1660 
1667  hsa_signal_t signal,
1668  hsa_signal_value_t value);
1669 
1674  hsa_signal_t signal,
1675  hsa_signal_value_t value);
1676 
1683  hsa_signal_t signal,
1684  hsa_signal_value_t value);
1685 
1690  hsa_signal_t signal,
1691  hsa_signal_value_t value);
1692 
1697  hsa_signal_t signal,
1698  hsa_signal_value_t value);
1699 
1700 
1707  hsa_signal_t signal,
1708  hsa_signal_value_t value);
1709 
1724  hsa_signal_t signal,
1725  hsa_signal_value_t value);
1726 
1733  hsa_signal_t signal,
1734  hsa_signal_value_t value);
1735 
1740  hsa_signal_t signal,
1741  hsa_signal_value_t value);
1742 
1749  hsa_signal_t signal,
1750  hsa_signal_value_t value);
1751 
1756  hsa_signal_t signal,
1757  hsa_signal_value_t value);
1758 
1763  hsa_signal_t signal,
1764  hsa_signal_value_t value);
1765 
1766 
1773  hsa_signal_t signal,
1774  hsa_signal_value_t value);
1775 
1789  hsa_signal_t signal,
1790  hsa_signal_value_t value);
1791 
1792 
1799  hsa_signal_t signal,
1800  hsa_signal_value_t value);
1801 
1806  hsa_signal_t signal,
1807  hsa_signal_value_t value);
1808 
1815  hsa_signal_t signal,
1816  hsa_signal_value_t value);
1817 
1822  hsa_signal_t signal,
1823  hsa_signal_value_t value);
1824 
1829  hsa_signal_t signal,
1830  hsa_signal_value_t value);
1831 
1838  hsa_signal_t signal,
1839  hsa_signal_value_t value);
1840 
1855  hsa_signal_t signal,
1856  hsa_signal_value_t value);
1857 
1858 
1865  hsa_signal_t signal,
1866  hsa_signal_value_t value);
1867 
1872  hsa_signal_t signal,
1873  hsa_signal_value_t value);
1874 
1881  hsa_signal_t signal,
1882  hsa_signal_value_t value);
1883 
1888  hsa_signal_t signal,
1889  hsa_signal_value_t value);
1890 
1895  hsa_signal_t signal,
1896  hsa_signal_value_t value);
1897 
1904  hsa_signal_t signal,
1905  hsa_signal_value_t value);
1906 
1910 typedef enum {
1928 
1932 typedef enum {
1942 
1943 
1984  hsa_signal_t signal,
1985  hsa_signal_condition_t condition,
1986  hsa_signal_value_t compare_value,
1987  uint64_t timeout_hint,
1988  hsa_wait_state_t wait_state_hint);
1989 
1994  hsa_signal_t signal,
1995  hsa_signal_condition_t condition,
1996  hsa_signal_value_t compare_value,
1997  uint64_t timeout_hint,
1998  hsa_wait_state_t wait_state_hint);
1999 
2006  hsa_signal_t signal,
2007  hsa_signal_condition_t condition,
2008  hsa_signal_value_t compare_value,
2009  uint64_t timeout_hint,
2010  hsa_wait_state_t wait_state_hint);
2011 
2015 typedef struct hsa_signal_group_s {
2020  uint64_t handle;
2022 
2056  uint32_t num_signals,
2057  const hsa_signal_t *signals,
2058  uint32_t num_consumers,
2059  const hsa_agent_t *consumers,
2060  hsa_signal_group_t *signal_group);
2061 
2075  hsa_signal_group_t signal_group);
2076 
2125  hsa_signal_group_t signal_group,
2126  const hsa_signal_condition_t *conditions,
2127  const hsa_signal_value_t *compare_values,
2128  hsa_wait_state_t wait_state_hint,
2129  hsa_signal_t *signal,
2130  hsa_signal_value_t *value);
2131 
2136  hsa_signal_group_t signal_group,
2137  const hsa_signal_condition_t *conditions,
2138  const hsa_signal_value_t *compare_values,
2139  hsa_wait_state_t wait_state_hint,
2140  hsa_signal_t *signal,
2141  hsa_signal_value_t *value);
2142 
2155 typedef struct hsa_region_s {
2160  uint64_t handle;
2161 } hsa_region_t;
2162 
2174 typedef enum {
2187 
2191 typedef uint32_t hsa_queue_type32_t;
2192 
2196 typedef enum {
2201 
2207 
2216 typedef struct hsa_queue_s {
2221 
2226  uint32_t features;
2227 
2228 #ifdef HSA_LARGE_MODEL
2229  void* base_address;
2230 #elif defined HSA_LITTLE_ENDIAN
2231 
2235  void* base_address;
2239  uint32_t reserved0;
2240 #else
2241  uint32_t reserved0;
2243 #endif
2244 
2257 
2261  uint32_t size;
2265  uint32_t reserved1;
2269  uint64_t id;
2270 
2271 } hsa_queue_t;
2272 
2344  hsa_agent_t agent,
2345  uint32_t size,
2347  void (*callback)(hsa_status_t status, hsa_queue_t *source, void *data),
2348  void *data,
2349  uint32_t private_segment_size,
2350  uint32_t group_segment_size,
2351  hsa_queue_t **queue);
2352 
2408  hsa_region_t region,
2409  uint32_t size,
2411  uint32_t features,
2412  hsa_signal_t doorbell_signal,
2413  hsa_queue_t **queue);
2414 
2439  hsa_queue_t *queue);
2440 
2460  hsa_queue_t *queue);
2461 
2468  const hsa_queue_t *queue);
2469 
2478  const hsa_queue_t *queue);
2479 
2484  const hsa_queue_t *queue);
2485 
2492  const hsa_queue_t *queue);
2493 
2502  const hsa_queue_t *queue);
2503 
2508  const hsa_queue_t *queue);
2509 
2523  const hsa_queue_t *queue,
2524  uint64_t value);
2525 
2532  const hsa_queue_t *queue,
2533  uint64_t value);
2534 
2539  const hsa_queue_t *queue,
2540  uint64_t value);
2541 
2548  const hsa_queue_t *queue,
2549  uint64_t expected,
2550  uint64_t value);
2551 
2567  const hsa_queue_t *queue,
2568  uint64_t expected,
2569  uint64_t value);
2570 
2577  const hsa_queue_t *queue,
2578  uint64_t expected,
2579  uint64_t value);
2580 
2585  const hsa_queue_t *queue,
2586  uint64_t expected,
2587  uint64_t value);
2588 
2593  const hsa_queue_t *queue,
2594  uint64_t expected,
2595  uint64_t value);
2596 
2603  const hsa_queue_t *queue,
2604  uint64_t expected,
2605  uint64_t value);
2606 
2611  const hsa_queue_t *queue,
2612  uint64_t expected,
2613  uint64_t value);
2614 
2621  const hsa_queue_t *queue,
2622  uint64_t value);
2623 
2634  const hsa_queue_t *queue,
2635  uint64_t value);
2636 
2643  const hsa_queue_t *queue,
2644  uint64_t value);
2645 
2650  const hsa_queue_t *queue,
2651  uint64_t value);
2652 
2657  const hsa_queue_t *queue,
2658  uint64_t value);
2659 
2666  const hsa_queue_t *queue,
2667  uint64_t value);
2668 
2673  const hsa_queue_t *queue,
2674  uint64_t value);
2675 
2690  const hsa_queue_t *queue,
2691  uint64_t value);
2692 
2699  const hsa_queue_t *queue,
2700  uint64_t value);
2701 
2706  const hsa_queue_t *queue,
2707  uint64_t value);
2718 typedef enum {
2752 
2756 typedef enum {
2772 
2780  typedef enum {
2822 
2826  typedef enum {
2840 
2848  typedef enum {
2855 
2860  typedef enum {
2863 
2872  uint16_t header;
2873 
2879  uint16_t setup;
2880 
2885 
2891 
2897 
2901  uint16_t reserved0;
2902 
2907  uint32_t grid_size_x;
2908 
2914  uint32_t grid_size_y;
2915 
2921  uint32_t grid_size_z;
2922 
2927 
2935 
2940  uint64_t kernel_object;
2941 
2942 #ifdef HSA_LARGE_MODEL
2943  void* kernarg_address;
2944 #elif defined HSA_LITTLE_ENDIAN
2945 
2952  void* kernarg_address;
2956  uint32_t reserved1;
2957 #else
2958  uint32_t reserved1;
2960 #endif
2961 
2965  uint64_t reserved2;
2966 
2972 
2974 
2983  uint16_t header;
2984 
2988  uint16_t type;
2989 
2993  uint32_t reserved0;
2994 
2995 #ifdef HSA_LARGE_MODEL
2996  void* return_address;
2997 #elif defined HSA_LITTLE_ENDIAN
2998 
3001  void* return_address;
3005  uint32_t reserved1;
3006 #else
3007  uint32_t reserved1;
3009 #endif
3010 
3014  uint64_t arg[4];
3015 
3019  uint64_t reserved2;
3020 
3026 
3028 
3037  uint16_t header;
3038 
3042  uint16_t reserved0;
3043 
3047  uint32_t reserved1;
3048 
3055 
3059  uint64_t reserved2;
3060 
3066 
3068 
3072 typedef struct hsa_barrier_or_packet_s {
3077  uint16_t header;
3078 
3082  uint16_t reserved0;
3083 
3087  uint32_t reserved1;
3088 
3095 
3099  uint64_t reserved2;
3100 
3106 
3108 
3118 typedef enum {
3142 
3146 typedef enum {
3167 
3171 typedef enum {
3233 
3256  hsa_region_t region,
3257  hsa_region_info_t attribute,
3258  void* value);
3259 
3285  hsa_agent_t agent,
3286  hsa_status_t (*callback)(hsa_region_t region, void* data),
3287  void* data);
3288 
3321  size_t size,
3322  void** ptr);
3323 
3337 
3365  void *dst,
3366  const void *src,
3367  size_t size);
3368 
3412  void *ptr,
3413  hsa_agent_t agent,
3414  hsa_access_permission_t access);
3415 
3453  void *ptr,
3454  size_t size);
3455 
3475  void *ptr,
3476  size_t size);
3477 
3488 typedef struct hsa_isa_s {
3493  uint64_t handle;
3494 } hsa_isa_t;
3495 
3523  const char *name,
3524  hsa_isa_t *isa);
3525 
3553  hsa_agent_t agent,
3554  hsa_status_t (*callback)(hsa_isa_t isa, void *data),
3555  void *data);
3556 
3560 typedef enum {
3666 } hsa_isa_info_t;
3667 
3706  hsa_isa_t isa,
3707  hsa_isa_info_t attribute,
3708  uint32_t index,
3709  void *value);
3710 
3736  hsa_isa_t isa,
3737  hsa_isa_info_t attribute,
3738  void *value);
3739 
3763  hsa_isa_t isa,
3764  hsa_profile_t profile,
3765  uint16_t *mask);
3766 
3770 typedef enum {
3783 } hsa_fp_type_t;
3784 
3788 typedef enum {
3798 
3802 typedef enum {
3812 
3841  hsa_isa_t isa,
3842  hsa_fp_type_t fp_type,
3843  hsa_flush_mode_t flush_mode,
3844  hsa_round_method_t *round_method);
3845 
3849 typedef struct hsa_wavefront_s {
3854  uint64_t handle;
3855 } hsa_wavefront_t;
3856 
3860 typedef enum {
3867 
3890  hsa_wavefront_t wavefront,
3891  hsa_wavefront_info_t attribute,
3892  void *value);
3893 
3920  hsa_isa_t isa,
3921  hsa_status_t (*callback)(hsa_wavefront_t wavefront, void *data),
3922  void *data);
3923 
3951  hsa_isa_t code_object_isa,
3952  hsa_isa_t agent_isa,
3953  bool *result);
3954 
3973  uint64_t handle;
3975 
4002  hsa_file_t file,
4003  hsa_code_object_reader_t *code_object_reader);
4004 
4030  const void *code_object,
4031  size_t size,
4032  hsa_code_object_reader_t *code_object_reader);
4033 
4052  hsa_code_object_reader_t code_object_reader);
4053 
4059 typedef struct hsa_executable_s {
4064  uint64_t handle;
4066 
4070 typedef enum {
4086 
4121  hsa_profile_t profile,
4122  hsa_executable_state_t executable_state,
4123  const char *options,
4124  hsa_executable_t *executable);
4125 
4157  hsa_profile_t profile,
4158  hsa_default_float_rounding_mode_t default_float_rounding_mode,
4159  const char *options,
4160  hsa_executable_t *executable);
4161 
4184  hsa_executable_t executable);
4185 
4194  uint64_t handle;
4196 
4242  hsa_executable_t executable,
4243  hsa_code_object_reader_t code_object_reader,
4244  const char *options,
4245  hsa_loaded_code_object_t *loaded_code_object);
4246 
4308  hsa_executable_t executable,
4309  hsa_agent_t agent,
4310  hsa_code_object_reader_t code_object_reader,
4311  const char *options,
4312  hsa_loaded_code_object_t *loaded_code_object);
4313 
4344  hsa_executable_t executable,
4345  const char *options);
4346 
4350 typedef enum {
4366 
4389  hsa_executable_t executable,
4390  hsa_executable_info_t attribute,
4391  void *value);
4392 
4432  hsa_executable_t executable,
4433  const char *variable_name,
4434  void *address);
4435 
4479  hsa_executable_t executable,
4480  hsa_agent_t agent,
4481  const char *variable_name,
4482  void *address);
4483 
4531  hsa_executable_t executable,
4532  hsa_agent_t agent,
4533  const char *variable_name,
4534  void *address);
4535 
4559  hsa_executable_t executable,
4560  uint32_t *result);
4561 
4590  hsa_executable_t executable,
4591  const char *options,
4592  uint32_t *result);
4593 
4601 typedef struct hsa_executable_symbol_s {
4606  uint64_t handle;
4608 
4645  hsa_executable_t executable,
4646  const char *module_name,
4647  const char *symbol_name,
4648  hsa_agent_t agent,
4649  int32_t call_convention,
4650  hsa_executable_symbol_t *symbol);
4651 
4682  hsa_executable_t executable,
4683  const char *symbol_name,
4684  const hsa_agent_t *agent,
4685  hsa_executable_symbol_t *symbol);
4686 
4690 typedef enum {
4704 
4708 typedef enum {
4718 
4722 typedef enum {
4732 
4736 typedef enum {
4746 
4750 typedef enum {
4936 
4960  hsa_executable_symbol_t executable_symbol,
4961  hsa_executable_symbol_info_t attribute,
4962  void *value);
4963 
4991  hsa_executable_t executable,
4992  hsa_status_t (*callback)(hsa_executable_t exec,
4993  hsa_executable_symbol_t symbol,
4994  void *data),
4995  void *data);
4996 
5025  hsa_executable_t executable,
5026  hsa_agent_t agent,
5027  hsa_status_t (*callback)(hsa_executable_t exec,
5028  hsa_agent_t agent,
5029  hsa_executable_symbol_t symbol,
5030  void *data),
5031  void *data);
5032 
5058  hsa_executable_t executable,
5059  hsa_status_t (*callback)(hsa_executable_t exec,
5060  hsa_executable_symbol_t symbol,
5061  void *data),
5062  void *data);
5063 
5078 typedef struct hsa_code_object_s {
5083  uint64_t handle;
5085 
5092 typedef struct hsa_callback_data_s {
5096  uint64_t handle;
5098 
5146  hsa_code_object_t code_object,
5147  hsa_status_t (*alloc_callback)(size_t size,
5149  void **address),
5150  hsa_callback_data_t callback_data,
5151  const char *options,
5152  void **serialized_code_object,
5153  size_t *serialized_code_object_size);
5154 
5186  void *serialized_code_object,
5187  size_t serialized_code_object_size,
5188  const char *options,
5189  hsa_code_object_t *code_object);
5190 
5211  hsa_code_object_t code_object);
5212 
5218 typedef enum {
5225 
5231 typedef enum {
5266 
5291  hsa_code_object_t code_object,
5292  hsa_code_object_info_t attribute,
5293  void *value);
5294 
5347  hsa_executable_t executable,
5348  hsa_agent_t agent,
5349  hsa_code_object_t code_object,
5350  const char *options);
5351 
5361 typedef struct hsa_code_symbol_s {
5366  uint64_t handle;
5368 
5395  hsa_code_object_t code_object,
5396  const char *symbol_name,
5397  hsa_code_symbol_t *symbol);
5398 
5428  hsa_code_object_t code_object,
5429  const char *module_name,
5430  const char *symbol_name,
5431  hsa_code_symbol_t *symbol);
5432 
5438 typedef enum {
5568 
5593  hsa_code_symbol_t code_symbol,
5594  hsa_code_symbol_info_t attribute,
5595  void *value);
5596 
5624  hsa_code_object_t code_object,
5625  hsa_status_t (*callback)(hsa_code_object_t code_object,
5626  hsa_code_symbol_t symbol,
5627  void *data),
5628  void *data);
5629 
5632 #ifdef __cplusplus
5633 } // end extern "C" block
5634 #endif
5635 
5636 #endif // header guard
hsa_queue_s::id
uint64_t id
Queue identifier, which is unique over the lifetime of the application.
Definition: hsa.h:2269
HSA_EXTENSION_AMD_LOADER
@ HSA_EXTENSION_AMD_LOADER
Loader extension.
Definition: hsa.h:537
HSA_STATUS_ERROR_INVALID_SIGNAL_GROUP
@ HSA_STATUS_ERROR_INVALID_SIGNAL_GROUP
The signal group is invalid.
Definition: hsa.h:255
HSA_WAVEFRONT_INFO_SIZE
@ HSA_WAVEFRONT_INFO_SIZE
Number of work-items in the wavefront.
Definition: hsa.h:3865
HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE
@ HSA_PACKET_HEADER_SCRELEASE_FENCE_SCOPE
Release fence scope, The value of this sub-field determines the scope and type of the memory fence op...
Definition: hsa.h:2816
HSA_CODE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE
@ HSA_CODE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE
Size of kernarg segment memory that is required to hold the values of the kernel arguments,...
Definition: hsa.h:5517
ArmISA::status
Bitfield< 5, 0 > status
Definition: miscregs_types.hh:417
hsa_signal_xor_acq_rel
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.
hsa_queue_cas_write_index_release
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.
hsa_code_object_deserialize
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.
HSA_AGENT_INFO_EXTENSIONS
@ HSA_AGENT_INFO_EXTENSIONS
Bit-mask indicating which extensions are supported by the agent.
Definition: hsa.h:980
HSA_CACHE_INFO_SIZE
@ HSA_CACHE_INFO_SIZE
Cache size, in bytes.
Definition: hsa.h:1143
HSA_STATUS_ERROR_INVALID_RUNTIME_STATE
@ HSA_STATUS_ERROR_INVALID_RUNTIME_STATE
The HSA runtime is not in the configuration state.
Definition: hsa.h:259
hsa_isa_from_name
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.
hsa_region_info_t
hsa_region_info_t
Attributes of a memory region.
Definition: hsa.h:3171
HSA_STATUS_ERROR_INVALID_EXECUTABLE
@ HSA_STATUS_ERROR_INVALID_EXECUTABLE
The executable is invalid.
Definition: hsa.h:207
HSA_SIGNAL_CONDITION_NE
@ HSA_SIGNAL_CONDITION_NE
The two operands are not equal.
Definition: hsa.h:1918
HSA_AMD_FIRST_EXTENSION
@ HSA_AMD_FIRST_EXTENSION
First AMD extension number.
Definition: hsa.h:529
hsa_signal_load_relaxed
hsa_signal_value_t HSA_API hsa_signal_load_relaxed(hsa_signal_t signal)
Atomically read the current value of a signal.
hsa_signal_exchange_acq_rel
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.
hsa_cache_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:1116
HSA_ISA_INFO_FBARRIER_MAX_SIZE
@ HSA_ISA_INFO_FBARRIER_MAX_SIZE
Maximum number of fbarriers per work-group.
Definition: hsa.h:3665
HSA_STATUS_ERROR_INVALID_PACKET_FORMAT
@ HSA_STATUS_ERROR_INVALID_PACKET_FORMAT
The AQL packet is malformed.
Definition: hsa.h:170
HSA_STATUS_ERROR_INVALID_CODE_OBJECT_READER
@ HSA_STATUS_ERROR_INVALID_CODE_OBJECT_READER
The code object reader is invalid.
Definition: hsa.h:243
hsa_kernel_dispatch_packet_s::grid_size_z
uint32_t grid_size_z
Z dimension of grid, in work-items.
Definition: hsa.h:2921
hsa_isa_s
Instruction set architecture.
Definition: hsa.h:3488
hsa_agent_iterate_caches
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 ...
HSA_AGENT_FEATURE_KERNEL_DISPATCH
@ HSA_AGENT_FEATURE_KERNEL_DISPATCH
The agent supports AQL packets of kernel dispatch type.
Definition: hsa.h:727
hsa_signal_silent_store_screlease
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.
hsa_cache_s
Cache handle.
Definition: hsa.h:1111
hsa_queue_cas_write_index_scacq_screl
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.
HSA_STATUS_ERROR
@ HSA_STATUS_ERROR
A generic error has occurred.
Definition: hsa.h:131
hsa_agent_dispatch_packet_s::reserved2
uint64_t reserved2
Reserved.
Definition: hsa.h:3019
hsa_agent_dispatch_packet_t
struct hsa_agent_dispatch_packet_s hsa_agent_dispatch_packet_t
Agent dispatch packet.
HSA_WAIT_STATE_ACTIVE
@ HSA_WAIT_STATE_ACTIVE
The application thread stays active while waiting on a signal.
Definition: hsa.h:1940
HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE
@ HSA_PACKET_HEADER_WIDTH_SCACQUIRE_FENCE_SCOPE
Definition: hsa.h:2829
hsa_signal_and_acq_rel
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.
hsa_signal_load_acquire
hsa_signal_value_t HSA_API HSA_DEPRECATED hsa_signal_load_acquire(hsa_signal_t signal)
Atomically read the current value of a signal.
HSA_REGION_INFO_GLOBAL_FLAGS
@ HSA_REGION_INFO_GLOBAL_FLAGS
Flag mask.
Definition: hsa.h:3183
hsa_kernel_dispatch_packet_setup_t
hsa_kernel_dispatch_packet_setup_t
Sub-fields of the kernel dispatch packet setup field.
Definition: hsa.h:2848
HSA_STATUS_ERROR_INVALID_REGION
@ HSA_STATUS_ERROR_INVALID_REGION
The memory region is invalid.
Definition: hsa.h:152
hsa_agent_dispatch_packet_s::reserved1
uint32_t reserved1
Definition: hsa.h:3007
hsa_signal_or_screlease
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.
hsa_access_permission_t
hsa_access_permission_t
Access permissions.
Definition: hsa.h:312
hsa_executable_get_symbol
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.
HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SIZE
@ HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SIZE
Definition: hsa.h:4845
hsa_code_symbol_info_t
hsa_code_symbol_info_t
Code object symbol attributes.
Definition: hsa.h:5438
HSA_STATUS_ERROR_INVALID_SIGNAL
@ HSA_STATUS_ERROR_INVALID_SIGNAL
The signal is invalid.
Definition: hsa.h:156
hsa_loaded_code_object_t
struct hsa_loaded_code_object_s hsa_loaded_code_object_t
Loaded code object handle.
data
const char data[]
Definition: circlebuf.test.cc:42
HSA_REGION_GLOBAL_FLAG_COARSE_GRAINED
@ HSA_REGION_GLOBAL_FLAG_COARSE_GRAINED
Updates to memory in this region can be performed by a single agent at a time.
Definition: hsa.h:3165
hsa_kernel_dispatch_packet_s
AQL kernel dispatch packet.
Definition: hsa.h:2867
HSA_SYSTEM_INFO_TIMESTAMP
@ HSA_SYSTEM_INFO_TIMESTAMP
Current timestamp.
Definition: hsa.h:451
hsa_region_s
A memory region represents a block of virtual memory with certain properties.
Definition: hsa.h:2155
MipsISA::index
Bitfield< 30, 0 > index
Definition: pra_constants.hh:44
HSA_EXTENSION_FINALIZER
@ HSA_EXTENSION_FINALIZER
Finalizer extension.
Definition: hsa.h:507
HSA_ISA_INFO_NAME
@ HSA_ISA_INFO_NAME
Human-readable description.
Definition: hsa.h:3570
hsa_extension_t
hsa_extension_t
HSA extensions.
Definition: hsa.h:503
HSA_FENCE_SCOPE_SYSTEM
@ HSA_FENCE_SCOPE_SYSTEM
The fence is applied across both agent and system scope for the global segment.
Definition: hsa.h:2770
hsa_agent_dispatch_packet_s::type
uint16_t type
Application-defined function to be performed by the destination agent.
Definition: hsa.h:2988
hsa_status_t
hsa_status_t
Status codes.
Definition: hsa.h:118
hsa_signal_subtract_scacquire
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.
hsa_kernel_dispatch_packet_setup_width_t
hsa_kernel_dispatch_packet_setup_width_t
Width (in bits) of the sub-fields in hsa_kernel_dispatch_packet_setup_t.
Definition: hsa.h:2860
hsa_code_object_info_t
hsa_code_object_info_t
Code object attributes.
Definition: hsa.h:5231
hsa_signal_wait_scacquire
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.
hsa_kernel_dispatch_packet_s::reserved0
uint16_t reserved0
Reserved.
Definition: hsa.h:2901
hsa_signal_add_scacq_screl
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.
hsa_profile_t
hsa_profile_t
Profile.
Definition: hsa.h:422
hsa_signal_cas_relaxed
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.
HSA_STATUS_ERROR_VARIABLE_UNDEFINED
@ HSA_STATUS_ERROR_VARIABLE_UNDEFINED
The variable is undefined.
Definition: hsa.h:223
HSA_CODE_SYMBOL_INFO_MODULE_NAME_LENGTH
@ HSA_CODE_SYMBOL_INFO_MODULE_NAME_LENGTH
The length of the module name in bytes (not including the NUL terminator) to which this symbol belong...
Definition: hsa.h:5459
hsa_signal_cas_scacq_screl
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.
HSA_CODE_OBJECT_TYPE_PROGRAM
@ HSA_CODE_OBJECT_TYPE_PROGRAM
Produces code object that contains ISA for all kernels and indirect functions in HSA source.
Definition: hsa.h:5223
hsa_region_segment_t
hsa_region_segment_t
Memory segments associated with a region.
Definition: hsa.h:3118
HSA_AGENT_INFO_NODE
@ HSA_AGENT_INFO_NODE
Definition: hsa.h:950
hsa_wavefront_get_info
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.
HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS
@ HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS
Number of dimensions of the grid.
Definition: hsa.h:2853
hsa_iterate_agents
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.
HSA_CODE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE
@ HSA_CODE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE
Size of static group segment memory required by the kernel (per work-group), in bytes.
Definition: hsa.h:5534
HSA_EXECUTABLE_SYMBOL_INFO_INDIRECT_FUNCTION_CALL_CONVENTION
@ HSA_EXECUTABLE_SYMBOL_INFO_INDIRECT_FUNCTION_CALL_CONVENTION
Definition: hsa.h:4934
hsa_system_info_t
hsa_system_info_t
System attributes.
Definition: hsa.h:436
HSA_SYSTEM_INFO_VERSION_MAJOR
@ HSA_SYSTEM_INFO_VERSION_MAJOR
Major version of the HSA runtime specification supported by the implementation.
Definition: hsa.h:441
HSA_STATUS_ERROR_INVALID_CODE_SYMBOL
@ HSA_STATUS_ERROR_INVALID_CODE_SYMBOL
The code object symbol is invalid.
Definition: hsa.h:231
HSA_FP_TYPE_16
@ HSA_FP_TYPE_16
16-bit floating-point type.
Definition: hsa.h:3774
HSA_FLUSH_MODE_FTZ
@ HSA_FLUSH_MODE_FTZ
Flush to zero.
Definition: hsa.h:3792
hsa_signal_value_t
int32_t hsa_signal_value_t
Signal value.
Definition: hsa.h:1302
hsa_agent_get_exception_policies
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.
hsa_queue_store_write_index_relaxed
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.
hsa_fp_type_t
hsa_fp_type_t
Floating-point types.
Definition: hsa.h:3770
hsa_executable_s
Struct containing an opaque handle to an executable, which contains ISA for finalized kernels and ind...
Definition: hsa.h:4059
HSA_REGION_INFO_SIZE
@ HSA_REGION_INFO_SIZE
Size of this region, in bytes.
Definition: hsa.h:3187
hsa_round_method_t
hsa_round_method_t
Round methods.
Definition: hsa.h:3802
HSA_REGION_SEGMENT_GROUP
@ HSA_REGION_SEGMENT_GROUP
Group segment.
Definition: hsa.h:3136
hsa_signal_cas_scacquire
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.
HSA_REGION_GLOBAL_FLAG_KERNARG
@ HSA_REGION_GLOBAL_FLAG_KERNARG
The application can use memory in the region to store kernel arguments, and provide the values for th...
Definition: hsa.h:3152
hsa_executable_symbol_info_t
hsa_executable_symbol_info_t
Executable symbol attributes.
Definition: hsa.h:4750
hsa_wait_state_t
hsa_wait_state_t
State of the application thread during a signal wait.
Definition: hsa.h:1932
hsa_barrier_and_packet_s::reserved1
uint32_t reserved1
Reserved.
Definition: hsa.h:3047
hsa_code_object_type_t
hsa_code_object_type_t
Code object type.
Definition: hsa.h:5218
hsa_executable_t
struct hsa_executable_s hsa_executable_t
Struct containing an opaque handle to an executable, which contains ISA for finalized kernels and ind...
hsa_agent_get_info
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.
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE
Size of static private, spill, and arg segment memory required by this kernel (per work-item),...
Definition: hsa.h:4898
hsa_code_object_reader_s
Code object reader handle.
Definition: hsa.h:3968
type
uint8_t type
Definition: inet.hh:421
hsa_dim3_t
struct hsa_dim3_s hsa_dim3_t
Three-dimensional coordinate.
hsa_isa_get_info_alt
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).
HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SEGMENT
@ HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_SEGMENT
Definition: hsa.h:4825
hsa_exception_policy_t
hsa_exception_policy_t
Exception policies applied in the presence of hardware exceptions.
Definition: hsa.h:1065
HSA_STATUS_ERROR_RESOURCE_FREE
@ HSA_STATUS_ERROR_RESOURCE_FREE
An error has been detected while releasing a resource.
Definition: hsa.h:174
hsa_memory_register
hsa_status_t HSA_API hsa_memory_register(void *ptr, size_t size)
Register a global, fine-grained buffer.
HSA_EXECUTABLE_SYMBOL_INFO_NAME
@ HSA_EXECUTABLE_SYMBOL_INFO_NAME
The name of the symbol.
Definition: hsa.h:4765
hsa_agent_extension_supported
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.
hsa_signal_subtract_screlease
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.
hsa_queue_destroy
hsa_status_t HSA_API hsa_queue_destroy(hsa_queue_t *queue)
Destroy a user mode queue.
hsa_executable_freeze
hsa_status_t HSA_API hsa_executable_freeze(hsa_executable_t executable, const char *options)
Freeze the executable.
hsa_callback_data_t
struct hsa_callback_data_s hsa_callback_data_t
Application data handle that is passed to the serialization and deserialization functions.
hsa_signal_cas_acq_rel
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.
hsa_code_object_reader_create_from_memory
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.
hsa_kernel_dispatch_packet_s::reserved2
uint64_t reserved2
Reserved.
Definition: hsa.h:2965
hsa_init
hsa_status_t HSA_API hsa_init()
Initialize the HSA runtime.
hsa_code_symbol_get_info
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.
HSA_VARIABLE_SEGMENT_READONLY
@ HSA_VARIABLE_SEGMENT_READONLY
Readonly memory segment.
Definition: hsa.h:4744
HSA_STATUS_ERROR_INVALID_ISA
@ HSA_STATUS_ERROR_INVALID_ISA
The instruction set architecture is invalid.
Definition: hsa.h:195
hsa_queue_load_read_index_acquire
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.
hsa_code_symbol_t
struct hsa_code_symbol_s hsa_code_symbol_t
Code object symbol handle.
hsa_default_float_rounding_mode_t
hsa_default_float_rounding_mode_t
Default floating-point rounding mode.
Definition: hsa.h:755
HSA_CODE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_ALIGNMENT
@ HSA_CODE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_ALIGNMENT
Alignment (in bytes) of the buffer used to pass arguments to the kernel, which is the maximum of 16 a...
Definition: hsa.h:5524
HSA_STATUS_ERROR_VARIABLE_ALREADY_DEFINED
@ HSA_STATUS_ERROR_VARIABLE_ALREADY_DEFINED
The variable is already defined.
Definition: hsa.h:219
HSA_CODE_OBJECT_INFO_ISA
@ HSA_CODE_OBJECT_INFO_ISA
Instruction set architecture this code object is produced for.
Definition: hsa.h:5248
HSA_AGENT_INFO_DEFAULT_FLOAT_ROUNDING_MODE
@ HSA_AGENT_INFO_DEFAULT_FLOAT_ROUNDING_MODE
Definition: hsa.h:823
HSA_DEPRECATED
#define HSA_DEPRECATED
Definition: hsa.h:97
HSA_EXECUTABLE_INFO_STATE
@ HSA_EXECUTABLE_INFO_STATE
Executable state.
Definition: hsa.h:4359
HSA_STATUS_ERROR_OUT_OF_RESOURCES
@ HSA_STATUS_ERROR_OUT_OF_RESOURCES
The HSA runtime failed to allocate the necessary resources.
Definition: hsa.h:166
HSA_DEVICE_TYPE_DSP
@ HSA_DEVICE_TYPE_DSP
DSP device.
Definition: hsa.h:749
hsa_signal_cas_release
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.
hsa_signal_load_scacquire
hsa_signal_value_t HSA_API hsa_signal_load_scacquire(hsa_signal_t signal)
Atomically read the current value of a signal.
HSA_AGENT_INFO_WAVEFRONT_SIZE
@ HSA_AGENT_INFO_WAVEFRONT_SIZE
Definition: hsa.h:860
HSA_PACKET_HEADER_SCACQUIRE_FENCE_SCOPE
@ HSA_PACKET_HEADER_SCACQUIRE_FENCE_SCOPE
Acquire fence scope.
Definition: hsa.h:2802
HSA_REGION_INFO_ALLOC_MAX_SIZE
@ HSA_REGION_INFO_ALLOC_MAX_SIZE
Maximum allocation size in this region, in bytes.
Definition: hsa.h:3201
HSA_ACCESS_PERMISSION_RO
@ HSA_ACCESS_PERMISSION_RO
Read-only access.
Definition: hsa.h:316
HSA_REGION_INFO_SEGMENT
@ HSA_REGION_INFO_SEGMENT
Segment where memory in the region can be used.
Definition: hsa.h:3176
hsa_signal_wait_acquire
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.
HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ADDRESS
@ HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ADDRESS
The address of the variable.
Definition: hsa.h:4799
HSA_ISA_INFO_FAST_F16_OPERATION
@ HSA_ISA_INFO_FAST_F16_OPERATION
Flag indicating that the f16 HSAIL operation is at least as fast as the f32 operation in the instruct...
Definition: hsa.h:3635
HSA_DEVICE_TYPE_CPU
@ HSA_DEVICE_TYPE_CPU
CPU device.
Definition: hsa.h:741
hsa_executable_iterate_agent_symbols
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 g...
HSA_ISA_INFO_MACHINE_MODELS
@ HSA_ISA_INFO_MACHINE_MODELS
Machine models supported by the instruction set architecture.
Definition: hsa.h:3600
HSA_EXECUTABLE_SYMBOL_INFO_IS_DEFINITION
@ HSA_EXECUTABLE_SYMBOL_INFO_IS_DEFINITION
Indicates whether the symbol corresponds to a definition.
Definition: hsa.h:4809
HSA_ACCESS_PERMISSION_WO
@ HSA_ACCESS_PERMISSION_WO
Write-only access.
Definition: hsa.h:320
hsa_queue_s::size
uint32_t size
Maximum number of packets the queue can hold.
Definition: hsa.h:2261
hsa_queue_cas_write_index_scacquire
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.
hsa_barrier_or_packet_s::reserved2
uint64_t reserved2
Reserved.
Definition: hsa.h:3099
HSA_CODE_OBJECT_INFO_DEFAULT_FLOAT_ROUNDING_MODE
@ HSA_CODE_OBJECT_INFO_DEFAULT_FLOAT_ROUNDING_MODE
Default floating-point rounding mode used when the code object is produced.
Definition: hsa.h:5264
hsa_signal_add_screlease
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.
hsa_signal_add_acq_rel
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.
hsa_cache_t
struct hsa_cache_s hsa_cache_t
Cache handle.
hsa_code_object_s
Struct containing an opaque handle to a code object, which contains ISA for finalized kernels and ind...
Definition: hsa.h:5078
HSA_STATUS_ERROR_INVALID_FILE
@ HSA_STATUS_ERROR_INVALID_FILE
The file descriptor is invalid.
Definition: hsa.h:239
HSA_STATUS_ERROR_INVALID_CODE_OBJECT
@ HSA_STATUS_ERROR_INVALID_CODE_OBJECT
The code object is invalid.
Definition: hsa.h:203
HSA_AGENT_INFO_NAME
@ HSA_AGENT_INFO_NAME
Agent name.
Definition: hsa.h:782
HSA_SYMBOL_LINKAGE_PROGRAM
@ HSA_SYMBOL_LINKAGE_PROGRAM
Program linkage.
Definition: hsa.h:4716
HSA_VARIABLE_ALLOCATION_PROGRAM
@ HSA_VARIABLE_ALLOCATION_PROGRAM
Program allocation.
Definition: hsa.h:4730
hsa_queue_add_write_index_screlease
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.
hsa_signal_group_t
struct hsa_signal_group_s hsa_signal_group_t
Group of signals.
hsa_queue_add_write_index_acq_rel
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.
HSA_FP_TYPE_32
@ HSA_FP_TYPE_32
32-bit floating-point type.
Definition: hsa.h:3778
hsa_signal_exchange_scacq_screl
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.
HSA_FENCE_SCOPE_NONE
@ HSA_FENCE_SCOPE_NONE
No scope (no fence is applied).
Definition: hsa.h:2761
hsa_signal_xor_screlease
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.
hsa_queue_t
struct hsa_queue_s hsa_queue_t
User mode queue.
hsa_executable_symbol_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:4606
hsa_agent_dispatch_packet_s::reserved0
uint32_t reserved0
Reserved.
Definition: hsa.h:2993
HSA_CODE_SYMBOL_INFO_MODULE_NAME
@ HSA_CODE_SYMBOL_INFO_MODULE_NAME
The module name to which this symbol belongs if this symbol has module linkage, otherwise an empty st...
Definition: hsa.h:5466
HSA_CACHE_INFO_NAME
@ HSA_CACHE_INFO_NAME
Human-readable description.
Definition: hsa.h:1133
HSA_PACKET_HEADER_WIDTH_TYPE
@ HSA_PACKET_HEADER_WIDTH_TYPE
Definition: hsa.h:2827
hsa_isa_compatible
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 wit...
HSA_ISA_INFO_DEFAULT_FLOAT_ROUNDING_MODES
@ HSA_ISA_INFO_DEFAULT_FLOAT_ROUNDING_MODES
Default floating-point rounding modes supported by the instruction set architecture.
Definition: hsa.h:3619
HSA_STATUS_ERROR_INVALID_SYMBOL_NAME
@ HSA_STATUS_ERROR_INVALID_SYMBOL_NAME
There is no symbol with the given name.
Definition: hsa.h:215
hsa_queue_add_write_index_release
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.
hsa_queue_add_write_index_scacq_screl
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.
hsa_file_t
int hsa_file_t
POSIX file descriptor.
Definition: hsa.h:330
HSA_PACKET_HEADER_WIDTH_ACQUIRE_FENCE_SCOPE
@ HSA_PACKET_HEADER_WIDTH_ACQUIRE_FENCE_SCOPE
Definition: hsa.h:2833
hsa_queue_feature_t
hsa_queue_feature_t
Queue features.
Definition: hsa.h:2196
HSA_ENDIANNESS_BIG
@ HSA_ENDIANNESS_BIG
The most significant byte is stored in the smallest address.
Definition: hsa.h:398
HSA_VARIABLE_ALLOCATION_AGENT
@ HSA_VARIABLE_ALLOCATION_AGENT
Agent allocation.
Definition: hsa.h:4726
hsa_barrier_and_packet_s::dep_signal
hsa_signal_t dep_signal[5]
Array of dependent signal objects.
Definition: hsa.h:3054
hsa_agent_dispatch_packet_s::arg
uint64_t arg[4]
Function arguments.
Definition: hsa.h:3014
HSA_ISA_INFO_NAME_LENGTH
@ HSA_ISA_INFO_NAME_LENGTH
The length of the ISA name in bytes, not including the NUL terminator.
Definition: hsa.h:3565
hsa_dim3_s::y
uint32_t y
Y dimension.
Definition: hsa.h:301
HSA_EXECUTABLE_SYMBOL_INFO_MODULE_NAME_LENGTH
@ HSA_EXECUTABLE_SYMBOL_INFO_MODULE_NAME_LENGTH
Definition: hsa.h:4773
HSA_FP_TYPE_64
@ HSA_FP_TYPE_64
64-bit floating-point type.
Definition: hsa.h:3782
hsa_barrier_and_packet_s::completion_signal
hsa_signal_t completion_signal
Signal used to indicate completion of the job.
Definition: hsa.h:3065
HSA_STATUS_ERROR_EXCEPTION
@ HSA_STATUS_ERROR_EXCEPTION
An HSAIL operation resulted in a hardware exception.
Definition: hsa.h:227
hsa_executable_symbol_t
struct hsa_executable_symbol_s hsa_executable_symbol_t
Executable symbol handle.
hsa_wavefront_s
Wavefront handle.
Definition: hsa.h:3849
HSA_AGENT_INFO_QUEUES_MAX
@ HSA_AGENT_INFO_QUEUES_MAX
Definition: hsa.h:925
hsa_queue_load_write_index_acquire
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.
hsa_symbol_kind_t
hsa_symbol_kind_t
Symbol type.
Definition: hsa.h:4690
HSA_ISA_INFO_WORKGROUP_MAX_DIM
@ HSA_ISA_INFO_WORKGROUP_MAX_DIM
Maximum number of work-items of each dimension of a work-group.
Definition: hsa.h:3642
hsa_code_object_get_symbol_from_name
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.
hsa_queue_s::type
hsa_queue_type32_t type
Queue type.
Definition: hsa.h:2220
hsa_signal_or_release
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.
HSA_STATUS_ERROR_INVALID_QUEUE
@ HSA_STATUS_ERROR_INVALID_QUEUE
The queue is invalid.
Definition: hsa.h:160
hsa_signal_xor_acquire
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.
HSA_CODE_SYMBOL_INFO_VARIABLE_IS_CONST
@ HSA_CODE_SYMBOL_INFO_VARIABLE_IS_CONST
Indicates whether the variable is constant.
Definition: hsa.h:5510
HSA_AGENT_INFO_DEVICE
@ HSA_AGENT_INFO_DEVICE
Type of hardware device associated with the agent.
Definition: hsa.h:955
HSA_STATUS_ERROR_INCOMPATIBLE_ARGUMENTS
@ HSA_STATUS_ERROR_INCOMPATIBLE_ARGUMENTS
The arguments passed to a functions are not compatible.
Definition: hsa.h:187
hsa_queue_inactivate
hsa_status_t HSA_API hsa_queue_inactivate(hsa_queue_t *queue)
Inactivate a queue.
hsa_system_get_major_extension_table
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.
hsa_signal_store_release
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.
hsa_barrier_or_packet_t
struct hsa_barrier_or_packet_s hsa_barrier_or_packet_t
Barrier-OR packet.
hsa_executable_get_info
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.
HSA_AGENT_INFO_VERSION_MAJOR
@ HSA_AGENT_INFO_VERSION_MAJOR
Major version of the HSA runtime specification supported by the agent.
Definition: hsa.h:985
HSA_PACKET_TYPE_KERNEL_DISPATCH
@ HSA_PACKET_TYPE_KERNEL_DISPATCH
Packet used by agents for dispatching jobs to kernel agents.
Definition: hsa.h:2733
hsa_kernel_dispatch_packet_s::kernel_object
uint64_t kernel_object
Opaque handle to a code object that includes an implementation-defined executable code for the kernel...
Definition: hsa.h:2940
HSA_AGENT_INFO_WORKGROUP_MAX_SIZE
@ HSA_AGENT_INFO_WORKGROUP_MAX_SIZE
Definition: hsa.h:884
hsa_queue_add_write_index_acquire
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.
HSA_ISA_INFO_GRID_MAX_SIZE
@ HSA_ISA_INFO_GRID_MAX_SIZE
Maximum total number of work-items in a grid.
Definition: hsa.h:3660
hsa_queue_cas_write_index_acquire
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.
HSA_AGENT_INFO_VERSION_MINOR
@ HSA_AGENT_INFO_VERSION_MINOR
Minor version of the HSA runtime specification supported by the agent.
Definition: hsa.h:990
HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH
@ HSA_EXECUTABLE_SYMBOL_INFO_NAME_LENGTH
The length of the symbol name in bytes, not including the NUL terminator.
Definition: hsa.h:4759
HSA_SYSTEM_INFO_MACHINE_MODEL
@ HSA_SYSTEM_INFO_MACHINE_MODEL
Machine model supported by the HSA runtime.
Definition: hsa.h:470
hsa_code_object_get_info
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.
hsa_loaded_code_object_s
Loaded code object handle.
Definition: hsa.h:4189
HSA_VARIABLE_SEGMENT_GLOBAL
@ HSA_VARIABLE_SEGMENT_GLOBAL
Global memory segment.
Definition: hsa.h:4740
HSA_MACHINE_MODEL_SMALL
@ HSA_MACHINE_MODEL_SMALL
Small machine model.
Definition: hsa.h:409
hsa_code_object_serialize
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.
hsa_memory_allocate
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.
hsa_barrier_and_packet_s::header
uint16_t header
Packet header.
Definition: hsa.h:3037
hsa_signal_group_destroy
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.
HSA_EXECUTABLE_INFO_PROFILE
@ HSA_EXECUTABLE_INFO_PROFILE
Profile this executable is created for.
Definition: hsa.h:4355
HSA_SYMBOL_KIND_VARIABLE
@ HSA_SYMBOL_KIND_VARIABLE
Variable.
Definition: hsa.h:4694
HSA_STATUS_ERROR_INVALID_ISA_NAME
@ HSA_STATUS_ERROR_INVALID_ISA_NAME
The instruction set architecture name is invalid.
Definition: hsa.h:199
hsa_agent_dispatch_packet_s
Agent dispatch packet.
Definition: hsa.h:2978
HSA_CODE_OBJECT_INFO_PROFILE
@ HSA_CODE_OBJECT_INFO_PROFILE
Profile this code object is produced for.
Definition: hsa.h:5258
hsa_queue_type_t
hsa_queue_type_t
Queue type.
Definition: hsa.h:2174
hsa_signal_and_screlease
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.
HSA_REGION_INFO_RUNTIME_ALLOC_GRANULE
@ HSA_REGION_INFO_RUNTIME_ALLOC_GRANULE
Allocation granularity of buffers allocated by hsa_memory_allocate in this region.
Definition: hsa.h:3224
hsa_signal_group_s
Group of signals.
Definition: hsa.h:2015
HSA_EXTENSION_AMD_PROFILER
@ HSA_EXTENSION_AMD_PROFILER
Profiler extension.
Definition: hsa.h:533
hsa_code_object_reader_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:3973
HSA_CODE_SYMBOL_INFO_VARIABLE_ALLOCATION
@ HSA_CODE_SYMBOL_INFO_VARIABLE_ALLOCATION
The allocation kind of the variable.
Definition: hsa.h:5482
hsa_queue_s::base_address
void * base_address
Definition: hsa.h:2242
HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ALLOCATION
@ HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ALLOCATION
Definition: hsa.h:4817
hsa_kernel_dispatch_packet_s::group_segment_size
uint32_t group_segment_size
Size in bytes of group memory allocation request (per work-group).
Definition: hsa.h:2934
hsa_agent_dispatch_packet_s::header
uint16_t header
Packet header.
Definition: hsa.h:2983
hsa_queue_s::doorbell_signal
hsa_signal_t doorbell_signal
Signal object used by the application to indicate the ID of a packet that is ready to be processed.
Definition: hsa.h:2256
HSA_AGENT_INFO_PROFILE
@ HSA_AGENT_INFO_PROFILE
Definition: hsa.h:812
HSA_SYSTEM_INFO_SIGNAL_MAX_WAIT
@ HSA_SYSTEM_INFO_SIGNAL_MAX_WAIT
Maximum duration of a signal wait operation.
Definition: hsa.h:461
hsa_queue_create
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.
hsa_cache_get_info
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.
HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE
@ HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE
Definition: hsa.h:2820
HSA_EXECUTABLE_STATE_UNFROZEN
@ HSA_EXECUTABLE_STATE_UNFROZEN
Executable state, which allows the user to load code objects and define external variables.
Definition: hsa.h:4077
hsa_agent_t
struct hsa_agent_s hsa_agent_t
Struct containing an opaque handle to an agent, a device that participates in the HSA memory model.
HSA_AGENT_INFO_QUEUE_MAX_SIZE
@ HSA_AGENT_INFO_QUEUE_MAX_SIZE
Maximum number of packets that a queue created in the agent can hold.
Definition: hsa.h:938
hsa_signal_store_relaxed
void HSA_API hsa_signal_store_relaxed(hsa_signal_t signal, hsa_signal_value_t value)
Atomically set the value of a signal.
HSA_SYMBOL_LINKAGE_MODULE
@ HSA_SYMBOL_LINKAGE_MODULE
Module linkage.
Definition: hsa.h:4712
hsa_executable_iterate_symbols
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 iterati...
hsa_isa_t
struct hsa_isa_s hsa_isa_t
Instruction set architecture.
HSA_AGENT_INFO_MACHINE_MODEL
@ HSA_AGENT_INFO_MACHINE_MODEL
Definition: hsa.h:802
hsa_kernel_dispatch_packet_s::private_segment_size
uint32_t private_segment_size
Size in bytes of private memory allocation request (per work-item).
Definition: hsa.h:2926
hsa_signal_exchange_screlease
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.
hsa_memory_deregister
hsa_status_t HSA_API hsa_memory_deregister(void *ptr, size_t size)
Deregister memory previously registered using hsa_memory_register.
hsa_agent_dispatch_packet_s::completion_signal
hsa_signal_t completion_signal
Signal used to indicate completion of the job.
Definition: hsa.h:3025
HSA_EXECUTABLE_INFO_DEFAULT_FLOAT_ROUNDING_MODE
@ HSA_EXECUTABLE_INFO_DEFAULT_FLOAT_ROUNDING_MODE
Default floating-point rounding mode specified when executable was created.
Definition: hsa.h:4364
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_GROUP_SEGMENT_SIZE
Size of static group segment memory required by the kernel (per work-group), in bytes.
Definition: hsa.h:4886
HSA_SYSTEM_INFO_EXTENSIONS
@ HSA_SYSTEM_INFO_EXTENSIONS
Bit-mask indicating which extensions are supported by the implementation.
Definition: hsa.h:476
hsa_signal_add_acquire
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.
hsa_dim3_s::x
uint32_t x
X dimension.
Definition: hsa.h:296
hsa_signal_store_screlease
void HSA_API hsa_signal_store_screlease(hsa_signal_t signal, hsa_signal_value_t value)
Atomically set the value of a signal.
HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS
@ HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS
Definition: hsa.h:2861
HSA_STATUS_ERROR_INVALID_ALLOCATION
@ HSA_STATUS_ERROR_INVALID_ALLOCATION
The requested allocation is not valid.
Definition: hsa.h:144
HSA_EXECUTABLE_STATE_FROZEN
@ HSA_EXECUTABLE_STATE_FROZEN
Executable state, which allows the user to query variable addresses, kernel code handles,...
Definition: hsa.h:4084
hsa_kernel_dispatch_packet_s::workgroup_size_z
uint16_t workgroup_size_z
Z dimension of work-group, in work-items.
Definition: hsa.h:2896
hsa_endianness_t
hsa_endianness_t
Endianness.
Definition: hsa.h:390
HSA_STATUS_ERROR_REFCOUNT_OVERFLOW
@ HSA_STATUS_ERROR_REFCOUNT_OVERFLOW
The maximum reference count for the object has been reached.
Definition: hsa.h:183
hsa_code_object_reader_create_from_file
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.
HSA_EXTENSION_STD_LAST
@ HSA_EXTENSION_STD_LAST
Extension count.
Definition: hsa.h:525
HSA_AGENT_INFO_QUEUE_TYPE
@ HSA_AGENT_INFO_QUEUE_TYPE
Type of a queue created in the agent.
Definition: hsa.h:943
HSA_EXECUTABLE_SYMBOL_INFO_INDIRECT_FUNCTION_OBJECT
@ HSA_EXECUTABLE_SYMBOL_INFO_INDIRECT_FUNCTION_OBJECT
Indirect function object handle.
Definition: hsa.h:4925
hsa_executable_agent_global_variable_define
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.
hsa_kernel_dispatch_packet_s::grid_size_x
uint32_t grid_size_x
X dimension of grid, in work-items.
Definition: hsa.h:2907
HSA_CODE_SYMBOL_INFO_IS_DEFINITION
@ HSA_CODE_SYMBOL_INFO_IS_DEFINITION
Indicates whether the symbol corresponds to a definition.
Definition: hsa.h:5476
hsa_kernel_dispatch_packet_s::completion_signal
hsa_signal_t completion_signal
Signal used to indicate completion of the job.
Definition: hsa.h:2971
HSA_ISA_INFO_WORKGROUP_MAX_SIZE
@ HSA_ISA_INFO_WORKGROUP_MAX_SIZE
Maximum total number of work-items in a work-group.
Definition: hsa.h:3647
hsa_signal_silent_store_relaxed
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.
hsa_code_symbol_s
Code object symbol handle.
Definition: hsa.h:5361
HSA_EXCEPTION_POLICY_DETECT
@ HSA_EXCEPTION_POLICY_DETECT
If a hardware exception is detected, a hardware status bit is set.
Definition: hsa.h:1073
HSA_ROUND_METHOD_DOUBLE
@ HSA_ROUND_METHOD_DOUBLE
Double round method.
Definition: hsa.h:3810
HSA_STATUS_ERROR_INVALID_AGENT
@ HSA_STATUS_ERROR_INVALID_AGENT
The agent is invalid.
Definition: hsa.h:148
hsa_region_t
struct hsa_region_s hsa_region_t
A memory region represents a block of virtual memory with certain properties.
hsa_queue_store_read_index_screlease
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.
HSA_CODE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE
@ HSA_CODE_SYMBOL_INFO_KERNEL_PRIVATE_SEGMENT_SIZE
Size of static private, spill, and arg segment memory required by this kernel (per work-item),...
Definition: hsa.h:5546
HSA_PACKET_HEADER_TYPE
@ HSA_PACKET_HEADER_TYPE
Packet type.
Definition: hsa.h:2786
hsa_signal_and_relaxed
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.
hsa_callback_data_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:5096
hsa_barrier_or_packet_s::completion_signal
hsa_signal_t completion_signal
Signal used to indicate completion of the job.
Definition: hsa.h:3105
HSA_EXTENSION_IMAGES
@ HSA_EXTENSION_IMAGES
Images extension.
Definition: hsa.h:511
hsa_signal_group_wait_any_relaxed
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 condit...
HSA_AMD_LAST_EXTENSION
@ HSA_AMD_LAST_EXTENSION
Last AMD extension.
Definition: hsa.h:541
hsa_queue_cas_write_index_relaxed
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.
HSA_CODE_SYMBOL_INFO_NAME_LENGTH
@ HSA_CODE_SYMBOL_INFO_NAME_LENGTH
The length of the symbol name in bytes, not including the NUL terminator.
Definition: hsa.h:5447
HSA_REGION_INFO_RUNTIME_ALLOC_ALIGNMENT
@ HSA_REGION_INFO_RUNTIME_ALLOC_ALIGNMENT
Alignment of buffers allocated by hsa_memory_allocate in this region.
Definition: hsa.h:3231
HSA_SIGNAL_CONDITION_LT
@ HSA_SIGNAL_CONDITION_LT
The first operand is less than the second operand.
Definition: hsa.h:1922
hsa_signal_cas_screlease
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.
hsa_signal_group_wait_any_scacquire
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 condit...
HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ALIGNMENT
@ HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_ALIGNMENT
Definition: hsa.h:4835
HSA_ISA_INFO_CALL_CONVENTION_INFO_WAVEFRONT_SIZE
@ HSA_ISA_INFO_CALL_CONVENTION_INFO_WAVEFRONT_SIZE
Definition: hsa.h:3584
hsa_signal_create
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.
hsa_wavefront_t
struct hsa_wavefront_s hsa_wavefront_t
Wavefront handle.
HSA_CODE_SYMBOL_INFO_VARIABLE_ALIGNMENT
@ HSA_CODE_SYMBOL_INFO_VARIABLE_ALIGNMENT
Alignment of the symbol in memory.
Definition: hsa.h:5496
hsa_agent_s
Struct containing an opaque handle to an agent, a device that participates in the HSA memory model.
Definition: hsa.h:711
hsa_queue_load_read_index_scacquire
uint64_t HSA_API hsa_queue_load_read_index_scacquire(const hsa_queue_t *queue)
Atomically load the read index of a queue.
hsa_kernel_dispatch_packet_s::grid_size_y
uint32_t grid_size_y
Y dimension of grid, in work-items.
Definition: hsa.h:2914
hsa_signal_or_relaxed
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.
hsa_queue_store_write_index_screlease
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.
hsa_agent_info_t
hsa_agent_info_t
Agent attributes.
Definition: hsa.h:776
hsa_signal_group_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:2020
hsa_signal_exchange_acquire
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.
HSA_PACKET_TYPE_BARRIER_OR
@ HSA_PACKET_TYPE_BARRIER_OR
Packet used by agents to delay processing of subsequent packets, and to express complex dependencies ...
Definition: hsa.h:2750
hsa_signal_cas_acquire
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.
hsa_barrier_and_packet_s::reserved2
uint64_t reserved2
Reserved.
Definition: hsa.h:3059
hsa_region_global_flag_t
hsa_region_global_flag_t
Global region flags.
Definition: hsa.h:3146
hsa_region_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:2160
hsa_executable_global_variable_define
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.
hsa_wavefront_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:3854
HSA_PACKET_TYPE_VENDOR_SPECIFIC
@ HSA_PACKET_TYPE_VENDOR_SPECIFIC
Vendor-specific packet.
Definition: hsa.h:2722
hsa_kernel_dispatch_packet_s::header
uint16_t header
Packet header.
Definition: hsa.h:2872
HSA_AGENT_INFO_CACHE_SIZE
@ HSA_AGENT_INFO_CACHE_SIZE
Definition: hsa.h:964
hsa_executable_readonly_variable_define
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.
HSA_CODE_SYMBOL_INFO_INDIRECT_FUNCTION_CALL_CONVENTION
@ HSA_CODE_SYMBOL_INFO_INDIRECT_FUNCTION_CALL_CONVENTION
Call convention of the indirect function.
Definition: hsa.h:5566
hsa_signal_subtract_relaxed
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.
hsa_executable_load_program_code_object
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.
hsa_kernel_dispatch_packet_s::workgroup_size_x
uint16_t workgroup_size_x
X dimension of work-group, in work-items.
Definition: hsa.h:2884
hsa_executable_load_agent_code_object
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.
hsa_queue_store_read_index_release
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.
hsa_symbol_linkage_t
hsa_symbol_linkage_t
Linkage type of a symbol.
Definition: hsa.h:4708
hsa_packet_header_t
hsa_packet_header_t
Sub-fields of the header field that is present in any AQL packet.
Definition: hsa.h:2780
HSA_PACKET_HEADER_BARRIER
@ HSA_PACKET_HEADER_BARRIER
Barrier bit.
Definition: hsa.h:2792
hsa_executable_validate_alt
hsa_status_t HSA_API hsa_executable_validate_alt(hsa_executable_t executable, const char *options, uint32_t *result)
Validate an executable.
hsa_wavefront_info_t
hsa_wavefront_info_t
Wavefront attributes.
Definition: hsa.h:3860
HSA_STATUS_ERROR_INVALID_ARGUMENT
@ HSA_STATUS_ERROR_INVALID_ARGUMENT
One of the actual arguments does not meet a precondition stated in the documentation of the correspon...
Definition: hsa.h:136
hsa_kernel_dispatch_packet_s::kernarg_address
void * kernarg_address
Definition: hsa.h:2959
HSA_AGENT_INFO_QUEUE_MIN_SIZE
@ HSA_AGENT_INFO_QUEUE_MIN_SIZE
Minimum number of packets that a queue created in the agent can hold.
Definition: hsa.h:932
hsa_signal_or_acquire
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.
hsa_extension_get_name
hsa_status_t HSA_API hsa_extension_get_name(uint16_t extension, const char **name)
Query the name of a given extension.
hsa_executable_state_t
hsa_executable_state_t
Executable state.
Definition: hsa.h:4070
hsa_code_symbol_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:5366
HSA_CODE_OBJECT_INFO_MACHINE_MODEL
@ HSA_CODE_OBJECT_INFO_MACHINE_MODEL
Machine model this code object is produced for.
Definition: hsa.h:5253
HSA_CODE_SYMBOL_INFO_VARIABLE_SEGMENT
@ HSA_CODE_SYMBOL_INFO_VARIABLE_SEGMENT
The segment kind of the variable.
Definition: hsa.h:5488
hsa_executable_validate
hsa_status_t HSA_API hsa_executable_validate(hsa_executable_t executable, uint32_t *result)
Validate an executable.
hsa_signal_and_scacq_screl
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.
hsa_agent_iterate_regions
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 call...
name
const std::string & name()
Definition: trace.cc:50
hsa_signal_exchange_relaxed
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.
hsa_dim3_s
Three-dimensional coordinate.
Definition: hsa.h:292
HSA_QUEUE_FEATURE_AGENT_DISPATCH
@ HSA_QUEUE_FEATURE_AGENT_DISPATCH
Queue supports agent dispatch packets.
Definition: hsa.h:2205
HSA_CODE_SYMBOL_INFO_TYPE
@ HSA_CODE_SYMBOL_INFO_TYPE
The type of the symbol.
Definition: hsa.h:5442
HSA_REGION_SEGMENT_READONLY
@ HSA_REGION_SEGMENT_READONLY
Read-only segment.
Definition: hsa.h:3127
HSA_STATUS_ERROR_INVALID_CACHE
@ HSA_STATUS_ERROR_INVALID_CACHE
The cache is invalid.
Definition: hsa.h:247
hsa_isa_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:3493
hsa_queue_cas_write_index_acq_rel
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.
hsa_code_object_reader_destroy
hsa_status_t HSA_API hsa_code_object_reader_destroy(hsa_code_object_reader_t code_object_reader)
Destroy a code object reader.
hsa_barrier_and_packet_s
Barrier-AND packet.
Definition: hsa.h:3032
hsa_executable_destroy
hsa_status_t HSA_API hsa_executable_destroy(hsa_executable_t executable)
Destroy an executable.
HSA_EXECUTABLE_SYMBOL_INFO_TYPE
@ HSA_EXECUTABLE_SYMBOL_INFO_TYPE
The kind of the symbol.
Definition: hsa.h:4754
hsa_flush_mode_t
hsa_flush_mode_t
Flush to zero modes.
Definition: hsa.h:3788
HSA_AGENT_INFO_FAST_F16_OPERATION
@ HSA_AGENT_INFO_FAST_F16_OPERATION
Definition: hsa.h:848
hsa_queue_add_write_index_relaxed
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.
HSA_EXCEPTION_POLICY_BREAK
@ HSA_EXCEPTION_POLICY_BREAK
If a hardware exception is detected, a work-item signals an exception.
Definition: hsa.h:1069
HSA_STATUS_ERROR_FROZEN_EXECUTABLE
@ HSA_STATUS_ERROR_FROZEN_EXECUTABLE
The executable is frozen.
Definition: hsa.h:211
hsa_agent_dispatch_packet_s::return_address
void * return_address
Definition: hsa.h:3008
HSA_PACKET_TYPE_INVALID
@ HSA_PACKET_TYPE_INVALID
The packet has been processed in the past, but has not been reassigned to the packet processor.
Definition: hsa.h:2728
hsa_packet_type_t
hsa_packet_type_t
Packet type.
Definition: hsa.h:2718
hsa_barrier_or_packet_s::reserved1
uint32_t reserved1
Reserved.
Definition: hsa.h:3087
hsa_queue_s
User mode queue.
Definition: hsa.h:2216
HSA_ISA_INFO_GRID_MAX_DIM
@ HSA_ISA_INFO_GRID_MAX_DIM
Maximum number of work-items of each dimension of a grid.
Definition: hsa.h:3655
hsa_system_major_extension_supported
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.
hsa_memory_assign_agent
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.
HSA_CODE_SYMBOL_INFO_NAME
@ HSA_CODE_SYMBOL_INFO_NAME
The name of the symbol.
Definition: hsa.h:5453
hsa_signal_wait_relaxed
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.
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_OBJECT
Kernel object handle, used in the kernel dispatch packet.
Definition: hsa.h:4862
hsa_queue_s::reserved1
uint32_t reserved1
Reserved.
Definition: hsa.h:2265
HSA_PACKET_TYPE_AGENT_DISPATCH
@ HSA_PACKET_TYPE_AGENT_DISPATCH
Packet used by agents for dispatching jobs to agents.
Definition: hsa.h:2744
hsa_queue_type32_t
uint32_t hsa_queue_type32_t
A fixed-size type used to represent hsa_queue_type_t constants.
Definition: hsa.h:2191
hsa_isa_info_t
hsa_isa_info_t
Instruction set architecture attributes.
Definition: hsa.h:3560
hsa_executable_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:4064
hsa_code_object_get_symbol
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.
HSA_SYMBOL_KIND_KERNEL
@ HSA_SYMBOL_KIND_KERNEL
Kernel.
Definition: hsa.h:4698
hsa_executable_symbol_get_info
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.
hsa_signal_add_release
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.
HSA_AGENT_INFO_WORKGROUP_MAX_DIM
@ HSA_AGENT_INFO_WORKGROUP_MAX_DIM
Definition: hsa.h:873
hsa_executable_get_symbol_by_name
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.
hsa_queue_store_write_index_release
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.
HSA_CACHE_INFO_LEVEL
@ HSA_CACHE_INFO_LEVEL
Cache level.
Definition: hsa.h:1138
hsa_barrier_and_packet_t
struct hsa_barrier_and_packet_s hsa_barrier_and_packet_t
Barrier-AND packet.
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_SIZE
Size of kernarg segment memory that is required to hold the values of the kernel arguments,...
Definition: hsa.h:4869
HSA_REGION_INFO_ALLOC_MAX_PRIVATE_WORKGROUP_SIZE
@ HSA_REGION_INFO_ALLOC_MAX_PRIVATE_WORKGROUP_SIZE
Maximum size (per work-group) of private memory that can be requested for a specific kernel dispatch.
Definition: hsa.h:3208
hsa_signal_subtract_acq_rel
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.
hsa_memory_copy
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.
HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT
@ HSA_DEFAULT_FLOAT_ROUNDING_MODE_DEFAULT
Use a default floating-point rounding mode specified elsewhere.
Definition: hsa.h:759
hsa_code_object_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:5083
hsa_code_object_iterate_symbols
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 iterat...
HSA_PACKET_HEADER_WIDTH_BARRIER
@ HSA_PACKET_HEADER_WIDTH_BARRIER
Definition: hsa.h:2828
HSA_FLUSH_MODE_NON_FTZ
@ HSA_FLUSH_MODE_NON_FTZ
Do not flush to zero.
Definition: hsa.h:3796
hsa_signal_subtract_acquire
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.
hsa_executable_create
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.
HSA_EXECUTABLE_SYMBOL_INFO_AGENT
@ HSA_EXECUTABLE_SYMBOL_INFO_AGENT
Definition: hsa.h:4791
hsa_queue_load_write_index_scacquire
uint64_t HSA_API hsa_queue_load_write_index_scacquire(const hsa_queue_t *queue)
Atomically load the write index of a queue.
HSA_ROUND_METHOD_SINGLE
@ HSA_ROUND_METHOD_SINGLE
Single round method.
Definition: hsa.h:3806
hsa_signal_subtract_scacq_screl
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.
HSA_CACHE_INFO_NAME_LENGTH
@ HSA_CACHE_INFO_NAME_LENGTH
The length of the cache name in bytes, not including the NUL terminator.
Definition: hsa.h:1127
hsa_executable_load_code_object
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.
HSA_PROFILE_BASE
@ HSA_PROFILE_BASE
Base profile.
Definition: hsa.h:426
HSA_ISA_INFO_CALL_CONVENTION_COUNT
@ HSA_ISA_INFO_CALL_CONVENTION_COUNT
Definition: hsa.h:3577
HSA_CODE_SYMBOL_INFO_LINKAGE
@ HSA_CODE_SYMBOL_INFO_LINKAGE
The linkage kind of the symbol.
Definition: hsa.h:5471
HSA_STATUS_ERROR_INVALID_WAVEFRONT
@ HSA_STATUS_ERROR_INVALID_WAVEFRONT
The wavefront is invalid.
Definition: hsa.h:251
HSA_FENCE_SCOPE_AGENT
@ HSA_FENCE_SCOPE_AGENT
The fence is applied with agent scope for the global segment.
Definition: hsa.h:2765
hsa_kernel_dispatch_packet_s::setup
uint16_t setup
Dispatch setup parameters.
Definition: hsa.h:2879
hsa_agent_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:716
HSA_CODE_OBJECT_INFO_TYPE
@ HSA_CODE_OBJECT_INFO_TYPE
Type of code object.
Definition: hsa.h:5243
hsa_kernel_dispatch_packet_t
struct hsa_kernel_dispatch_packet_s hsa_kernel_dispatch_packet_t
AQL kernel dispatch packet.
hsa_signal_and_release
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.
HSA_EXECUTABLE_SYMBOL_INFO_LINKAGE
@ HSA_EXECUTABLE_SYMBOL_INFO_LINKAGE
The linkage kind of the symbol.
Definition: hsa.h:4804
HSA_PACKET_HEADER_WIDTH_RELEASE_FENCE_SCOPE
@ HSA_PACKET_HEADER_WIDTH_RELEASE_FENCE_SCOPE
Definition: hsa.h:2838
hsa_signal_destroy
hsa_status_t HSA_API hsa_signal_destroy(hsa_signal_t signal)
Destroy a signal previous created by hsa_signal_create.
hsa_barrier_or_packet_s::header
uint16_t header
Packet header.
Definition: hsa.h:3077
hsa_variable_segment_t
hsa_variable_segment_t
Memory segment associated with a variable.
Definition: hsa.h:4736
hsa_device_type_t
hsa_device_type_t
Hardware device type.
Definition: hsa.h:737
hsa_kernel_dispatch_packet_s::workgroup_size_y
uint16_t workgroup_size_y
Y dimension of work-group, in work-items.
Definition: hsa.h:2890
HSA_AGENT_FEATURE_AGENT_DISPATCH
@ HSA_AGENT_FEATURE_AGENT_DISPATCH
The agent supports AQL packets of agent dispatch type.
Definition: hsa.h:731
HSA_REGION_SEGMENT_KERNARG
@ HSA_REGION_SEGMENT_KERNARG
Kernarg segment.
Definition: hsa.h:3140
HSA_CODE_SYMBOL_INFO_KERNEL_CALL_CONVENTION
@ HSA_CODE_SYMBOL_INFO_KERNEL_CALL_CONVENTION
Call convention of the kernel.
Definition: hsa.h:5560
HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY
@ HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY
Timestamp value increase rate, in Hz.
Definition: hsa.h:456
HSA_STATUS_INFO_BREAK
@ HSA_STATUS_INFO_BREAK
A traversal over a list of elements has been interrupted by the application before completing.
Definition: hsa.h:127
HSA_AGENT_INFO_BASE_PROFILE_DEFAULT_FLOAT_ROUNDING_MODES
@ HSA_AGENT_INFO_BASE_PROFILE_DEFAULT_FLOAT_ROUNDING_MODES
Definition: hsa.h:836
hsa_code_object_t
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 ind...
HSA_SYSTEM_INFO_ENDIANNESS
@ HSA_SYSTEM_INFO_ENDIANNESS
Endianness of the system.
Definition: hsa.h:465
hsa_signal_subtract_release
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.
hsa_code_object_reader_t
struct hsa_code_object_reader_s hsa_code_object_reader_t
Code object reader handle.
HSA_ISA_INFO_PROFILES
@ HSA_ISA_INFO_PROFILES
Profiles supported by the instruction set architecture.
Definition: hsa.h:3607
HSA_DEVICE_TYPE_GPU
@ HSA_DEVICE_TYPE_GPU
GPU device.
Definition: hsa.h:745
HSA_AGENT_INFO_GRID_MAX_SIZE
@ HSA_AGENT_INFO_GRID_MAX_SIZE
Definition: hsa.h:907
HSA_ISA_INFO_BASE_PROFILE_DEFAULT_FLOAT_ROUNDING_MODES
@ HSA_ISA_INFO_BASE_PROFILE_DEFAULT_FLOAT_ROUNDING_MODES
Default floating-point rounding modes supported by the instruction set architecture in the Base profi...
Definition: hsa.h:3629
hsa_queue_s::reserved0
uint32_t reserved0
Definition: hsa.h:2241
hsa_signal_exchange_scacquire
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.
hsa_executable_create_alt
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.
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_CALL_CONVENTION
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_CALL_CONVENTION
Definition: hsa.h:4914
hsa_isa_iterate_wavefronts
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,...
hsa_queue_s::features
uint32_t features
Queue features mask.
Definition: hsa.h:2226
hsa_executable_info_t
hsa_executable_info_t
Executable attributes.
Definition: hsa.h:4350
hsa_signal_or_scacquire
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.
HSA_ACCESS_PERMISSION_RW
@ HSA_ACCESS_PERMISSION_RW
Read and write access.
Definition: hsa.h:324
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_DYNAMIC_CALLSTACK
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_DYNAMIC_CALLSTACK
Dynamic callstack flag.
Definition: hsa.h:4907
hsa_system_get_extension_table
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.
HSA_STATUS_ERROR_INVALID_QUEUE_CREATION
@ HSA_STATUS_ERROR_INVALID_QUEUE_CREATION
The requested queue creation is not valid.
Definition: hsa.h:140
hsa_signal_add_relaxed
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.
hsa_signal_and_scacquire
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.
hsa_signal_t
struct hsa_signal_s hsa_signal_t
Signal handle.
HSA_REGION_GLOBAL_FLAG_FINE_GRAINED
@ HSA_REGION_GLOBAL_FLAG_FINE_GRAINED
Updates to memory in this region are immediately visible to all the agents under the terms of the HSA...
Definition: hsa.h:3158
HSA_STATUS_SUCCESS
@ HSA_STATUS_SUCCESS
The function has been executed successfully.
Definition: hsa.h:122
HSA_AGENT_INFO_ISA
@ HSA_AGENT_INFO_ISA
Definition: hsa.h:974
HSA_EXTENSION_PROFILING_EVENTS
@ HSA_EXTENSION_PROFILING_EVENTS
Profiling events extension.
Definition: hsa.h:521
HSA_PACKET_TYPE_BARRIER_AND
@ HSA_PACKET_TYPE_BARRIER_AND
Packet used by agents to delay processing of subsequent packets, and to express complex dependencies ...
Definition: hsa.h:2739
hsa_executable_iterate_program_symbols
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 cal...
HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE
@ HSA_PACKET_HEADER_WIDTH_SCRELEASE_FENCE_SCOPE
Definition: hsa.h:2834
hsa_status_string
hsa_status_t HSA_API hsa_status_string(hsa_status_t status, const char **status_string)
Query additional information about a status code.
hsa_barrier_or_packet_s::reserved0
uint16_t reserved0
Reserved.
Definition: hsa.h:3082
hsa_signal_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:1292
HSA_AGENT_INFO_VENDOR_NAME
@ HSA_AGENT_INFO_VENDOR_NAME
Name of vendor.
Definition: hsa.h:788
hsa_dim3_s::z
uint32_t z
Z dimension.
Definition: hsa.h:306
hsa_memory_free
hsa_status_t HSA_API hsa_memory_free(void *ptr)
Deallocate a block of memory previously allocated using hsa_memory_allocate.
hsa_isa_get_info
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).
hsa_soft_queue_create
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.
hsa_isa_get_round_method
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 instru...
hsa_signal_xor_scacq_screl
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.
hsa_queue_add_write_index_scacquire
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.
HSA_STATUS_ERROR_NOT_INITIALIZED
@ HSA_STATUS_ERROR_NOT_INITIALIZED
An API other than hsa_init has been invoked while the reference count of the HSA runtime is 0.
Definition: hsa.h:179
hsa_cache_info_t
hsa_cache_info_t
Cache attributes.
Definition: hsa.h:1122
hsa_queue_cas_write_index_screlease
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.
HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_ALIGNMENT
@ HSA_EXECUTABLE_SYMBOL_INFO_KERNEL_KERNARG_SEGMENT_ALIGNMENT
Alignment (in bytes) of the buffer used to pass arguments to the kernel, which is the maximum of 16 a...
Definition: hsa.h:4876
hsa_code_object_destroy
hsa_status_t HSA_API HSA_DEPRECATED hsa_code_object_destroy(hsa_code_object_t code_object)
Destroy a code object.
hsa_agent_major_extension_supported
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.
hsa_signal_or_acq_rel
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.
hsa_signal_group_create
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.
HSA_AGENT_INFO_FBARRIER_MAX_SIZE
@ HSA_AGENT_INFO_FBARRIER_MAX_SIZE
Definition: hsa.h:918
hsa_fence_scope_t
hsa_fence_scope_t
Scope of the memory fence operation associated with a packet.
Definition: hsa.h:2756
hsa_barrier_or_packet_s
Barrier-OR packet.
Definition: hsa.h:3072
hsa_signal_xor_relaxed
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.
HSA_DEFAULT_FLOAT_ROUNDING_MODE_ZERO
@ HSA_DEFAULT_FLOAT_ROUNDING_MODE_ZERO
Operations that specify the default floating-point mode are rounded to zero by default.
Definition: hsa.h:764
hsa_system_get_info
hsa_status_t HSA_API hsa_system_get_info(hsa_system_info_t attribute, void *value)
Get the current value of a system attribute.
HSA_CODE_SYMBOL_INFO_KERNEL_DYNAMIC_CALLSTACK
@ HSA_CODE_SYMBOL_INFO_KERNEL_DYNAMIC_CALLSTACK
Dynamic callstack flag.
Definition: hsa.h:5555
hsa_queue_load_write_index_relaxed
uint64_t HSA_API hsa_queue_load_write_index_relaxed(const hsa_queue_t *queue)
Atomically load the write index of a queue.
hsa_signal_and_acquire
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.
HSA_MACHINE_MODEL_LARGE
@ HSA_MACHINE_MODEL_LARGE
Large machine model.
Definition: hsa.h:413
hsa_loaded_code_object_s::handle
uint64_t handle
Opaque handle.
Definition: hsa.h:4194
hsa_signal_add_scacquire
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.
HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE
@ HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE
Definition: hsa.h:2806
HSA_REGION_SEGMENT_GLOBAL
@ HSA_REGION_SEGMENT_GLOBAL
Global segment.
Definition: hsa.h:3122
hsa_barrier_or_packet_s::dep_signal
hsa_signal_t dep_signal[5]
Array of dependent signal objects.
Definition: hsa.h:3094
HSA_SIGNAL_CONDITION_GTE
@ HSA_SIGNAL_CONDITION_GTE
The first operand is greater than or equal to the second operand.
Definition: hsa.h:1926
hsa_signal_s
Signal handle.
Definition: hsa.h:1287
hsa_variable_allocation_t
hsa_variable_allocation_t
Allocation type of a variable.
Definition: hsa.h:4722
HSA_CODE_OBJECT_INFO_VERSION
@ HSA_CODE_OBJECT_INFO_VERSION
The version of the code object.
Definition: hsa.h:5238
HSA_SIGNAL_CONDITION_EQ
@ HSA_SIGNAL_CONDITION_EQ
The two operands are equal.
Definition: hsa.h:1914
HSA_API
#define HSA_API
Definition: hsa.h:71
HSA_QUEUE_TYPE_SINGLE
@ HSA_QUEUE_TYPE_SINGLE
Queue only supports a single producer.
Definition: hsa.h:2185
hsa_isa_get_exception_policies
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 pro...
hsa_queue_load_read_index_relaxed
uint64_t HSA_API hsa_queue_load_read_index_relaxed(const hsa_queue_t *queue)
Atomically load the read index of a queue.
hsa_region_get_info
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.
hsa_signal_xor_release
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.
HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_IS_CONST
@ HSA_EXECUTABLE_SYMBOL_INFO_VARIABLE_IS_CONST
Definition: hsa.h:4853
HSA_CODE_SYMBOL_INFO_VARIABLE_SIZE
@ HSA_CODE_SYMBOL_INFO_VARIABLE_SIZE
Size of the variable.
Definition: hsa.h:5504
hsa_packet_header_width_t
hsa_packet_header_width_t
Width (in bits) of the sub-fields in hsa_packet_header_t.
Definition: hsa.h:2826
HSA_STATUS_ERROR_INVALID_EXECUTABLE_SYMBOL
@ HSA_STATUS_ERROR_INVALID_EXECUTABLE_SYMBOL
The executable symbol is invalid.
Definition: hsa.h:235
hsa_signal_condition_t
hsa_signal_condition_t
Wait condition operator.
Definition: hsa.h:1910
HSA_REGION_SEGMENT_PRIVATE
@ HSA_REGION_SEGMENT_PRIVATE
Private segment.
Definition: hsa.h:3131
HSA_ENDIANNESS_LITTLE
@ HSA_ENDIANNESS_LITTLE
The least significant byte is stored in the smallest address.
Definition: hsa.h:394
hsa_machine_model_t
hsa_machine_model_t
Machine model.
Definition: hsa.h:405
hsa_kernel_dispatch_packet_s::reserved1
uint32_t reserved1
Definition: hsa.h:2958
hsa_signal_xor_scacquire
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.
HSA_SYSTEM_INFO_VERSION_MINOR
@ HSA_SYSTEM_INFO_VERSION_MINOR
Minor version of the HSA runtime specification supported by the implementation.
Definition: hsa.h:446
HSA_ISA_INFO_CALL_CONVENTION_INFO_WAVEFRONTS_PER_COMPUTE_UNIT
@ HSA_ISA_INFO_CALL_CONVENTION_INFO_WAVEFRONTS_PER_COMPUTE_UNIT
Definition: hsa.h:3593
hsa_system_extension_supported
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.
hsa_signal_exchange_release
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.
HSA_QUEUE_FEATURE_KERNEL_DISPATCH
@ HSA_QUEUE_FEATURE_KERNEL_DISPATCH
Queue supports kernel dispatch packets.
Definition: hsa.h:2200
HSA_WAIT_STATE_BLOCKED
@ HSA_WAIT_STATE_BLOCKED
The application thread may be rescheduled while waiting on the signal.
Definition: hsa.h:1936
hsa_agent_feature_t
hsa_agent_feature_t
Agent features.
Definition: hsa.h:722
expected
std::vector< SwitchingFiber * > expected({ &a, &b, &a, &a, &a, &b, &c, &a, &c, &c, &c })
HSA_EXTENSION_PERFORMANCE_COUNTERS
@ HSA_EXTENSION_PERFORMANCE_COUNTERS
Performance counter extension.
Definition: hsa.h:516
ArmISA::mask
Bitfield< 28, 24 > mask
Definition: miscregs_types.hh:711
hsa_queue_store_read_index_relaxed
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.
hsa_shut_down
hsa_status_t HSA_API hsa_shut_down()
Shut down the HSA runtime.
HSA_AGENT_INFO_FEATURE
@ HSA_AGENT_INFO_FEATURE
Agent capability.
Definition: hsa.h:792
hsa_signal_or_scacq_screl
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.
HSA_STATUS_ERROR_INVALID_INDEX
@ HSA_STATUS_ERROR_INVALID_INDEX
The index is invalid.
Definition: hsa.h:191
HSA_DEFAULT_FLOAT_ROUNDING_MODE_NEAR
@ HSA_DEFAULT_FLOAT_ROUNDING_MODE_NEAR
Operations that specify the default floating-point mode are rounded to the nearest representable numb...
Definition: hsa.h:770
HSA_AGENT_INFO_GRID_MAX_DIM
@ HSA_AGENT_INFO_GRID_MAX_DIM
Definition: hsa.h:896
hsa_executable_symbol_s
Executable symbol handle.
Definition: hsa.h:4601
hsa_agent_iterate_isas
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 cal...
HSA_QUEUE_TYPE_MULTI
@ HSA_QUEUE_TYPE_MULTI
Queue supports multiple producers.
Definition: hsa.h:2178
HSA_REGION_INFO_RUNTIME_ALLOC_ALLOWED
@ HSA_REGION_INFO_RUNTIME_ALLOC_ALLOWED
Indicates whether memory in this region can be allocated using hsa_memory_allocate.
Definition: hsa.h:3216
HSA_SYMBOL_KIND_INDIRECT_FUNCTION
@ HSA_SYMBOL_KIND_INDIRECT_FUNCTION
Indirect function.
Definition: hsa.h:4702
hsa_barrier_and_packet_s::reserved0
uint16_t reserved0
Reserved.
Definition: hsa.h:3042
hsa_callback_data_s
Application data handle that is passed to the serialization and deserialization functions.
Definition: hsa.h:5092
HSA_EXECUTABLE_SYMBOL_INFO_MODULE_NAME
@ HSA_EXECUTABLE_SYMBOL_INFO_MODULE_NAME
Definition: hsa.h:4782
HSA_PROFILE_FULL
@ HSA_PROFILE_FULL
Full profile.
Definition: hsa.h:430

Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17