1

如果变量是shared默认的(见这里),是否有必要在 openmp 指令中使用 shared 指令?

4

1 回答 1

3

正如您所指问题的答案所断言的那样,所有变量都是共享的,这并不完全正确。例如,for/ doloops 上的迭代变量是私有的。在并行区域内声明的变量是私有的。

因此,现在您会怀疑哪些变量是默认共享的,哪些是私有的。不,没有必要在defaultOpenMP 指令中添加子句。但通常,尤其是在使用 OpenMP 的早期步骤时,建议使用default(none)并明确说明所有变量的可访问性。

于 2013-09-29T10:06:51.553 回答