В настоящее время я участвую в разработке крупного научного вычислительного проекта и изучаю возможность аппаратного ускорения с помощью графических процессоров в качестве альтернативы подходу MPI / кластер.Мы находимся в основном в ситуации, связанной с памятью, слишком много данных для размещения в памяти, чтобы поместиться на GPU.Для этого у меня есть два вопроса:
1) В прочитанных мною книгах говорится, что доступ к памяти на хосте с указателем на устройстве запрещен (по понятным причинам).Вместо этого необходимо скопировать память из памяти хоста в память устройства, затем выполнить вычисления и затем скопировать обратно.У меня вопрос, есть ли обходной путь для этого - есть ли любой способ чтения значения в системной памяти из графического процессора?
2) В более общем смысле, какие алгоритмы / решениясуществуют для оптимизации передачи данных между процессором и графическим процессором во время таких вычислений с привязкой к памяти?
Спасибо за вашу помощь в этом!Я в восторге от перехода на CUDA просто потому, что распараллеливание намного более интуитивно понятно!