2 Oct
2015
2 Oct
'15
8:15 p.m.
Sturla Molden <sturla.molden@gmail.com> wrote:
Cython actually requires that there is a shared address space, and it invokes something that strictly speaking has undefined behavior under the OpenMP standard. So thus, a prange block in Cython is expected to work correctly on a laptop with a multicore processor, but it is not expected to work correctly on a cluster.
OpenMP does not guarrantee that dereferencing a pointer in a parallel block will dereference the same object across all processors. It only guarrantees that the value of a shared object can be synchronized. There are many who use OpenMP and think only in terms of threads that do this incorrectly. Cython is actually among those. S.M.