1 Reply Latest reply on Nov 2, 2012 9:25 AM by chipf

    Parallel and Serial BLAS calls in the same program


      I am writing a C++ program that needs to call both the parallel and serial versions of functions (dgemm, etc.) in the BLAS library in ACML.  Does anyone know how to do this?  I have acml 4.4.0 installed.  Thanks.

        • Re: Parallel and Serial BLAS calls in the same program

          You will have to link with the MP library, and this will mean that always the OpenMP version will be used.  One way to get single threaded behaviour when you want it is to have the program all openMP runtime routines to set the number of threads.  You can also control this through the pragmas that demarc various sections of code.  There is a way for the pragma to specify the number of threads.


          I don't expect you'll have much luck trying to link in both openMP and single threaded libraries, you'll have a lot of multiply defined labels.  Maybe you could load shared libraries in a clever way to keep each dll in it's own namespace.