Visual Studio C/C++ 编译器中的 OpenMP 改进:循环折叠
原文英文,约1300词,阅读约需5分钟。发表于: 。The MSVC compiler adds support for OpenMP "collapse" feature on for loops. The post OpenMP improvements in Visual Studio C/C++ compiler: loop collapse appeared first on C++ Team Blog.
Visual Studio 2022版本17.8新增了对OpenMP折叠功能的支持,可以折叠循环以提高代码质量。折叠子句适用于循环嵌套,将它们视为一个巨大的循环,可以分割为多个线程运行。编译器生成代码并使用运行时函数计算循环边界和原始归纳变量值。非矩形循环嵌套的处理方式不同,需要额外检查边界和块执行。可以在运行时实现专门的算法以提高性能。鼓励用户尝试折叠功能并提供反馈。