OpenACC и объединенная память - PullRequest
0 голосов
/ 22 марта 2019

Здравствуйте, я пытаюсь запустить свою программу (которая использует OpenACC, OpenMP и CUDA Unified memory) в Google Cloud с Tesla V100, и она успешно выполняется, но я использую 1xGPU 8xCores и 50 ГБ оперативной памяти и пытаюсь использовать всю оперативную память, которую я использую.имею, поэтому я контролирую потребление ОЗУ с помощью htop и все отлично работает, когда я использую небольшой объем ОЗУ, у меня есть эти данные: VIRT = 26.8G, RES = 21.5G, SHR = 7440M.И когда я пытаюсь использовать больше оперативной памяти, htop отображает это: VIRT = 27.2G, RES = 22.3G, SHR = 7700M - это как «предел».Программа выделяет данные и «застревает» на этих параметрах (выделяется со скоростью, как 5 МБ / с).Что я могу с этим сделать?И как я могу использовать больше графических процессоров с объединенной памятью CUDA?Я также пытаюсь использовать 2xV100, но без разницы (я думал, что смогу использовать 2xVRAM).

1 Ответ

1 голос
/ 22 марта 2019

Я считаю, что UVM будет работать "из коробки" (за вычетом некоторых начальных затрат на запуск) с несколькими графическими процессорами.Как уже упоминалось здесь , управляемые выделения могут мигрировать на другие процессоры по требованию, поэтому доступ к данным на другом графическом процессоре должен просто вызвать миграцию, невидимую для программиста.Я немного запутался в остальной части вопроса.

...