torch1.10.0+cuda11.1+vs2017混编-创新互联
创新互联专注于岱岳网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供岱岳营销型网站建设,岱岳网站制作、岱岳网页设计、岱岳网站官网定制、微信平台小程序开发服务,打造岱岳网络公司原创品牌,更为您提供岱岳网站排名全网营销落地服务。
目录
前言
一、安装CUDA
二、安装Pytorch
三、安装VS2017
四、混合编译
总结
前言
尽管目前的PyTorch可以直接使用GPU进行加速,但是一些特殊的自定义算法可能依然无法直接使用GPU加速,或者PyTorch对该操作的实现还不够高效。使用C++扩展和CUDA扩展可改善上述状况,在Pytorch中可调用扩展的算子测试其正确性和性能,本文仅介绍如何配置混编的环境。
提示:以下是本篇文章正文内容,下面案例可供参考
查看自己电脑显卡信息,命令行输入nvidia-smi
我的显卡比较旧,最高只能支持CUDA Version:11.1
下载CUDA工具包, CUDA Toolkit Archive | NVIDIA Developer
由于CUDA10.2支持的Pytorch版本较多,我选择了下载这个版本
安装NVIDIA CUDA,由于我们不是简单的使用CUDA,而是需要混编,所以保险起见选择自定义的模式。
配置CUDA环境变量
win10系统中右键:“我的电脑”->“属性”,选择"高级"中的"环境变量",开始设置环境变量。
手动添加以下的环境变量:
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
CUDA_BIN_PATH=%CUDA_PAT%\bin
CUDA_LIB_PATH=%CUDA_PATH%\lib\x64
CUDA_SKD_PATH=C:\ProgramData\NVIDIA Corporation\CUDA Sample\v10.2
CUDA_SDK_BIN_PATH=%CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH=%CUDA_SDK_PATH%\common\lib\x64
Previous PyTorch Versions | PyTorch 可以找到各个版本的Pytorch的GPU版本
分为conda的安装方法和pip安装方法,pip速度非常慢,推荐conda安装。但是conda的某些较新版本显示支持CUDA,实际上是不支持的,下载时会自动链接到CPU版本,要注意仔细鉴别。
安装完毕后进入conda虚拟环境验证
如果是支持CUDA版本的Pytroch的版本号会显示cu102类似的字样
三、安装VS2017Visual Studio 较旧的下载 - 2019、2017、2015 和以前的版本
我选择的2017版,下载VisualStudioSetup.exe
下载完毕后选择Enterprise版本,勾选:使用C++ 的桌面开发,开始安装
在使用Visual Studio前,需要设置多个环境变量,而且所需的环境变量特定于安装和选择的生成体系结构,可能因产品更新或升级而更改。 考虑到环境变量的复杂性和可变性,建议不要自行在 Windows环境中设置这些变量,而是使用命令文件(.bat)或者已安装的命令提示符快捷方式来完成配置。
方法1:.如果想要在现有命令提示窗口中设置生成环境,则可以使用安装程序创建的命令文件之一。在 Visual Studio 2017 和 Visual Studio 2019 中,可以在 VC\Auxiliary\Build 子目录中找到它们。
第一次打开命令提示窗口时,编译前输入下列命令配置环境变量:
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
方法2:MSVC 命令行工具使用 PATH
、TMP
、INCLUDE
、LIB
和 LIBPATH
环境变量,还使用特定于已安装工具、平台和 SDK 的其他环境变量。
我采用的方法1,方法2未尝试过
更详细的说明参看通过命令行使用 Microsoft C++ 工具集 | Microsoft Learn
四、混合编译下载代码CudaExtension.7z,可以在资源区下载,可以在评论区留下邮箱。
激活对应的conda 环境
步骤1:cd D:\pytorch\pytorch-master\8-1\CudaExtension
步骤2:call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
步骤3:python setup.py install
完成后可利用代码里的test.py进行测试
五、常见报错cuda与torch版本不匹配
The detected CUDA version (10.1) mismatches the version that was used to compile
PyTorch (11.1). Please make sure to use the same CUDA versions.
C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.1/include\__config(491): fatal error C1189: #error: "We don't know a correct way to implement alignof(T) in C++03 outside of Clang"
error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.1\\bin\\nvcc.exe' failed with exit status 2
No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1'
VS2017环境变量配置失败
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\include\cstddef(7): fatal error C1083: 无法打开包括文件: “stddef.h”: No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\VC\\Tools\\MSVC\\14.16.27023\\bin\\Hostx64\\x64\\cl.exe' failed with exit status 2
总结
此方法可以避开繁琐的VS2017界面也可以完成.cu文件和.cpp文件的混编
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
标题名称:torch1.10.0+cuda11.1+vs2017混编-创新互联
当前地址:http://hbruida.cn/article/dsdccj.html