gpt4 book ai didi

memory - 从版本 285 开始,nvidia 驱动程序中的 cudaMalloc 速度严重减慢

转载 作者:行者123 更新时间:2023-12-03 03:09:22 25 4
gpt4 key购买 nike

近年来,我们在许多 64 位项目中使用 CUDA 来执行时间紧迫的任务。几天前,我更新了开发系统上的 nvidia 驱动程序,发现与 CUDA 相关的算法出现了灾难性的减慢。经过一番挖掘后,我们发现 cudaMalloc 的许多连续调用会导致延迟增加(每次下一次调用):

void *p[65000];
for (int n = 0; 65000 > n; n++)
cudaMalloc(&p[n], 256);

此代码在最高版本 285 的 nvidia 驱动程序上运行约 4 秒,但从驱动程序版本 285 开始,此代码的执行需要 8 分钟以上(慢 120 倍)。在不同 x64 系统上的 GeForce GTX 560Ti、GeForce GTX 460 和 Quadro FX4600 上进行了测试。

那么,问题是:这是新驱动程序的错误吗?或者是某种处理碎片和改进 CUDA 内存管理的尝试(通过更复杂的分配)?或者其他什么?

更新:我已向 nvidia 报告了此问题,得到的答复是他们能够重现该问题并已将其分配给调查。

最佳答案

我根据OP的错误报告找到了这个问题。事实证明这是一个已报告的已知问题,并且已在 CUDA 5.0 中修复。如果您下载 CUDA 5.0 预览版(可供注册的 CUDA 开发人员使用)候选发布版或更高版本,您应该会看到改进。

编辑:修复将在 CUDA 5 RC 中进行,而不是在预览中进行。因此,截至本次编辑(2012 年 5 月 31 日),该修复尚未可用。

关于memory - 从版本 285 开始,nvidia 驱动程序中的 cudaMalloc 速度严重减慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10320562/

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