【发布时间】:2020-07-09 13:32:58
【问题描述】:
我在 matlab 中使用 GPU 进行计算。我不断收到Out of memory 的问题。
所以我想我可以将我的一些变量从double(matlab 的默认类型)转换为single。然后我做了以下实验
A = gpuArray([1,2,3])
A =
1 2 3
whos A
Name Size Bytes Class
A 1*3 4 gpuArray
B = gpuArray(single([1,2,3]))
B =
1*3 gpuArray single row vector
1 2 3
whos B
Name Size Bytes Class
B 1*3 4 gpuArray
现在我有点困惑。一方面,它确实告诉我B 是1*3 gpuArray single row vector。但是,另一方面,whos 命令显示A 和B 之间没有区别。
我想知道这种double 到single 的转换是否确实会帮助我减少我在matlab 中的GPU 的内存使用量。基本上,我的问题是:当我在 cpu 上移动 2 个变量时,一个是 double,另一个是 single,到 gpu,它们在 matlab 中是否消耗相同数量的 GPU 内存? whos 命令显示没有区别。
【问题讨论】:
标签: matlab memory-management gpu