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