使用PyCUDA后没有输出

问题描述 投票:14回答:2

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

python python-3.x parallel-processing pycuda
2个回答
1
投票

我不确定这是否会帮助你,但类似的问题通过重新安装cuda(与anoconda)解决。

如果您需要它,可以通过conda控制台安装它

conda install -c anaconda cudatoolkit

并检查它是否运行良好,

键入numba -s

希望这可以提供帮助


1
投票

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

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

例如,您可以将此行添加到compiler中的site-packages\pycuda\compiler.py函数中:

options.extend(['-ccbin', 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\cl.exe'])

© www.soinside.com 2019 - 2024. All rights reserved.