Учитывая следующий случай:Сколько операций cudaMemcpyAsync можно выполнять одновременно?
//thread 0 on device 0:
cudaMemcpyAsync(Dst0, Src0, ..., stream0);//stream0 is on Device 0;
...
//thread 1 on device 1:
cudaMemcpyAsync(Dst1, Src1, ..., stream1);//stream1 is on Device 1;
Может два тетсру операции происходят одновременно, и получить в два раза пропускную способность хост-устройства (при условии, что пропускная способность памяти хоста достаточно)? если ответ да, существует ли верхний предел такого параллелизма?
Я планирую написать некоторую программу для многих (6-8) графических процессоров в одном вычислительном узле, так что это будет очень важно для производительности.
Не могли бы вы прокомментировать последнюю часть вопроса? «Я планирую написать некоторую программу для многих (6-8) графических процессоров в одном вычислительном узле, так что это будет очень важно для производительности. Я хочу знать, потому что в ближайшем будущем вы будете пытаться что-то подобное или ссылку на любую бумагу который уже проанализировал это? –