0

我试图让我的代码在我的 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 运行的代码:

在此处输入图像描述

4

2 回答 2

0

您可能需要先设置CUDA_VISIBLE_DEVICES变量:

如何选择在哪个 GPU 上运行作业?

希望该问题的答案有所帮助。

于 2019-08-18T19:15:24.000 回答
0

CuPy 无法在英特尔集成显卡上运行,因为它不支持 CUDA。尝试使用nvidia-smi.exe命令而不是任务管理器来查看是否实际使用了您的 GPU。

于 2019-08-19T07:06:58.943 回答