用完 GPU Ram 的大型 cupy 阵列

Posted

技术标签:

【中文标题】用完 GPU Ram 的大型 cupy 阵列【英文标题】:Large cupy array running out of GPU Ram 【发布时间】:2021-12-08 15:15:37 【问题描述】:

这完全是一个新手问题,但我已经搜索了几天但找不到答案。

我正在使用 cupy 分配一个大的双精度数组(大约 655k 行 x 4k 列),内存大约为 16Gb。我在 p2.8xlarge(声称有 96GB 的 GPU 内存和 8 个 GPU 的 aws 实例)上运行,但是当我分配数组时,它给了我内存不足的错误。

发生这种情况是因为 96GB 的 ram 被分成 8x12GB 块,只有每个 GPU 可以访问这些块?是否没有在 GPU 之间汇集 GPU ram 的概念(如多 CPU 情况下的常规 ram)?

【问题讨论】:

【参考方案1】:

从玩弄它开始,我认为答案是否定的,你不能跨 GPU 共享内存。您可以在 GPU 和 CPU 之间来回移动数据,但没有统一的 GPU 内存可供所有 GPU 访问的概念

【讨论】:

以上是关于用完 GPU Ram 的大型 cupy 阵列的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 Kmeans CuPy 代码中有“OutOfMemoryError”?

大型阵列大小的 Powerset [重复]

提高正弦/余弦和大型阵列的计算速度

如何以最优方式移动大型阵列 n 发生次数

OpenCV大型阵列类型Mat类

您好有个问题请教一下cpu怎么和gpu并行计算处理好日常软件