微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenACC池分配器:为此设备指定的池大小太大当前文件

如何解决OpenACC池分配器:为此设备指定的池大小太大当前文件

我每次尝试运行应用程序时都会遇到此错误,尽管它可以很好地编译:

池分配器:为此设备指定的池大小太大

当前文件:/home/marco/Desktop/tools.c 功能:PTC3D 行:330

文件已编译:-ta = tesla:cc35,cc50,cc60,cc70,cc70,cc75,cc80

奇怪的是,只有在重新启动PC之后才收到此错误,而之前从未得到过此错误

我使用:

CC = nvc

CFLAGS = -c -acc -ta = tesla:managed:cuda11.0 -Minfo = accel -w -O3 -DTEST_CASE = 3

LDFLAGS = -lm -acc -ta = tesla:managed:cuda11.0

代码中什么都没有改变,所以也许与编译器有关。我今天安装了一个新程序,我本可以接触到不该有的东西。

解决方法

该消息仅是警告。池分配器将被绕过,而是将为每个分配直接调用CUDA统一内存API例程。如果您有很多小的分配,则可能会看到性能下降,因为API调用的开销相对较高,但不应损害功能。

默认的CUDA统一内存池大小为1GB,尽管可以通过设置环境变量NVCOMPILER_ACC_POOL_SIZE进行修改。您可以尝试将大小设置为较小的值,以查看它是否可以修复消息。有关详细信息,请访问:https://docs.nvidia.com/hpc-sdk/compilers/hpc-compilers-user-guide/index.html#acc-mem-unified

不清楚该消息开始出现的原因,但这很可能与硬件有关,或者可能是CUDA驱动程序问题。您正在使用什么设备和CUDA驱动程序?硬件有什么变化吗?

,

我解决了在“软件和更新”中的“其他驱动程序”中设置推荐的驱动程序:NVIDIA驱动程序元软件包的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。