【问题标题】:OpenMP flush vs flush(list)OpenMP 刷新与刷新(列表)
【发布时间】:2013-02-13 17:20:53
【问题描述】:

在 OpenMP 中,我可以刷新一组指定的变量或整个缓存。

有人知道这个操作的性能吗?仅刷新真正发生变化的变量是否有意义,或者“全部刷新”如此之快,我不应该担心?

我有需要不时在我的线程中刷新的链接列表。我应该遍历列表并单独刷新每个元素,还是简单地刷新所有内容?

【问题讨论】:

    标签: c++ openmp


    【解决方案1】:

    鉴于 OpenMP 3.1 标准中的建议:

    flush 结构与列表一起使用非常容易出错,并且 强烈建议用户不要尝试。

    和下面的句子:

    实现可以通过忽略列表来实现 flush 列表,并将其视为没有列表的 flush

    我将首先使用pragma omp flush 实现一个解决方案(没有任何列表)。

    然后,在尝试优化此实现之前,我真的会仔细考虑,将列表添加到刷新结构中,因为代码不会具有性能可移植性

    【讨论】:

      猜你喜欢
      • 2013-11-26
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多