c++ - OpenMP 刷新与刷新(列表)

标签 c++ openmp

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

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

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

最佳答案

鉴于 OpenMP 3.1 标准中的建议:

Use of a flush construct with a list is extremely error prone and users are strongly discouraged from attempting it.

以及以下句子:

An implementation may implement a flush with a list by ignoring the list, and treating it the same as a flush without a list.

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

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

关于c++ - OpenMP 刷新与刷新(列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859219/

相关文章:

c++ - 没有显式使用类型的模板函数,奇怪的重载排名

c++ - 将 openMP 与 SETS 结合使用

c - 如何在openmp中为每个线程分配特定的作业以进行矩阵加法

c++ - 多线程写入文件C++

c++ - C++ 中的冒泡排序函数

java - 在构造函数方法中返回子类

c++ - 为什么下面程序的输出是 12 字节,而总大小只有 6 位?

C++ 在将文本文件读入字符串时如何忽略文本文件中的符号/数字?

c++ - OpenMP - 并行化嵌套循环

c - OpenMP : Parallel QuickSort