Pycuda中gpuarray.to_gpu能向共享GPU内存中申请空间吗

GPU信息

GPU信息

GPU信息


运行如下代码 比较两个矩阵,取最大值为一个新矩阵

import pycuda.driver as drv
import pycuda.autoinit
import numpy
import numpy.linalg as la
from pycuda import driver, compiler, gpuarray, tools
from pycuda.compiler import SourceModule
import os

if (os.system("cl.exe")):
    os.environ['PATH'] += ';'+r"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\amd64\\"
if (os.system("cl.exe")):
    raise RuntimeError("cl.exe still not found, path probably incorrect")


a = numpy.random.randint(0,3,(23600,26919)).astype(numpy.float32)
b = numpy.random.randint(1,4,(23600,26919)).astype(numpy.float32)

a_gpu = gpuarray.to_gpu(a)
b_gpu = gpuarray.to_gpu(b)

result_array_GPU = gpuarray.maximum(a_gpu,b_gpu)

print(a_gpu.get())
print(b_gpu.get())
print(result_array_GPU,type(result_array_GPU.get()))


出现错误 out of memory

图片说明


查看GPU性能,发现_**共享GPU内存**_还有空间,请问能利用这一块内存吗?如何利用这一块的内存呢

图片说明


网上看说可以去BOIS总结去设置大小,也有的说当专有GPU内存不够会向共享自动申请
具体我还要怎么操作呢,还请不吝赐教

你这个GPU不行,内存太小了,建议使用 RTX2080Super