Выполняется ли cudaMemcpy от хоста к устройству параллельно?

Мне любопытно, выполняется ли cudaMemcpy на CPU или GPU, когда мы копируем с хоста на устройство?

Другими словами, это копирование последовательного процесса или это делается параллельно?

Позвольте мне объяснить, почему я спрашиваю об этом: у меня есть массив из 5 миллионов элементов. Теперь я хочу скопировать 2 набора по 50 000 элементов из разных частей массива. Итак, я подумал, будет ли быстрее сначала сформировать большой массив всех элементов, которые я хочу скопировать на ЦП, а затем выполнить только одну большую передачу, или я должен просто вызвать 2 cudaMemcpy, по одному для каждого набора.

Если cudaMemcpy выполняется параллельно, то я думаю, что второй подход будет быстрее, так как вам не нужно сначала последовательно копировать 100000 элементов на ЦП

5
задан Programmer 13 January 2012 в 15:51
поделиться