alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
include
alpaka
core
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 == 11
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(__gfx1251__)
29
/* RDNA 4 APU variant */
30
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120501)
31
# elif defined(__gfx1250__)
32
/* RDNA 4 APU (APU) */
33
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120500)
34
# elif defined(__gfx1201__)
35
/* RDNA 4 dGPU (RX 9070 / RX 9070 GRE / 9070 XT) */
36
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120001)
37
# elif defined(__gfx1200__)
38
/* RDNA 4 dGPU (RX 9060 / RX 9060 XT) */
39
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(120000)
40
41
# elif defined(__gfx1153__)
42
/* RDNA 3.5 iGPU (Medusa Point / Strix Halo successor) */
43
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110503)
44
# elif defined(__gfx1152__)
45
/* RDNA 3.5 iGPU (Krackan Point) */
46
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110502)
47
# elif defined(__gfx1151__)
48
/* RDNA 3.5 iGPU (Strix Halo) */
49
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110501)
50
# elif defined(__gfx1150__)
51
/* RDNA 3.5 iGPU (Radeon 890M on Strix Point) */
52
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110500)
53
54
# elif defined(__gfx1103__)
55
/* RDNA 3 APU (Radeon 780M, 760M, ROG Ally Extreme) */
56
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110003)
57
# elif defined(__gfx1102__)
58
/* RDNA 3 Desktop (RX 7600 / 7600 XT) */
59
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110002)
60
# elif defined(__gfx1101__)
61
/* RDNA 3 Desktop (RX 7700 / 7700 XT, Pro W7700 / V710) */
62
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110001)
63
# elif defined(__gfx1100__)
64
/* RDNA 3 Desktop (RX 7900 XT, XTX, Pro W7900) */
65
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(110000)
66
67
# elif defined(__gfx1036__)
68
/* RDNA 2 APU (Radeon Graphics 128-SP iGPU) */
69
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100306)
70
# elif defined(__gfx1035__)
71
/* RDNA 2 APU (Radeon 660M, 680M) */
72
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100305)
73
# elif defined(__gfx1034__)
74
/* RDNA 2 Mobile (Pro W6300/W6400, RX 6400-6500) */
75
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100304)
76
# elif defined(__gfx1033__)
77
/* RDNA 2 APU (Steam Deck) */
78
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100303)
79
# elif defined(__gfx1032__)
80
/* RDNA 2 Desktop (RX 6600 XT, 6650 XT/S, 6700S) */
81
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100302)
82
# elif defined(__gfx1031__)
83
/* RDNA 2 Desktop (RX 6700 series, 6750/6850M XT) */
84
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100301)
85
# elif defined(__gfx1030__)
86
/* RDNA 2 Desktop (RX 6800 / 6900 XT, Pro W6800) */
87
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100300)
88
89
# elif defined(__gfx1013__)
90
/* RDNA 1 Mobile (RX 5300M / 5500M) */
91
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100103)
92
# elif defined(__gfx1012__)
93
/* RDNA 1 Desktop (RX 5500 / 5500 XT) */
94
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100102)
95
# elif defined(__gfx1011__)
96
/* RDNA 1 Desktop (Pro V520) */
97
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100101)
98
# elif defined(__gfx1010__)
99
/* RDNA 1 Desktop (RX 5700 / 5700 XT, Pro 5600 XT/M) */
100
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(100100)
101
102
# elif defined(__gfx942__)
103
/* CDNA 3 (Instinct MI300 series: MI300/MI300A/MI300X) */
104
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90402)
105
# elif defined(__gfx941__)
106
/* CDNA 2/3 (Instinct MI210) */
107
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90401)
108
# elif defined(__gfx940__)
109
/* CDNA 2 (Instinct MI200) */
110
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90400)
111
112
# elif defined(__gfx90c__)
113
/* CDNA 1 (Renoir APUs), c -> 12 */
114
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90012)
115
# elif defined(__gfx90b__)
116
/* (If present) b -> 11 */
117
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90011)
118
# elif defined(__gfx90a__)
119
/* CDNA 2 (Instinct MI250 / MI250X), a -> 10 */
120
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90010)
121
# elif defined(__gfx908__)
122
/* CDNA 1 (Instinct MI100) */
123
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90008)
124
# elif defined(__gfx906__)
125
/* Vega 20 (Radeon VII, Instinct MI50/60) */
126
# define ALPAKA_AMDGPU_ARCH ALPAKA_VRRPP_TO_VERSION(90006)
127
128
# else
129
# warning \
130
"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 warning."
131
# define ALPAKA_AMDGPU_ARCH ALPAKA_VERSION_NUMBER_UNKNOWN
132
# endif
133
134
# endif
135
#endif
PP.hpp
Generated on
for alpaka by
1.16.1