5
我有一个#pragma omp parallel for
循环内的类方法。每个线程只读访问少数方法局部变量,很少调用私有数据和一个方法的参数。所有这些都在shared
条款中声明。 我的问题:OpenMP共享与firstprivate performancewise
- 性能方面不应有任何区别声明这些 变量
shared
或firstprivate
。对? - 如果我不小心使变量不共享相同的缓存行,是否也是如此?
- 如果其中一个共享变量是一个指针,并且在线程内部,我通过它读取一个值,是否有像普通循环中的别名问题?
明天我会尝试剖析我的代码。同时感谢您的建议!