alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
HipConfig.hpp
Go to the documentation of this file.
1
/* Copyright 2025 René Widera
2
* SPDX-License-Identifier: MPL-2.0
3
*/
4
5
#pragma once
6
7
#include "
alpaka/core/PP.hpp
"
8
9
// We can not use ALPAKA_LANG_HIP because this file is required by core/config.hpp where ALPAKA_LANG_HIP is defined.
10
#if defined(__HIP__)
11
12
# include <hip/hip_version.h>
13
14
// version numbers are only defined on the device side
15
# if !defined(ALPAKA_AMDGPU_ARCH) && defined(__HIP__) && defined(__HIP_DEVICE_COMPILE__) \
16
&& __HIP_DEVICE_COMPILE__ == 1
17
18
/* Map AMDGPU arch macro -> ALPAKA_VRRPP_TO_VERSION(wrapped code)
19
* Rules:
20
* - gfx9xy (numeric): 9xy -> 90x0y (e.g., 908->90008, 906->90006, 942->90402)
21
* - gfx10xy / gfx11xy: stxy -> st0x0y (e.g., 1036->100306, 1103->110003)
22
* - Suffix: a == 10 (90a->90010), b == 11, c == 12
23
*
24
* An overview of AMD GPU architectures can be found here:
25
* https://llvm.org/docs/AMDGPUUsage.html#processors
26
*/
27
28
# if defined(__gfx1310__)
29
/* RDNA 5 dGPU (TBA) */
30
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(130100)
31
# elif defined(__gfx13_generic__)
32
/* RDNA 5 generic target */
33
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(130000)
34
35
# elif defined(__gfx1251__)
36
/* RDNA 4 APU (TBA) */
37
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120501)
38
# elif defined(__gfx1250__)
39
/* RDNA 4 APU (TBA) */
40
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120500)
41
# elif defined(__gfx12_5_generic__)
42
/* RDNA 4.5 generic target */
43
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120500)
44
45
# elif defined(__gfx1201__)
46
/* RDNA 4 dGPU (RX 9070 / 9070 XT / 9070 GRE) */
47
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120001)
48
# elif defined(__gfx1200__)
49
/* RDNA 4 dGPU (RX 9060 / 9060 XT) */
50
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120000)
51
# elif defined(__gfx12_generic__)
52
/* RDNA 4 generic target */
53
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120000)
54
55
# elif defined(__gfx1172__)
56
/* RDNA 4m APU (TBA) */
57
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110702)
58
# elif defined(__gfx1171__)
59
/* RDNA 4m APU (TBA) */
60
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110701)
61
# elif defined(__gfx1170__)
62
/* RDNA 4m APU (TBA) */
63
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110700)
64
# elif defined(__gfx11_7_generic__)
65
/* RDNA 4m generic target */
66
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110700)
67
68
# elif defined(__gfx1154__)
69
/* RDNA 3.5 iGPU (TBA) */
70
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110504)
71
# elif defined(__gfx1153__)
72
/* RDNA 3.5 iGPU (Medusa Point / Strix Halo successor) */
73
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110503)
74
# elif defined(__gfx1152__)
75
/* RDNA 3.5 iGPU (Krackan Point) */
76
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110502)
77
# elif defined(__gfx1151__)
78
/* RDNA 3.5 iGPU (Strix Halo) */
79
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110501)
80
# elif defined(__gfx1150__)
81
/* RDNA 3.5 iGPU (Radeon 890M on Strix Point) */
82
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110500)
83
84
# elif defined(__gfx1103__)
85
/* RDNA 3 APU (Radeon 780M, 760M, ROG Ally Extreme) */
86
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110003)
87
# elif defined(__gfx1102__)
88
/* RDNA 3 Desktop (RX 7600 / 7600 XT) */
89
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110002)
90
# elif defined(__gfx1101__)
91
/* RDNA 3 Desktop (RX 7700 / 7700 XT, Pro W7700 / V710) */
92
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110001)
93
# elif defined(__gfx1100__)
94
/* RDNA 3 Desktop (RX 7900 XT, XTX, Pro W7900) */
95
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110000)
96
# elif defined(__gfx11_generic__)
97
/* RDNA 3.x generic target */
98
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110000)
99
100
# elif defined(__gfx1036__)
101
/* RDNA 2 APU (Radeon Graphics 128-SP iGPU) */
102
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100306)
103
# elif defined(__gfx1035__)
104
/* RDNA 2 APU (Radeon 660M, 680M) */
105
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100305)
106
# elif defined(__gfx1034__)
107
/* RDNA 2 Mobile (Pro W6300/W6400, RX 6400-6500) */
108
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100304)
109
# elif defined(__gfx1033__)
110
/* RDNA 2 APU (Steam Deck) */
111
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100303)
112
# elif defined(__gfx1032__)
113
/* RDNA 2 Desktop (RX 6600 XT, 6650 XT/S, 6700S) */
114
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100302)
115
# elif defined(__gfx1031__)
116
/* RDNA 2 Desktop (RX 6700 series, 6750/6850M XT) */
117
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100301)
118
# elif defined(__gfx1030__)
119
/* RDNA 2 Desktop (RX 6800 / 6900 XT, Pro W6800) */
120
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100300)
121
# elif defined(__gfx10_3_generic__)
122
/* RDNA 2.x generic target */
123
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100300)
124
125
# elif defined(__gfx1013__)
126
/* RDNA 1 Mobile (RX 5300M / 5500M) */
127
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100103)
128
# elif defined(__gfx1012__)
129
/* RDNA 1 Desktop (RX 5500 / 5500 XT) */
130
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100102)
131
# elif defined(__gfx1011__)
132
/* RDNA 1 Desktop (Pro V520) */
133
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100101)
134
# elif defined(__gfx1010__)
135
/* RDNA 1 Desktop (RX 5700 / 5700 XT, Pro 5600 XT/M) */
136
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100100)
137
# elif defined(__gfx10_1_generic__)
138
/* RDNA 1.x generic target */
139
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100100)
140
141
# elif defined(__gfx950__)
142
/* CDNA 4 (Instinct MI350 series: MI350P/MI350X/MI355X) */
143
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90500)
144
# elif defined(__gfx942__)
145
/* CDNA 3 (Instinct MI300 series: MI300/MI300A/MI300X) */
146
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90402)
147
# elif defined(__gfx941__)
148
/* CDNA 2/3 (Instinct MI210) */
149
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90401)
150
# elif defined(__gfx940__)
151
/* CDNA 2 (Instinct MI200) */
152
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90400)
153
# elif defined(__gfx9_4_generic__)
154
/* CDNA 3.x generic target */
155
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90400)
156
157
# elif defined(__gfx90c__)
158
/* CDNA 1 (Renoir APUs), c -> 12 */
159
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90012)
160
# elif defined(__gfx90b__)
161
/* (If present) b -> 11 */
162
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90011)
163
# elif defined(__gfx90a__)
164
/* CDNA 2 (Instinct MI250 / MI250X), a -> 10 */
165
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90010)
166
# elif defined(__gfx908__)
167
/* CDNA 1 (Instinct MI100) */
168
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90008)
169
# elif defined(__gfx906__)
170
/* Vega 20 (Radeon VII, Instinct MI50/60) */
171
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90006)
172
# elif defined(__gfx900__)
173
/* Vega 10 (Radeon Pro Vega, Instinct MI25) */
174
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90000)
175
# elif defined(__gfx9_generic__)
176
/* GCN 5 generic target (Vega 10, Vega 20, ...) */
177
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90000)
178
179
# else
180
# error \
181
"Unknown AMDGPU architecture, please define __gfxXXX__ macro for your target. Until alpaka is updated you can define the macro ALPAKA_AMDGPU_ARCH to avoid this error."
182
# define ALPAKA_AMDGPU_ARCH ALPAKA_VERSION_NUMBER_NOT_AVAILABLE
183
# endif
184
185
# endif
186
#endif
PP.hpp
include
alpaka
core
HipConfig.hpp
Generated on Tue Sep 22 2026 12:51:57 for alpaka by
1.12.0