如何有效地覆盖GPU上的内存区域?

问题描述 投票:0回答:1

我在GPU上分配数据块。而且我有一种算法可以生成新数据来代替旧数据。新缓冲区具有相同的数据大小。一种解决方案是将旧数据送回CPU,然后将其擦除,但是我认为这效率很低而且非常慢。是否可以在同一位置用新数据覆盖旧元素?

memory memory-management cuda gpu gpu-programming
1个回答
0
投票

如果内核接受指向某个缓冲区的指针,则可以将原始数据指针传递给该内核,从而导致输入数据被内核结果覆盖。

或者,如果您正在使用需要使用缓冲区的算法,则可以使用cudaMemcpy将缓冲区中存储的结果复制到保存输入数据的内存区域,并在此过程中将其覆盖。

© www.soinside.com 2019 - 2024. All rights reserved.