使用PyCUDA

时间:2018-12-11 06:05:00

标签: python python-3.x parallel-processing pycuda

我已经使用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,但没有解决方案。

2 个答案:

答案 0 :(得分:1)

我不确定这是否对您有帮助,但是类似的问题已通过解决 重新安装cuda(带有anoconda)。

如果需要,可以通过conda控制台

安装

conda install -c anaconda cudatoolkit

并检查它是否运行良好,

类型numba -s

希望这会有所帮助

答案 1 :(得分:1)

我不确定,但是希望这能帮助您解决问题。

  1. 检查是否在Windows上安装了CUDA工具箱。
  2. 检查PATH的{​​{1}}环境是否设置正确。
  3. 如果您使用的是CUDA的最新版本,VS可能很难(或不可能)使用它。因此,如果您想在当前系统上另外安装PyCUDA的较旧版本,则在安装后,可能需要指定新(旧版本)编译器的路径。

例如,您可以将此行添加到VS中的compiler函数中:

site-packages\pycuda\compiler.py