работает ли код GPU cuda на нескольких видеокартах без какой-либо реализации? - PullRequest
0 голосов
/ 24 декабря 2018

У меня уже есть код на основе GPU CUDA C ++, который хорошо работает на одной графической карте NVIDIA.Можно ли ускорить расчеты, добавив новую карту NVIDIA и запустив код на двух картах GPU (старой и новой)?Я имею в виду, нужно ли мне писать какой-либо новый код для того, чтобы текущий код был готов для работы на двух видеокартах или он работает без какой-либо новой реализации?

1 Ответ

0 голосов
/ 25 декабря 2018

Нет, не может.Большинство управляющих кодов устройств, таких как запуск ядра, cudaMalloc, cudaMemcpy, ориентированы на одно конкретное устройство, вам нужно использовать cudaSetDevice, чтобы указать устройство, которое вы хотите выполнить, что-то вроде:

for (i = 0; i < gpuCount; i++)

{
    cudaSetDevice(i);

    cudaMemcpy(...)

    some_kernel_func<<...>>> (...)        

}
...