我正在尝试执行代码here。我收到以下错误:
orig: [0.36975162 0.08511397 0.16306844 0.4015488 0.25104857 0.30606773 0.24524205 0.13792656]
Process Process-1:
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\multiprocessing\process.py", line 267, in _bootstrap
self.run()
File "C:\Program Files\Python27\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\My\Desktop\test_codes\pycuda4.py", line 28, in func1
h = drv.mem_get_ipc_handle(x_gpu.ptr)
LogicError: cuIpcGetMemHandle failed: operation not supported
我在Windows 7 x64环境中使用Python 3.7,CUDA 9.2。 Windows不支持CUDA IPCMemoryHandle
吗?还是我想念什么?
答案 0 :(得分:2)
here记录的内容是仅Linux才支持CUDA IPC功能。
但是,驱动程序API(基于PyCUDA的驱动程序)docs指出:
IPC功能仅限于支持在Linux和Windows操作系统上进行统一寻址的设备。 Windows上的IPC功能仅限于TCC模式下的GPU
因此,如果您可以将Windows GPU放入TCC mode(通过nvidia-smi
工具)中,那么我认为它应该可以工作/受支持。 GeForce GPU无法置于TCC模式。大多数Titan和Quadro GPU都可以置于TCC模式。 Windows上的大多数Tesla GPU都应自动处于TCC模式。请注意,将您的GPU置于TCC模式意味着它无法再托管显示器。