[OMPI devel] query on atomic operations

2016-03-30 Thread Sreenidhi Bharathkar Ramesh
Hello, With respect to atomic operations in assembly, I can see three source files, for the same AMD64 architecture. 1. opal/asm/base/AMD64.asm 2. opal/include/opal/sys/amd64/atomic.h 3. opal/include/opal/sys/atomic_impl.h What is the need for three files ? How are they inter-related ? Please

Re: [OMPI devel] query on atomic operations

2016-03-30 Thread Sreenidhi Bharathkar Ramesh
Hello, I did few more experiments. Built-in atomics are disabled by default and can be enabled by "--enable-builtin-atomics". With this option, a different atomic file is include (I mean, different from the other three mentioned in the earlier email). opal/include/opal/sys/sync_builtin/atomic.

Re: [OMPI devel] query on atomic operations

2016-03-30 Thread Paul Hargrove
Sreenihdi, Maintenance of the "other" files is, at least, required for older compilers (including several non-GNU ones) which have support for GCC inline ASM constructs but do not include the __sync functions. Additionally, the __sync functions always include a full memory fence while there are p