From 7b4d074857f2c401663d76543989cef5b1208a71 Mon Sep 17 00:00:00 2001 From: Roland Tannous Date: Sat, 28 Feb 2026 07:51:31 +0000 Subject: [PATCH] Always persist compatible CUDA_PATH to User registry (overwrite stale values) --- setup.ps1 | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/setup.ps1 b/setup.ps1 index 3fec5f22ed..4c826d4bec 100644 --- a/setup.ps1 +++ b/setup.ps1 @@ -381,13 +381,10 @@ $CudaToolkitRoot = Split-Path (Split-Path $NvccPath -Parent) -Parent # CudaToolkitDir: the MSBuild property that CUDA .targets checks directly # Trailing backslash required -- the .targets file appends subpaths to it [Environment]::SetEnvironmentVariable('CudaToolkitDir', "$CudaToolkitRoot\", 'Process') -# Persist CUDA_PATH to User registry if not already set -$existingSys = [Environment]::GetEnvironmentVariable('CUDA_PATH', 'Machine') -$existingUsr = [Environment]::GetEnvironmentVariable('CUDA_PATH', 'User') -if (-not $existingSys -and -not $existingUsr) { - [Environment]::SetEnvironmentVariable('CUDA_PATH', $CudaToolkitRoot, 'User') - Write-Host " Persisted CUDA_PATH to user environment" -ForegroundColor Gray -} +# Always persist CUDA_PATH to User registry so the compatible toolkit is used +# in future sessions (overwrites any existing value pointing to a newer, incompatible version) +[Environment]::SetEnvironmentVariable('CUDA_PATH', $CudaToolkitRoot, 'User') +Write-Host " Persisted CUDA_PATH=$CudaToolkitRoot to user environment" -ForegroundColor Gray # Ensure nvcc's bin dir is on PATH for this process $nvccBinDir = Split-Path $NvccPath -Parent if ($env:PATH -notlike "*$nvccBinDir*") {