Как эффективно перезаписать область памяти на GPU? - PullRequest
0 голосов
/ 05 ноября 2019

Я размещаю блок данных на GPU. И у меня есть алгоритм для генерации новых данных, чтобы заменить старые. Новый буфер имеет тот же размер данных. Существует решение вернуть старые данные обратно в процессор, а затем стереть их, но я думаю, что это крайне неэффективно и очень медленно. Можно ли перезаписать старый элемент новыми данными в том же месте?

1 Ответ

0 голосов
/ 06 ноября 2019

Если ваши ядра принимают указатель, указывающий на некоторую область буфера, вы можете просто передать исходный указатель данных этому ядру, что приведет к тому, что ваши входные данные будут перезаписаны результатами ядра.

Или, если вы работаете с алгоритмом, который требует использования буфера, вы можете использовать cudaMemcpy, чтобы скопировать результаты, хранящиеся в буфере, в область памяти, содержащую ваши входные данные, перезаписывая ее в процессе.

...