I had an opportunity to try the 1.8.5rc2 tarball on a little-endian POWER8 (aka ppc64el or powerpc64le). The good news is that things "just worked" as they did when I tried ARMv8 (aka aarch64).
However, I see a little room for improvement with almost no work at all. I noticed: checking for __sync builtin atomics... yes checking for assembly architecture... UNSUPPORTED checking for builtin atomics... BUILTIN_SYNC checking for atomic assembly filename... none and I confirmed the same behavior on master. The existing powerpc64 inline asm should work. So, I made a one-line change (at bottom of this email) to recognize the architecture and now get "native" atomics. checking if PowerPC registers have r prefix... no checking if powerpc64le-linux-gnu-gcc-4.9 -std=gnu99 supports GCC inline assembly... yes checking if powerpc64le-linux-gnu-gcc-4.9 -std=gnu99 supports DEC inline assembly... no checking if powerpc64le-linux-gnu-gcc-4.9 -std=gnu99 supports XLC inline assembly... no checking for assembly format... default-.text-.globl-:--.L-@-1-1-0-1-1 checking for assembly architecture... POWERPC64 checking for builtin atomics... BUILTIN_NO checking for perl... (cached) perl checking for pre-built assembly file... no (not in asm-data) checking whether possible to generate assembly file... yes checking for atomic assembly filename... atomic-local.s and phargrov@ppc64el:~/OMPI/ompi-master/BLD$ make -C test/asm check [...] ============================================================================ Testsuite summary for Open MPI gitclone ============================================================================ # TOTAL: 8 # PASS: 8 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ In addition to the one-line patch below, I needed to run autogen.pl with a new enough config/config.{guess,sub}. Along the way I noticed opal/mca/common/libfabric/libfabric/config/config.guess opal/mca/common/libfabric/libfabric/config/config.sub opal/mca/hwloc/hwloc191/hwloc/config/config.guess opal/mca/hwloc/hwloc191/hwloc/config/config.sub which appear to be too old to recognize powerpc64le and are *not* updated when autogen.pl is run. I manually updated them, but somebody may want to either commit newer versions to git or teach autogen.pl to update them. FWIW, it appears that tarballs *are* generated with up-to-date versions. Go figure. -Paul diff --git a/config/opal_config_asm.m4 b/config/opal_config_asm.m4 index 7ceadfc..c5f72c5 100644 --- a/config/opal_config_asm.m4 +++ b/config/opal_config_asm.m4 @@ -988,7 +988,7 @@ AC_DEFUN([OPAL_CONFIG_ASM],[ OPAL_GCC_INLINE_ASSIGN='"or %0,[$]0,[$]0" : "=&r"(ret)' ;; - powerpc-*|powerpc64-*|rs6000-*|ppc-*) + powerpc-*|powerpc64-*|powerpc64le-*|rs6000-*|ppc-*) OPAL_CHECK_POWERPC_REG if test "$ac_cv_sizeof_long" = "4" ; then opal_cv_asm_arch="POWERPC32" -- Paul H. Hargrove phhargr...@lbl.gov Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900