mex setup for openMP using Intel parallel_studio_xe?

5 Ansichten (letzte 30 Tage)
Michael Brown
Michael Brown am 19 Nov. 2017
Bearbeitet: Walter Roberson am 21 Nov. 2017
I have successfully used openMP in FORTRAN code compiled previously as mex files under gfortran (having edited the mex.sh file appropriately). I have now updated to the latest versions of matlab and Intel parallel_studio_xe. I can compile and execute mex files. However, the openMP parallelization is not happening. Can anyone tell me the required modifications of the mex setup that will provide the correct compiler and linker options?

Antworten (1)

James Tursa
James Tursa am 20 Nov. 2017
How do you currently do the compile? Have you added the appropriate OpenMP directive to the mex compiler options? E.g., see this link for the directive (looks like it is /qopenmp or /Qopenmp):
  3 Kommentare
James Tursa
James Tursa am 21 Nov. 2017
Does it need to be -qopenmp instead of -openmp?
Is there a COMPFLAGS line in your setup files?
Michael Brown
Michael Brown am 21 Nov. 2017
Bearbeitet: Walter Roberson am 21 Nov. 2017
Thanks for responding. (1) I don't know whether -qopenmp or -openmp is correct. I could try both if I solved point (2) below.
(2) I am creating the mex file within matlab after running the "mex -setup FORTRAN" command. This correctly sets all the environments so that the mex command then builds a functioning mex code (without the openmp optimization. In earlier versions of matlab, I just went into the matlab app package and hand edited the mexopts.sh file to change compiler flags. I've done that now in R2017b but the changes are not showing up when I "mex" a file - ie. the FFLAGS still show the default list. Therefore, the mex setup script must be reading from a different source file in setting up the environment. As soon as I know where to go to edit a file, I can try to modify with different versions (-openmp vs -qopenmp).

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Execution Speed finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by