1 Reply Latest reply on Oct 12, 2012 10:03 AM by chipf

    ACML 5.2.0.167 (win64-PGI) threaded functions fail

    filmore

      I'm using the win64-PGI library of ACML. When I call certain functions such as zdfft, there is no issue. But when I call some other thread-dependent functions, such as dgemm or even acmlsetnumthreads, I get the error "Error: internal error: invalid thread id". This error only occurs in the mp version of the libraries. The single threaded libraries seem to work as expected.

       

      Failing acmlinfo

      ACML (AMD Core Math Library) version 5.2.0.167  (Wed Aug  8 08:33:19 CDT 2012)

      Copyright AMD,NAG 2012

      Build system: CYGWIN_NT-6.1-WOW64 1.7.10(0.259/5/3) i686 acml-build-win

      Built using Fortran compiler: pgf90 12.5-0 64-bit target on x86-64 Windows -tp i

      stanbul

         with flags:  -Minform=warn -Mdclchk -Mcache_align -Kieee=strict -Mreentrant -

      DWIN64 -DUSE_OMP -mp -DIS_64BIT -tp=x64,barcelona-64 -Mlarge_arrays -fast -O3

      and C compiler: Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01

      for x64

         with flags:  -W3 -DIS_64BIT -DWIN64 -DWINDOWS -nologo -DUSE_OMP -O2 -MD

       

      Succeeding acmlinfo

      ACML (AMD Core Math Library) version 5.2.0.167  (Wed Aug  8 03:29:38 CDT 2012)

      Copyright AMD,NAG 2012

      Build system: CYGWIN_NT-6.1-WOW64 1.7.10(0.259/5/3) i686 acml-build-win

      Built using Fortran compiler: pgf90 12.5-0 64-bit target on x86-64 Windows -tp i

      stanbul

         with flags:  -Minform=warn -Mdclchk -Mcache_align -Kieee=strict -Mreentrant -

      DWIN64 -DIS_64BIT -tp=x64,barcelona-64 -Mlarge_arrays -fast -O3

      and C compiler: Microsoft (R) C/C++ Optimizing Compiler Version 16.00.40219.01

      for x64

         with flags:  -W3 -DIS_64BIT -DWIN64 -DWINDOWS -nologo -O2 -MD

        • Re: ACML 5.2.0.167 (win64-PGI) threaded functions fail
          chipf

          Are you using the PGI compiler to build the application, or the microsoft command line tools?

           

          We ran into this problem when building our 5.2.0 release.

           

          Unfortunately, we have found that the OpenMP PGI library requires the PGI tools be use used when linking applications for OpenMP.  This changed with the PGI 12.x compilers.

          You will notice that the example makefile for the single threaded ACML uses CL to build the C applications, but the mp example makefile uses  pgcc.