From 83a6a1fd7f7555677a26bf43ac094cfdf65bfa4f Mon Sep 17 00:00:00 2001 From: Alex Eisenschmied <105024964+Schmiedium@users.noreply.github.com> Date: Mon, 17 Mar 2025 11:28:07 -0400 Subject: [PATCH 1/3] Compatibility Fix for CUDA 12.8. The latest version of CUDA ships libnvvm with version 2.0, which fails the check for an appopriate version number. This commit fixes this so that 2.0 correctly passes the minimum version number check. --- crates/rustc_codegen_nvvm/src/nvvm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/rustc_codegen_nvvm/src/nvvm.rs b/crates/rustc_codegen_nvvm/src/nvvm.rs index f01d3342..a20096ec 100644 --- a/crates/rustc_codegen_nvvm/src/nvvm.rs +++ b/crates/rustc_codegen_nvvm/src/nvvm.rs @@ -63,7 +63,7 @@ pub fn codegen_bitcode_modules( // make sure the nvvm version is high enough so users don't get confusing compilation errors. let (major, minor) = nvvm::ir_version(); - if minor < 6 || major < 1 { + if minor < 6 && major < 1 { sess.dcx() .fatal("rustc_codegen_nvvm requires at least libnvvm 1.6 (CUDA 11.2)"); } From 1ce65852881ae6918b02038ee835963380810a1f Mon Sep 17 00:00:00 2001 From: Alex Eisenschmied <105024964+Schmiedium@users.noreply.github.com> Date: Mon, 17 Mar 2025 13:18:37 -0400 Subject: [PATCH 2/3] Logic mistake in the previous commit, tested this and it should work against all released versions of nvvm --- crates/rustc_codegen_nvvm/src/nvvm.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/rustc_codegen_nvvm/src/nvvm.rs b/crates/rustc_codegen_nvvm/src/nvvm.rs index a20096ec..e3956abe 100644 --- a/crates/rustc_codegen_nvvm/src/nvvm.rs +++ b/crates/rustc_codegen_nvvm/src/nvvm.rs @@ -63,8 +63,8 @@ pub fn codegen_bitcode_modules( // make sure the nvvm version is high enough so users don't get confusing compilation errors. let (major, minor) = nvvm::ir_version(); - if minor < 6 && major < 1 { - sess.dcx() + if major <= 1 && minor < 6 { + sess.dcx() .fatal("rustc_codegen_nvvm requires at least libnvvm 1.6 (CUDA 11.2)"); } From 830face6d94305cc9a1d260d19bbbaf745df0598 Mon Sep 17 00:00:00 2001 From: Alex Eisenschmied <105024964+Schmiedium@users.noreply.github.com> Date: Mon, 17 Mar 2025 16:09:38 -0400 Subject: [PATCH 3/3] formatting fixes --- crates/rustc_codegen_nvvm/src/nvvm.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/rustc_codegen_nvvm/src/nvvm.rs b/crates/rustc_codegen_nvvm/src/nvvm.rs index e3956abe..eb90ee79 100644 --- a/crates/rustc_codegen_nvvm/src/nvvm.rs +++ b/crates/rustc_codegen_nvvm/src/nvvm.rs @@ -64,7 +64,7 @@ pub fn codegen_bitcode_modules( let (major, minor) = nvvm::ir_version(); if major <= 1 && minor < 6 { - sess.dcx() + sess.dcx() .fatal("rustc_codegen_nvvm requires at least libnvvm 1.6 (CUDA 11.2)"); }