4
4
5
5
# Dictionary of known cuda versions and thier download URLS, which do not follow a consistent pattern :(
6
6
$CUDA_KNOWN_URLS = @ {
7
- " 8.0.44" = " http://developer.nvidia.com/compute/cuda/8.0/Prod/network_installers/cuda_8.0.44_win10_network-exe" ;
7
+ " 8.0.44" = " http://developer.nvidia.com/compute/cuda/8.0/Prod/network_installers/cuda_8.0.44_win10_network-exe" ;
8
8
" 8.0.61" = " http://developer.nvidia.com/compute/cuda/8.0/Prod2/network_installers/cuda_8.0.61_win10_network-exe" ;
9
9
" 9.0.176" = " http://developer.nvidia.com/compute/cuda/9.0/Prod/network_installers/cuda_9.0.176_win10_network-exe" ;
10
10
" 9.1.85" = " http://developer.nvidia.com/compute/cuda/9.1/Prod/network_installers/cuda_9.1.85_win10_network" ;
@@ -25,10 +25,11 @@ $CUDA_KNOWN_URLS = @{
25
25
" 11.3.0" = " https://developer.download.nvidia.com/compute/cuda/11.3.0/network_installers/cuda_11.3.0_win10_network.exe" ;
26
26
" 11.3.1" = " https://developer.download.nvidia.com/compute/cuda/11.3.1/network_installers/cuda_11.3.1_win10_network.exe" ;
27
27
" 11.5.0" = " https://developer.download.nvidia.com/compute/cuda/11.5.0/network_installers/cuda_11.5.0_win10_network.exe" ;
28
- " 11.5.1" = " https://developer.download.nvidia.com/compute/cuda/11.5.1/network_installers/cuda_11.5.1_windows_network.exe" ;
28
+ " 11.5.1" = " https://developer.download.nvidia.com/compute/cuda/11.5.1/network_installers/cuda_11.5.1_windows_network.exe" ;
29
29
" 11.8.0" = " https://developer.download.nvidia.com/compute/cuda/11.8.0/network_installers/cuda_11.8.0_windows_network.exe" ;
30
30
" 12.5.0" = " https://developer.download.nvidia.com/compute/cuda/12.5.0/network_installers/cuda_12.5.0_windows_network.exe" ;
31
- " 12.6.3" = " https://developer.download.nvidia.com/compute/cuda/12.6.3/network_installers/cuda_12.6.3_windows_network.exe" ;
31
+ " 12.6.3" = " https://developer.download.nvidia.com/compute/cuda/12.6.3/network_installers/cuda_12.6.3_windows_network.exe" ;
32
+ " 12.8.0" = " https://developer.download.nvidia.com/compute/cuda/12.8.0/network_installers/cuda_12.8.0_windows_network.exe" ;
32
33
}
33
34
34
35
# @todo - change this to be based on _MSC_VER intead, or invert it to be CUDA keyed instead?
@@ -74,7 +75,7 @@ $CUDA_PATCH=$Matches.patch
74
75
# Exit if visual studio is too new for the cuda version.
75
76
$VISUAL_STUDIO = $env: visual_studio.trim ()
76
77
if ($VISUAL_STUDIO.length -ge 4 ) {
77
- $VISUAL_STUDIO_YEAR = $VISUAL_STUDIO.Substring ($VISUAL_STUDIO.Length - 4 )
78
+ $VISUAL_STUDIO_YEAR = $VISUAL_STUDIO.Substring ($VISUAL_STUDIO.Length - 4 )
78
79
if ($VISUAL_STUDIO_YEAR.length -eq 4 -and $VISUAL_STUDIO_MIN_CUDA.containsKey ($VISUAL_STUDIO_YEAR )){
79
80
$MINIMUM_CUDA_VERSION = $VISUAL_STUDIO_MIN_CUDA [$VISUAL_STUDIO_YEAR ]
80
81
if ([version ]$CUDA_VERSION_FULL -lt [version ]$MINIMUM_CUDA_VERSION ) {
@@ -99,15 +100,14 @@ $CUDA_PACKAGES = ""
99
100
# }
100
101
# }
101
102
102
- Foreach ($package in $CUDA_PACKAGES_IN ) {
103
+ foreach ($package in $CUDA_PACKAGES_IN ) {
103
104
# Make sure the correct package name is used for nvcc.
104
105
if ($package -eq " nvcc" -and [version ]$CUDA_VERSION_FULL -lt [version ]" 9.1" ){
105
106
$package = " compiler"
106
107
} elseif ($package -eq " compiler" -and [version ]$CUDA_VERSION_FULL -ge [version ]" 9.1" ) {
107
108
$package = " nvcc"
108
109
}
109
110
$CUDA_PACKAGES += " $ ( $package ) _$ ( $CUDA_MAJOR ) .$ ( $CUDA_MINOR ) "
110
-
111
111
}
112
112
echo " $ ( $CUDA_PACKAGES ) "
113
113
# # -----------------
@@ -116,9 +116,9 @@ echo "$($CUDA_PACKAGES)"
116
116
117
117
# Select the download link if known, otherwise have a guess.
118
118
$CUDA_REPO_PKG_REMOTE = " "
119
- if ($CUDA_KNOWN_URLS.containsKey ($CUDA_VERSION_FULL )){
119
+ if ($CUDA_KNOWN_URLS.containsKey ($CUDA_VERSION_FULL )){
120
120
$CUDA_REPO_PKG_REMOTE = $CUDA_KNOWN_URLS [$CUDA_VERSION_FULL ]
121
- } else {
121
+ } else {
122
122
# Guess what the url is given the most recent pattern (at the time of writing, 10.1)
123
123
Write-Output " note: URL for CUDA ${$CUDA_VERSION_FULL} not known, estimating."
124
124
$CUDA_REPO_PKG_REMOTE = " http://developer.download.nvidia.com/compute/cuda/$ ( $CUDA_MAJOR ) .$ ( $CUDA_MINOR ) /Prod/network_installers/cuda_$ ( $CUDA_VERSION_FULL ) _win10_network.exe"
@@ -133,7 +133,7 @@ $CUDA_REPO_PKG_LOCAL="cuda_$($CUDA_VERSION_FULL)_win10_network.exe"
133
133
# Get CUDA network installer
134
134
Write-Output " Downloading CUDA Network Installer for $ ( $CUDA_VERSION_FULL ) from: $ ( $CUDA_REPO_PKG_REMOTE ) "
135
135
Invoke-WebRequest $CUDA_REPO_PKG_REMOTE - OutFile $CUDA_REPO_PKG_LOCAL | Out-Null
136
- if (Test-Path - Path $CUDA_REPO_PKG_LOCAL ){
136
+ if (Test-Path - Path $CUDA_REPO_PKG_LOCAL ){
137
137
Write-Output " Downloading Complete"
138
138
} else {
139
139
Write-Output " Error: Failed to download $ ( $CUDA_REPO_PKG_LOCAL ) from $ ( $CUDA_REPO_PKG_REMOTE ) "
0 commit comments