现在 CUDA 允许动态分配全局内存。但是,我找不到任何关于其可扩展性的参考 malloc 功能:例如,它比预分配一块内存然后通过原子地递增全局整数将下一个内存卡盘分配给线程更好吗?最后一个“自制”解决方案有效,但在可扩展性方面存在明显问题,所以我想知道是否 malloc 以某种方式解决这个问题。

有帮助吗?

解决方案

我认为,虽然您的“自制”解决方案目前可能同样好,但对全局整数的并发调用可能会减慢速度,但 Malloc 将是我的选择。

这是因为它允许 Nvidia 处理令人头痛的可扩展性,并在硬件或软件实现方面进行改进,您只需在以后重新编译代码即可利用这些改进。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top