2 Replies Latest reply on Jun 11, 2008 7:51 AM by yakktr

    LAPACK and openmp

      Lapack routines in acml cannot be called from a pure subroutine


      I am using dgetrf and dgetri for matrix inversion in a paralellized program by openmp. When I tag the subroutine with "PURE" the compiler gives error saying dgetrf and dgetri isnot pure. It is a simple parallel program, each core running the same code with different parameters so there is no message passing between cores.

       Does dgetri and dgetrf save variables which may  cause trouble in openmp?

      While searching the net, I read that Intel MKL Lapack implementation is pure, should I use it or can I go with ACML


        • LAPACK and openmp

          You should be able to call the single threaded library dgetrf/dgetri functions from an openmp parallel region.

          We do have an mp version of the library, in which both of these routines have their own openmp parallel regions. These would be a good choice for solving a large problem called from a single threaded master program, but should not be called from an already parallelized main program.