[Scilab-users] Fortran program call in Scilab 6.01: OMP does not work!

mobile_ghost kostrov65 at yandex.ru
Wed Dec 26 14:05:53 CET 2018


Hello!
I wrote a parallel routine in Fortran using OMP (Intel compiler v.17.0.4)
and link it to Scilab 6.01. To my surprise the program uses only one CPU
core from 8 available. Besides, the same standalone code uses 8 cores. *Does
anybody know what the bug (if any) in Scialab 6.01 and how to bypass it?*

My system is Ubuntu 18.04. Intel compiler
(ifort version 17.0.4) command is
ifort -fPIC -shared -qopenmp grav3d_omp.f90 -o gravda_omp.so

Scilab link and call command are:
 a29=link('modules/gravda_omp.so','gravda','f');
[mgrdm]=call("gravda",a_cells,1,"d",ipar,2,"i",...
                 xgrd,3,"d",ygrd,4,"d", zgrd,5,"d",...
                 mgrdm,6,"d",indsub,7,"i",...
                 frm3d,8,"d",srf,9,"i",logfiles3d,10,"i",...
         "out",[nr_mgrdm,nc_mgrdm],6,"d");

I made a standalone version
ifort -qopenmp grav3d_omp.f90 -o gravda_omp
of the same progam and run it from Scilab 6.01
unix_w("gravda_omp");
with the same result: ONLY ONE CPU CORE is used!
BUT, when I run it from a terminal window(xfce4-terminal) it works fine.
Every CPU core busy 100%.
What's the matter? Is there a solution?

Thanks in advance.

Nick



--
Sent from: http://mailinglists.scilab.org/Scilab-users-Mailing-Lists-Archives-f2602246.html



More information about the users mailing list