首页 > 解决方案 > 用完 GPU Ram 的大型 cupy 阵列

问题描述

这是一个完全的新手问题,但我一直在寻找几天,但找不到答案。

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

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

标签: gpuramallocationcupy

解决方案


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


推荐阅读