Fortran program call in Scilab 6.01: OMP does not work!

Joined
Dec 24, 2018
Messages
1
Reaction score
0
Hello everyboy!

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 stand-alone 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% that
can be seen by htop.


Thanks in advance.

Nick
 

Members online

No members online now.

Trending content

Forum statistics

Threads
2,555
Messages
9,909
Members
707
Latest member
Javer
Back
Top