[clang] [CUDA] Add support for sm101 and sm120 target architectures (PR #127187)

Sebastian Jodłowski via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 14 16:52:18 PST 2025


================
@@ -300,6 +306,10 @@ void NVPTXTargetInfo::getTargetDefines(const LangOptions &Opts,
       Builder.defineMacro("__CUDA_ARCH_FEAT_SM90_ALL", "1");
     if (GPU == OffloadArch::SM_100a)
       Builder.defineMacro("__CUDA_ARCH_FEAT_SM100_ALL", "1");
+    if (GPU == OffloadArch::SM_101a)
+      Builder.defineMacro("__CUDA_ARCH_FEAT_SM101_ALL", "1");
+    if (GPU == OffloadArch::SM_120a)
+      Builder.defineMacro("__CUDA_ARCH_FEAT_SM120_ALL", "1");
----------------
jodelek wrote:

I think handling variable length is necessary:
```
switch(GPU) {
  case OffloadArch::SM_90a:
  case OffloadArch::SM_100a:
  case OffloadArch::SM_101a:
  case OffloadArch::SM_120a:
    Builder.defineMacro("__CUDA_ARCH_FEAT_SM" + CUDAArchCode.substr(0, CUDAArchCode.length()-1) + "_ALL", "1");
    break;
}
```

https://github.com/llvm/llvm-project/pull/127187


More information about the cfe-commits mailing list