我需要为GPU编程编写一个自定义malloc。这会正常工作吗?这是自定义malloc行吗?
void* malloc(int size, int* bytesUsed, uchar* memory){
int startIdx = (*bytesUsed);
(*bytesUsed) += size;
return (void*)(memory+startIdx);
}
我是新的C++编程,我很可能使指针算术相关的错误或东西...的想法是bytesUsed
给你的索引,第一个免费的地址memory
,使您可以通过增加它size
,然后将增加后的索引作为指针返回。
如果你在POSIX检查http://linux.die.net/man/2/sbrk – stackptr
当你需要'免费'时会发生什么? –
@OliverCharlesworth我不需要自由;当工作组完成所有内存被占用并重新用于下一个工作组时。 (我使用的是openCL)。 –