Loop Fission 在单核中工作吗?
如果我为单核处理器进行编译,什么时候使用循环裂变/分布才有意义?
When does it make sense to use Loop fission/distribution if I am compiling for a single core processor?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
性能方面? 不,它几乎肯定会带来开销。
Performance wise? No, it will almost certainly introduce overhead.
请参阅 comp.compilers 以获取标准答案。
除此之外,我能想到的一个奇怪的情况可能是其中一个迭代可能会阻塞。 (例如动态内存分配)
请注意,这种情况更多的是对简单语言“并行”的“滥用”,而不是真正的数字原因。 (使用“for”比使用线程手动执行更容易,即使 FOR 等待所有线程完成)
See comp.compilers for the standard answers.
In addition to that, an odd-ball case that I could think up might be if there is a potential that one of the iterations might block. (e.g. does dynamic memory allocation)
Note that that case is more "abuse" of an easy language "paralel for" than a real numerical reason. (easier to use "for" than to manually do it using threads, even if the FOR waits for all threads to complete)
在 comp.compiler 中获得了精彩的答案
Got wonderful answers at comp.compiler