首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenMP有用的最小时间片

OpenMP有用的最小时间片
EN

Stack Overflow用户
提问于 2012-02-28 09:37:45
回答 1查看 253关注 0票数 2

我知道这在不同的系统和实现中会有所不同,但我完全不知道OpenMP是否适合使用,因为在这里可以很容易地并行化代码,并且不需要很长时间来运行。例如,如果我有一个循环,这对于OpenMP来说很理想,但是在一个线程上运行只需要几个ms,那么开销会不会损失任何收益?

我的用法是实时渲染,在那里我们可能有20毫秒来生成每帧。所以通常情况下,我们不会有超过5-10毫秒的代码块.OpenMP是针对这种时间尺度的,还是只针对运行几秒钟的操作?

任何轶事/经验数据都是受欢迎的,也欢迎更多的官方消息来源。我想我主要对MSVC++和GCC OpenMP实现感兴趣。

我发现了一篇有趣的文章:http://software.intel.com/en-us/blogs/2010/06/02/using-openmp-to-parallelize-a-game/

EN

回答 1

Stack Overflow用户

发布于 2012-02-28 09:52:56

在没有数据的情况下,所有经验问题的答案是42 .

但说真的,你必须为你自己的硬件、软件和问题的配置找到你自己的答案。

是的,也许在1997年OpenMP首次发布的时候,典型的用例是相对重量级的计算线程,每一次都需要几秒钟。从那以后,处理器变得更快,实现也越来越好,我认为如果不进行基准测试,您的问题就不会有一个很好的答案。无论如何,不管你从中学到什么,你都要做基准测试,所以不要浪费时间,去编写代码。

您可能会相信OpenMP是无用的:但是您不会完全相信wrt您自己的需求的答案。

您可能会相信OpenMP是有用的:但是您不会完全相信wrt您自己的需求的答案。

您可能会得到许多相互矛盾的轶事证据:但是您不会完全相信wrt您自己的需求的答案。

做基准测试。让我们知道你是如何相处的,所以轶事(比如我正在写的垃圾)太长了,硬数据太少了。

不要丢失你的基准代码。随着您的经验的发展以及您的硬件、系统软件和应用软件的变化,请修改它们并重新运行它们。在没有数据的情况下,我确信一件事:你的问题的答案是一个移动的目标。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9479531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档