Update: removing the -fast switch caused this error to go away.

Prentice

On 04/27/2017 06:00 PM, Prentice Bisbal wrote:
I'm building Open MPI 2.1.0 with PGI 17.3, and now I'm getting 'illegal instruction' errors during 'make check':

../../config/test-driver: line 107: 65169 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math
    - 1 threads: Passed

That's just one example of the error output. See all relevant error output below.

Usually, I see these errors when trying to run an executable on a processor that doesn't support the instruction set of the executable. I used to see this all the time when I supported an IBM Blue Gene/P system. I don't think I've ever seen it on an x86 system.

I'm passing the argument '-tp=x64' to pgcc to build a unified binary, so that might be part of the problem, but I've used this exact same process to build 2.1.0 with PGI 16.5 just a couple hours ago. I also built 1.10.3 with the same compiler flags with PGI 16.5 and 17.3 without this error.

Any ideas?

The relevant output from 'make check':

make  check-TESTS
make[3]: Entering directory `/local/pbisbal/openmpi-2.1.0/test/asm'
make[4]: Entering directory `/local/pbisbal/openmpi-2.1.0/test/asm'
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
PASS: atomic_barrier
    - 1 threads: Passed
PASS: atomic_barrier
    - 2 threads: Passed
PASS: atomic_barrier
    - 4 threads: Passed
PASS: atomic_barrier
    - 5 threads: Passed
PASS: atomic_barrier
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
PASS: atomic_barrier_noinline
    - 1 threads: Passed
PASS: atomic_barrier_noinline
    - 2 threads: Passed
PASS: atomic_barrier_noinline
    - 4 threads: Passed
PASS: atomic_barrier_noinline
    - 5 threads: Passed
PASS: atomic_barrier_noinline
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
PASS: atomic_spinlock
    - 1 threads: Passed
PASS: atomic_spinlock
    - 2 threads: Passed
PASS: atomic_spinlock
    - 4 threads: Passed
PASS: atomic_spinlock
    - 5 threads: Passed
PASS: atomic_spinlock
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
PASS: atomic_spinlock_noinline
    - 1 threads: Passed
PASS: atomic_spinlock_noinline
    - 2 threads: Passed
PASS: atomic_spinlock_noinline
    - 4 threads: Passed
PASS: atomic_spinlock_noinline
    - 5 threads: Passed
PASS: atomic_spinlock_noinline
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
../../config/test-driver: line 107: 65169 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math
    - 1 threads: Passed
../../config/test-driver: line 107: 65172 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math
    - 2 threads: Passed
../../config/test-driver: line 107: 65176 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math
    - 4 threads: Passed
../../config/test-driver: line 107: 65180 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math
    - 5 threads: Passed
../../config/test-driver: line 107: 65185 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
../../config/test-driver: line 107: 65195 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math_noinline
    - 1 threads: Passed
../../config/test-driver: line 107: 65198 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math_noinline
    - 2 threads: Passed
../../config/test-driver: line 107: 65202 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math_noinline
    - 4 threads: Passed
../../config/test-driver: line 107: 65206 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math_noinline
    - 5 threads: Passed
../../config/test-driver: line 107: 65210 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_math_noinline
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
../../config/test-driver: line 107: 65220 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset
    - 1 threads: Passed
../../config/test-driver: line 107: 65223 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset
    - 2 threads: Passed
../../config/test-driver: line 107: 65227 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset
    - 4 threads: Passed
../../config/test-driver: line 107: 65231 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset
    - 5 threads: Passed
../../config/test-driver: line 107: 65235 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset
    - 8 threads: Passed
basename: extra operand `--test-name'
Try `basename --help' for more information.
--> Testing
../../config/test-driver: line 107: 65245 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset_noinline
    - 1 threads: Passed
../../config/test-driver: line 107: 65248 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset_noinline
    - 2 threads: Passed
../../config/test-driver: line 107: 65252 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset_noinline
    - 4 threads: Passed
../../config/test-driver: line 107: 65256 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset_noinline
    - 5 threads: Passed
../../config/test-driver: line 107: 65260 Illegal instruction "$@" > $log_file 2>&1
FAIL: atomic_cmpset_noinline
    - 8 threads: Passed
============================================================================
Testsuite summary for Open MPI 2.1.0
============================================================================
# TOTAL: 8
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  4
# XPASS: 0
# ERROR: 0
============================================================================
See test/asm/test-suite.log
Please report to http://www.open-mpi.org/community/help/
============================================================================
make[4]: *** [test-suite.log] Error 1
make[4]: Leaving directory `/local/pbisbal/openmpi-2.1.0/test/asm'
make[3]: *** [check-TESTS] Error 2
make[3]: Leaving directory `/local/pbisbal/openmpi-2.1.0/test/asm'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/local/pbisbal/openmpi-2.1.0/test/asm'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/local/pbisbal/openmpi-2.1.0/test'
make: *** [check-recursive] Error 1


The contents of test/asm/test-suite.log:

$ cat test/asm/test-suite.log
=============================================
   Open MPI 2.1.0: test/asm/test-suite.log
=============================================

# TOTAL: 8
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  4
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: atomic_math
=================

FAIL atomic_math (exit status: 132)

FAIL: atomic_math_noinline
==========================

FAIL atomic_math_noinline (exit status: 132)

FAIL: atomic_cmpset
===================

FAIL atomic_cmpset (exit status: 132)

FAIL: atomic_cmpset_noinline
============================

FAIL atomic_cmpset_noinline (exit status: 132)


And my configure command:

./configure \
  --prefix=/usr/pppl/pgi/17.3-pkgs/openmpi-2.1.0 \
  --disable-silent-rules \
  --enable-mpi-fortran \
  --enable-mpi-cxx \
  --enable-shared \
  --enable-static \
  --enable-mpi-thread-multiple \
  --with-cuda=/usr/pppl/cuda/cudatoolkit/6.5.14 \
  --with-pmix \
  --with-verbs \
  --with-hwloc \
  --with-pmi=/usr/pppl/slurm/15.08.8 \
  --with-slurm \
  --with-psm \
  CPP=cpp \
  CC=pgcc \
  CFLAGS="-fpic -tp=x64 -fast" \
  CXX=pgc++ \
  CXXFLAGS="-fpic -tp=x64 -fast" \
  FC=pgfortran \
  FCFLAGS="-fpic -tp=x64 -fast" \
  2>&1 | tee configure.log


_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to