Можно ли запустить ядро cuda на нескольких графических процессорах?
Это довольно простой вопрос, но поиск в Google, похоже, не имеет ответа, поэтому.
Что я хочу знать, так это то, может ли мое ядро охватить эти карты, если у меня есть две (одинаковые) карты gpu для работы с cuda? Или это связано с одной картой или другой? То есть cuda представлен всем набором доступных ядер GPU, или только теми, что на карте, на которой он запущен.
Если да, то есть ли что-то особенное, о чем мне нужно знать, чтобы это произошло, и есть ли примеры, помимо того, что стоит знать о cuda sdk?
Целевой язык, конечно, C/C++.
Заранее спасибо.
1 ответ
Один запуск ядра CUDA привязан к одному графическому процессору. Чтобы использовать несколько графических процессоров, потребуется несколько запусков ядра.
API времени выполнения устройства cuda фокусируется на том, какое устройство выбрано. Любой данный запуск ядра будет запущен на том устройстве, которое было выбрано последним с помощью cudaSetDevice()
Примеры программирования на нескольких GPU приведены в примерах cuda: простой multi-gpu с P2P и простой multi-gpu