python - 使用 PyCUDA 后无输出

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

我已经使用 pip 安装了 PyCUDA。我在两台电脑上试过了。
一个是全新安装的 Python 3.7.1,另一个是 Python 3.6.5

使用 PuCUDA 后一切都失败了,没有错误消息。

The minimum example is this:

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,否则这不会打印任何内容。

Another example would be using 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

希望对你有帮助

关于python - 使用 PyCUDA 后无输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53718293/

相关文章:

c# - 将 LINQ 与 CancellationToken 一起使用的正确方法

Python编码——如何在列表的列表中找到特定元素的踪迹?

python - 在 Python 3 中使用属性时,作用域如何工作?

python3 -m venv 语法无效

python - 按键对列表进行排序并以与第一个列表相同的方式对另一个列表进行排序?

haskell - 为什么并发 Haskell 是非确定性的,而并行 Haskell 原语(par 和 pseq)是确定性的?

c - 使用一个缓冲区可以在 MPI 中发送/接收多条消息吗?

python - 使用 zappa 部署到 AWS Lambda 时,spaCy 抛出 OSError

python - 将博客文章的整个文本存储在 SQL 数据库的文本字段中是否有效?

python - 在Python中计算两个数字之间不匹配、共享的数字