1
2
是的,您可以控制堆栈的大小。它是在内核启动之前的运行时通过API函数设置的:
这个
但要注意堆栈大小。CUDA程序往往有数千个线程同时运行,系统将始终为所有线程维护堆栈内存。因此,您可能会很快耗尽内存。 例如,如果您的目标是4MB堆栈内存,并且运行60个块,每个块中有512个线程(这些都是合理的值!)-这将是60*512*4MB=约30GB的设备内存消耗。大多数GPU的内存都比这少。 通常,大数组最好在所有线程之间共享。 |
pickle323 · C编程:现代方法-第10章项目6-困惑 6 年前 |
Gameatro · 为什么malloc在函数内部调用时返回空指针? 6 年前 |
E. Peracchia · F#函数调用工作不正常 6 年前 |
Jorge Zazueta · 汉诺塔C++的堆栈实现 6 年前 |
adamcasey · 缓冲区溢出“攻击”中的操作序列 6 年前 |