Cuda OpenACC与统一内存

Cuda OpenACC与统一内存,cuda,openmp,openacc,Cuda,Openmp,Openacc,您好,我尝试使用特斯拉V100在谷歌云中运行我的程序(使用OpenACC、OpenMP和CUDA统一内存),它运行成功,但我使用1xGPU 8xCores和50GB RAM,并尝试使用我所有的RAM,因此我使用htop控制RAM消耗,当我使用少量RAM时,所有程序都工作正常。我有以下数据: VIRT=26.8G,RES=21.5G,SHR=7440M。 当我尝试使用更多RAM时,htop显示: VIRT=27.2G,RES=22.3G,SHR=7700M——就像“极限”。 程序分配数据并在此参数

您好,我尝试使用特斯拉V100在谷歌云中运行我的程序(使用OpenACC、OpenMP和CUDA统一内存),它运行成功,但我使用1xGPU 8xCores和50GB RAM,并尝试使用我所有的RAM,因此我使用htop控制RAM消耗,当我使用少量RAM时,所有程序都工作正常。我有以下数据: VIRT=26.8G,RES=21.5G,SHR=7440M。 当我尝试使用更多RAM时,htop显示: VIRT=27.2G,RES=22.3G,SHR=7700M——就像“极限”。
程序分配数据并在此参数下“卡住”(以5MB\s的速度分配)。我能用这个做什么?如何在CUDA统一内存中使用更多GPU?我也尝试使用2xV100,但没有区别(我想我将能够使用2xVRAM)。

我相信UVM将在多个GPU的情况下开箱即用(减去一些初始启动成本)。如前所述,托管分配可以根据需要迁移到其他处理器,因此访问另一个GPU上的数据应该只会触发迁移,程序员看不见迁移。不过,我对问题的其余部分有点困惑