使用PyCUDA后没有输出

14

我使用pip安装了PyCUDA。我在两台计算机上尝试过。
一台是全新安装的Python 3.7.1,另一台是Python 3.6.5

在使用PyCUDA之后,一切都失败了,没有任何错误信息。

最小的示例代码如下:

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")
< p >如果我不删除 pycuda.autoinit,则不会打印任何内容。

< blockquote >

另一个例子是使用 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失败了,但没有任何报告。

我的配置:<br/>

+--------------------+--------------------+
|        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

我注意到这是一个常见问题,但没有解决方案。


你试过安装最新的游戏驱动Nvdia驱动程序而不是微软驱动程序或者其他你之前使用的驱动程序吗? - bhathiya-perera
是的,我已经安装了适用于游戏的驱动程序,并刚刚从417.22版本更新到418.91版本。 - Panos Kalatzantonakis
2个回答

1

我不确定这是否能帮到你,但类似的问题曾通过重新安装cuda(使用anoconda)解决。

如果需要,你可以通过conda控制台进行安装。

conda install -c anaconda cudatoolkit

检查是否运行良好:

输入numba -s

希望这能帮到你。


哦,抱歉,您能上传运行 $numba -s 时的截图吗?或者任何其他错误消息/信息也可以。 - M T
我在conda之外运行脚本。我不使用Conda来运行此脚本。但如果您认为有必要,我可以粘贴报告。 - Panos Kalatzantonakis

1
我不确定,但是我希望这可以帮助您解决问题。
1. 检查您是否已在Windows上安装了CUDA工具包。 2. 检查CUDA的PATH环境变量是否设置正确。 3. 如果您正在使用最新版本的VS,则可能很难(或者不可能)让PyCUDA与其一起工作。因此,如果您想在当前系统上另外安装旧版本的VS,则需要在安装后指定到新(旧版本)编译器的路径。
例如,您可以将以下行添加到site-packages\pycuda\compiler.py中的compiler函数中:
options.extend(['-ccbin', 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\cl.exe'])

非常感谢您的帮助。1、2)我已经安装了Cuda工具包,并在环境路径中正确设置了(Cuda编译工具,版本10.0,V10.0.130)。 此外,我已经编辑了编译函数并添加了options.extend...但是打印仍然没有起作用。 - Panos Kalatzantonakis
此外,我已经安装了Visual Studio 2015。 - Panos Kalatzantonakis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接