Я установил 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
Я заметил, что это общая проблема , но решения не найдено.