我已经使用PyCUDA
安装了pip
。我在两台计算机上尝试过。
一个是全新安装的Python 3.7.1
,另一个是Python 3.6.5
。
使用PuCUDA
后,一切都失败,没有错误消息。
最小的例子是这样:
import sys
import pycuda.driver as cuda
import pycuda.autoinit # <-- Comment in order for `print` to work
if __name__ == '__main__':
print('Print works')
sys.stdout.write("Sys print works")
除非我移除pycuda.autoinit
,否则它不会打印任何内容。
另一个示例将使用
printf
:
import pycuda.driver as cuda
import pycuda.autoinit
from pycuda.compiler import SourceModule
if __name__ == '__main__':
mod = SourceModule("""
#include <stdio.h>
__global__ void test() {
printf("I am %d.%d\\n", threadIdx.x, threadIdx.y);
}
""")
func = mod.get_function("test")
func(block=(4, 4, 1))
这也不返回任何输出。
我认为CUDA失败,但是没有任何报告。
我的配置:
+--------------------+--------------------+ | PC1 | PC2 | +--------------------+--------------------+ | Python 3.6.5 | Python 3.7.1 | | Windows 10 | Windows 10 | | Cuda toolkit 9 | Cuda toolkit 10 | | GeForce GTX 1050 | GeForce GTX 1080 | | Visual Studio 2015 | Visual Studio 2015 | +--------------------+--------------------+
驱动程序:
GeForce Game Ready Driver Version : 418.91 WHQL Release Date : Wed Feb 13, 2019
我注意到这是common problem,但没有解决方案。
答案 0 :(得分:1)
我不确定这是否对您有帮助,但是类似的问题已通过解决
重新安装cuda
(带有anoconda
)。
如果需要,可以通过conda
控制台
conda install -c anaconda cudatoolkit
并检查它是否运行良好,
类型numba -s
希望这会有所帮助
答案 1 :(得分:1)
我不确定,但是希望这能帮助您解决问题。
CUDA
工具箱。 PATH
的{{1}}环境是否设置正确。 CUDA
的最新版本,VS
可能很难(或不可能)使用它。因此,如果您想在当前系统上另外安装PyCUDA
的较旧版本,则在安装后,可能需要指定新(旧版本)编译器的路径。 例如,您可以将此行添加到VS
中的compiler
函数中:
site-packages\pycuda\compiler.py