Re: [OMPI devel] query on atomic operations

2016-04-10 Thread Marco Atzeri
On 01/04/2016 17:51, Nathan Hjelm wrote: This is done to provide the functionality when the compiler doesn't support inline asm. I do not know how testing is done with the atomics in opal/asm/base atomics so its possible some of them are incorrect. -Nathan I should say that the testing is i

Re: [OMPI devel] query on atomic operations

2016-04-01 Thread Nathan Hjelm
This is done to provide the functionality when the compiler doesn't support inline asm. I do not know how testing is done with the atomics in opal/asm/base atomics so its possible some of them are incorrect. -Nathan On Fri, Apr 01, 2016 at 02:39:39PM +0530, Sreenidhi Bharathkar Ramesh wrote: >

Re: [OMPI devel] query on atomic operations

2016-04-01 Thread Sreenidhi Bharathkar Ramesh
(Sorry, typo in previous email. Please read that as) I have another question: why is any given operation implemented twice for the same architecture? Ref: opal/asm/base/AMD64.asm and opal/include/opal/sys/amd64/atomic.h, say function opal_atomic_cmpset_32() Thanks! On Fri, Apr 1, 2016 at 2

Re: [OMPI devel] query on atomic operations

2016-04-01 Thread Sreenidhi Bharathkar Ramesh
Hi Paul, Thanks for the response, I understand. I have another question: why is any given operation implemented twice for the same architecture? Ref: opal/asm/base/ARM.asm and opal/include/opal/sys/amd64/atomic.h Please let me know. Thanks, - Sreenidhi. On Thu, Mar 31, 2016 at 2:28 AM, Pau

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

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.

[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