If the OMPI_HAVE_THREAD_SUPPORT is not set the LIFO fall back to a default version where atomic operations are not required. We can even remove the dependency on the atomic.h header if the thread support is not enabled.

Unfortunately, our shared memory device require the atomic operations plus the memory barriers. Therefore, we cannot do anything more fine grained (such as non-existence of atomic compare-and-swap disable only the threading support and the non-existence of the memory barrier disable only the shared memory support).

  george.

On Jul 14, 2007, at 1:27 PM, Brian Barrett wrote:

On Jul 14, 2007, at 11:16 AM, George Bosilca wrote:

Instead of failing at configure time, we might want to disable the
threading features and the shared memory device if we detect that we
don't have support for atomics on a specified platform. In a non
threaded build, the shared memory device is the only place where we
need support for memory barrier. I'll look in the code to see why we
need support for compare-and-swap on a non threaded build.

George -

Disabling SM and threads if there's no atomic support would
definitely be one option.  The compare-and-swap is used by the LIFO
used for ompi free lists.

Brian
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel

Reply via email to