1 Reply Latest reply on Nov 9, 2009 4:57 PM by chipf

    Incompatibility between OpenMP in ACML and gfortran

    nmmamd
      This is ACML 4.3.0

      gfortran -fopenmp is incompatible with -lacml_mp under at least some
      circumstances. The program is LAPACK Cholesky and its solver, converted
      to Fortran 90 and instrumented for a course. It fails with 4.4.1 in ACML
      (i.e. the LAPACK call returns an erroneous error value), and in 4.3.2
      the solver (which does NOT call ACML) takes 10 times as long as it should
      do. Omitting the -fopenmp and using -lacml instead both work perfectly;
      i.e. it fails ONLY if both -fopenmp and -lacml_mp are used. Oh, and it
      works with -llapack, too. Oh, joy.

      Here is some of the gfortran grobble:

      osset$gfortran -v
      Using built-in specs.
      Target: x86_64-unknown-linux-gnu
      Configured with: ../configure --prefix=/home/nmm/gfortran --disable-shared
      --disable-threads --disable-bootstrap -enable-languages=fortran
      --enable-werror=yes --enable-checking=all --disable-decimal-float
      Thread model: single
      gcc version 4.4.1 (GCC)
      gosset$/usr/bin/gfortran -v
      Using built-in specs.
      Target: x86_64-suse-linux
      ...
      Thread model: posix
      gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)

      The source is fairly short and clean, but fred_f_1000 is 16 MB.
      The 4.4.1 failure shows with a 160 MB test file, but not the 4.3.2
      one. However, I can the generating programs, which are very
      short.