99#ifndef LLVM_CLANG_BASIC_CUDA_H
1010#define LLVM_CLANG_BASIC_CUDA_H
1111
12+ #include " clang/Basic/OffloadArch.h"
13+
1214namespace llvm {
1315class StringRef ;
1416class Twine ;
@@ -54,98 +56,6 @@ const char *CudaVersionToString(CudaVersion V);
5456// Input is "Major.Minor"
5557CudaVersion CudaStringToVersion (const llvm::Twine &S);
5658
57- enum class OffloadArch {
58- UNUSED,
59- UNKNOWN,
60- // TODO: Deprecate and remove GPU architectures older than sm_52.
61- SM_20,
62- SM_21,
63- SM_30,
64- // This has a name conflict with sys/mac.h on AIX, rename it as a workaround.
65- SM_32_,
66- SM_35,
67- SM_37,
68- SM_50,
69- SM_52,
70- SM_53,
71- SM_60,
72- SM_61,
73- SM_62,
74- SM_70,
75- SM_72,
76- SM_75,
77- SM_80,
78- SM_86,
79- SM_87,
80- SM_89,
81- SM_90,
82- SM_90a,
83- SM_100,
84- SM_100a,
85- SM_101,
86- SM_101a,
87- SM_120,
88- SM_120a,
89- GFX600,
90- GFX601,
91- GFX602,
92- GFX700,
93- GFX701,
94- GFX702,
95- GFX703,
96- GFX704,
97- GFX705,
98- GFX801,
99- GFX802,
100- GFX803,
101- GFX805,
102- GFX810,
103- GFX9_GENERIC,
104- GFX900,
105- GFX902,
106- GFX904,
107- GFX906,
108- GFX908,
109- GFX909,
110- GFX90a,
111- GFX90c,
112- GFX9_4_GENERIC,
113- GFX942,
114- GFX950,
115- GFX10_1_GENERIC,
116- GFX1010,
117- GFX1011,
118- GFX1012,
119- GFX1013,
120- GFX10_3_GENERIC,
121- GFX1030,
122- GFX1031,
123- GFX1032,
124- GFX1033,
125- GFX1034,
126- GFX1035,
127- GFX1036,
128- GFX11_GENERIC,
129- GFX1100,
130- GFX1101,
131- GFX1102,
132- GFX1103,
133- GFX1150,
134- GFX1151,
135- GFX1152,
136- GFX1153,
137- GFX12_GENERIC,
138- GFX1200,
139- GFX1201,
140- AMDGCNSPIRV,
141- Generic, // A processor model named 'generic' if the target backend defines a
142- // public one.
143- LAST,
144-
145- CudaDefault = OffloadArch::SM_52,
146- HIPDefault = OffloadArch::GFX906,
147- };
148-
14959enum class CUDAFunctionTarget {
15060 Device,
15161 Global,
@@ -154,21 +64,6 @@ enum class CUDAFunctionTarget {
15464 InvalidTarget
15565};
15666
157- static inline bool IsNVIDIAOffloadArch (OffloadArch A) {
158- return A >= OffloadArch::SM_20 && A < OffloadArch::GFX600;
159- }
160-
161- static inline bool IsAMDOffloadArch (OffloadArch A) {
162- // Generic processor model is for testing only.
163- return A >= OffloadArch::GFX600 && A < OffloadArch::Generic;
164- }
165-
166- const char *OffloadArchToString (OffloadArch A);
167- const char *OffloadArchToVirtualArchString (OffloadArch A);
168-
169- // The input should have the form "sm_20".
170- OffloadArch StringToOffloadArch (llvm::StringRef S);
171-
17267// / Get the earliest CudaVersion that supports the given OffloadArch.
17368CudaVersion MinVersionForOffloadArch (OffloadArch A);
17469
0 commit comments