0

有两个数组A和B,它们是相互对应的,它们的空间是在内核运行时分配的。A 和 B 的细节是 A[i] 是位置,B[i] 是值。所有线程执行以下操作:

  1. 如果当前线程的数据在数组更新B中,
  2. 否则扩展 A 和 B,并将当前线程的数据插入到数组中。
  3. A 和 B 的初始大小为零。

CUDA是否支持上层实现?

4

1 回答 1

1

关于第 2 点,您需要像 C++'s 这样的东西realloc(),据我所知,CUDA 不支持它。realloc()你可以根据这个帖子自己写

CUDA:在内核中使用 realloc

但我不知道这个解决方案的效率如何。

或者,您应该预先分配“大量”全局内存,以应对最坏的内存占用情况。

于 2013-09-13T08:09:49.723 回答