经过反复查阅baidu,最终能够正确配置编译环境,实现setup.py或build.py的直接调用执行。
可能原因是:
VS的安装必须先于CUDA;如果VC版本更换,就可能存在VS的安装后于CUDA,此时建议重装CUDA。
而且在安装CUDA的过程中,务必保证不会出现VS Integration安装错误;如果出错,建议彻底删除VS,重装VS,然后再来装CUDA。
添加其它lib库
有些cpp中有需要调用额外的库函数,如DepthAwareNet中使用到THCudaBlas_xxxx类的矩阵方程函数。由于本人不知晓如何在setup.py或其它途径中添加cublas.lib文件,所以将库函数直接加到了.h文件中
#pragma comment(lib, "cublas.lib")
TypeError: dist must be a Distribution instance
南京大学王利民老师:Actions as Moving Points(复现问题)_伟大的洛伦佐的博客-CSDN博客_南京大学王利民https://blog.csdn.net/weixin_44233336/article/details/117357431一说是setuptools版本问题:降低setuptools版本至0.9.8,又会出现其它问题;
一说是gcc版本问题:有待尝试
JIT load模式
可能出现第二次load没有响应的问题,其原因是中途中断调试或运行,程序lock了。
解决方案有二:
1、进入User\AppData\Local\torch_extensions\torch_extensions\Cache\_ext\,删除lock文件;
2、修改load中的name。
建议采用方案一。
参考:三种混合编译方式
x极市开发者平台-计算机视觉算法开发落地平台https://www.cvmart.net/community/detail/4515