我试图让我的代码在我的 GTX970m 上运行,但它却在我的英特尔集成显卡上运行
我努力了
cp.cuda.Device(1).use()
因为 0 是我的英特尔图形,但我得到了
cupy.cuda.runtime.CUDARuntimeError: cudaErrorInvalidDevice: invalid device ordinal
我的电脑运行的是 windows 10 64 位,在英特尔图形上我的代码执行得很好(而且速度很慢)
这是我的代码正在做的事情:我有一个 1000 x 1000 的 numpy 矩阵,称为 phi 然后我这样做:
def matrix_step_alt_gpu(phi):
phiNPlus1 = phi.copy()
phiNPlus1_c = (1 / (DX ** 2 + DY ** 2)) * ((DY ** 2 * cp.dot(LEFT, phi)) + (DX ** 2 * cp.dot(phi, LEFT)))
phiNPlus1[1:-1, 1:-1] = phiNPlus1_c[1:-1, 1:-1]
return phiNPlus1
我重复直到这个数字(np.float64 ...)小于10 ^ -6:
np.float64(np.max(np.abs(phiNPlus1 - phi)) / PHI_0[0, 1])
只是为了消除任何疑问,我还使用任务管理器的性能选项卡进行了检查
没有运行:
一些使用 Cupy 运行的代码: