代码如下:
cuda.init()
dev = cuda.Device(0)
context = dev.make_context()
context.push()
tfG = mod.get_texref("tfG")
tfG.set_array(cuda.np_to_array(Gs.astype(np.float32),order='C'))
context.pop()
给我错误消息:
---------------------------------------------------------------------------
LogicError Traceback (most recent call last)
<ipython-input-41-92ff15f5e108> in <module>()
1 Gs = np.arange(100).reshape([10,10])
2 context.push()
----> 3 tfG.set_array(cuda.np_to_array(Gs.astype(np.float32),order='C'))
4 context.pop()
LogicError: cuTexRefSetArray failed: peer access has not been enabled
我读了similar thread,但没有解决这个错误
P.S。使用自动初始化,它将起作用:
import pycuda.autoinit
tfG = mod.get_texref("tfG")
Gs = np.arange(100).reshape([10,10])
tfG.set_array(cuda.np_to_array(Gs.astype(np.float32),order='C'))
但是我的问题是我最终想在程序中使用mpi,所以我需要弄清楚为什么它不起作用。