gpt4 book ai didi

CUDA:在内核中使用 realloc

转载 作者:行者123 更新时间:2023-12-04 22:12:02 41 4
gpt4 key购买 nike

我知道可以在内核中使用 malloc 在 GPU 的全局内存上分配内存。是否也可以使用realloc

最佳答案

您可以为您的数据类型编写自己的 realloc 设备函数。

只需为新数组分配新空间,将旧值复制到新数组,释放旧数组空间,返回具有更多空间的新数组。

大概像下面的代码片段:

__device__ MY_TYPE* myrealloc(int oldsize, int newsize, MY_TYPE* old)
{
MY_TYPE* newT = (MY_TYPE*) malloc (newsize*sizeof(MY_TYPE));

int i;

for(i=0; i<oldsize; i++)
{
newT[i] = old[i];
}

free(old);
return newT;
}

但一定要调用它,如果你真的需要它。还要添加适当的错误检查。

关于CUDA:在内核中使用 realloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5322583/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com