标签: performance parallel-processing openmp
我有一个相对较大的C ++程序,它可以进行很多动态内存分配(大小和结构是在运行时计算的;它的指针一直向下)。
程序令人尴尬地是并行的,OpenMP 加快了速度,直至达到了一定程度。但是,我发现启动单线程二进制文件并使它们在文件系统中同步运行的速度更快,并且随着使用的内核数量的增加,速度降低得更少。
是否有可能会发生这种情况的直观原因? (对不起,我没有代码片段。)
谢谢!