Windows环境下无需安装直接解压CUDA Toolkit的方法求助
Windows下无需安装CUDA Toolkit直接解压的自动化方案
NVIDIA的Windows CUDA本地完整安装包(注意别用网络版)支持命令行解压参数,不用实际安装就能提取所需文件:
拿CUDA 12.3.1的Win10安装包举例,执行以下命令就能解压到指定路径:cuda_12.3.1_546.12_win10.exe -extract="C:\Temp\CUDA_12.3.1"这个参数是官方支持的,新一点的Windows CUDA安装包都通用,替换版本号和路径就行。
解压后,你要的组件位置:
- nvcc编译器:
C:\Temp\CUDA_12.3.1\CUDA\v12.3\bin\nvcc.exe - cuBlas、cuFFT等库文件:
C:\Temp\CUDA_12.3.1\CUDA\v12.3\lib\x64(x86版本对应lib\x86) - 头文件:
C:\Temp\CUDA_12.3.1\CUDA\v12.3\include
- nvcc编译器:
自动化脚本大致流程(PowerShell示例):
- 定义CUDA版本、解压路径、NuGet工作目录等参数
- 下载对应版本的本地安装包:
$cudaVersion = "12.3.1" $installerUrl = "https://developer.download.nvidia.com/compute/cuda/$cudaVersion/local_installers/cuda_${cudaVersion}_546.12_win10.exe" $installerPath = "C:\Temp\cuda_installer.exe" Invoke-WebRequest -Uri $installerUrl -OutFile $installerPath - 执行解压命令:
$extractPath = "C:\Temp\CUDA_$cudaVersion" & $installerPath -extract="$extractPath" - 把需要的文件复制到NuGet包的对应目录(比如lib、tools文件夹)
- 调用
nuget pack生成包 - 清理临时的安装包和解压目录
注意事项:
- 必须下载本地完整安装包,网络版需要在线拉取组件,没法直接提取完整内容
- 不同CUDA版本的安装包文件名里的驱动版本号(比如示例里的546.12)要对应,得从NVIDIA的CUDA版本页面找准确的文件名和链接
- 解压后可以只保留bin、lib、include目录,删掉其他无关文件缩小打包体积
内容的提问来源于stack exchange,提问作者msedi
相关产品推荐
相关产品推荐

