summaryrefslogtreecommitdiffstats
path: root/source/compiler-core/slang-nvrtc-compiler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler-core/slang-nvrtc-compiler.cpp')
-rw-r--r--source/compiler-core/slang-nvrtc-compiler.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/source/compiler-core/slang-nvrtc-compiler.cpp b/source/compiler-core/slang-nvrtc-compiler.cpp
index 0811a072f..162e91353 100644
--- a/source/compiler-core/slang-nvrtc-compiler.cpp
+++ b/source/compiler-core/slang-nvrtc-compiler.cpp
@@ -1051,10 +1051,18 @@ SlangResult NVRTCDownstreamCompiler::compile(
SemanticVersion version(3);
// Newer releases of NVRTC only support newer CUDA architectures.
- if (m_desc.version.m_major >= 12)
+ if (m_desc.version.m_major > 12 ||
+ (m_desc.version.m_major == 12 && m_desc.version.m_minor >= 8))
{
- // NVRTC in CUDA 12 only supports `compute_50` and up
- // (with everything before `compute_52` being deprecated).
+ // NVRTC 12.8+ warns about architectures prior to compute_75 being deprecated
+ // The exact warning message is:
+ // nvrtc 12.8: nvrtc: warning : Architectures prior to '<compute/sm>_75' are
+ // deprecated and may be removed in a future release
+ version = SemanticVersion(7, 5);
+ }
+ else if (m_desc.version.m_major == 12)
+ {
+ // NVRTC 12.0 supports `compute_50` and up
version = SemanticVersion(5, 0);
}
else if (m_desc.version.m_major == 11)