我有一个程序,它利用 OpenMP 在具有 32 核服务器的双 CPU 上获得极大的加速。我使用的输入参数不允许完全加载 CPU。
今天,几个核心 100% 被另一个程序加载。当我启动我的程序时,即使 CPU 上的负载像往常一样非常高(~2500%),它也非常慢。我删除了并行指令,并注意到一些性能改进。
这可能是由于内存带宽有限吗?我如何进一步调查这个问题并最终改进我的代码?
我有一个程序,它利用 OpenMP 在具有 32 核服务器的双 CPU 上获得极大的加速。我使用的输入参数不允许完全加载 CPU。
今天,几个核心 100% 被另一个程序加载。当我启动我的程序时,即使 CPU 上的负载像往常一样非常高(~2500%),它也非常慢。我删除了并行指令,并注意到一些性能改进。
这可能是由于内存带宽有限吗?我如何进一步调查这个问题并最终改进我的代码?