gpt4 book ai didi

c++ - OpenMP,嵌套循环设计策略

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:44:23 24 4
gpt4 key购买 nike

假设您设计了一个带有嵌套 for 循环的顺序程序,并希望将其转换为与 OpenMP 并行,并分段对其进行调试,以便在进行过程中进行调试...首先处理最外层循环会更好吗并按照自己的方式工作,还是从最内层的循环开始?我知道折叠功能,但并非所有嵌套循环都是可折叠的。

最佳答案

绝对绝对在最内层循环中。这是因为启动线程通常很昂贵。

另一方面,如果执行最内层循环比启动一个线程占用更多资源,那么它并没有什么不同。但除此之外,最外层循环始终是最佳选择。

当然,这是一个非常宽泛的答案,与您非常宽泛的问题相呼应。每种不同的特殊情况总会有不同的答案。

另一方面,如果您遇到如此复杂的问题,我建议您使用低级 std::thread 并手动控制您的线程。这需要更多的工作,但你有更多的控制权和最好的结果。然后您可以使用线程池并获得最有效的解决方案。

关于c++ - OpenMP,嵌套循环设计策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42121330/

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