我用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,但没有解决方案。
我不确定这是否会帮助你,但类似的问题通过重新安装cuda
(与anoconda
)解决。
如果您需要它,可以通过conda
控制台安装它
conda install -c anaconda cudatoolkit
并检查它是否运行良好,
键入numba -s
希望这可以提供帮助
我不确定,但我希望这可以帮助您解决问题。
CUDA
工具包。PATH
的CUDA
环境是否设置正确。VS
,PyCUDA
可能很难(或不可能)使用它。因此,如果要在当前系统上另外安装旧版本的VS
,则在安装之后,可能需要指定新(旧版本)编译器的路径。例如,您可以将此行添加到compiler
中的site-packages\pycuda\compiler.py
函数中:
options.extend(['-ccbin', 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\cl.exe'])