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

Discussion in 'Math Software' started by Kostrov Nick, Dec 26, 2018.

  1. Kostrov Nick

    Kostrov Nick

    Joined:
    Dec 24, 2018
    Messages:
    1
    Likes Received:
    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
     
    Kostrov Nick, Dec 26, 2018
    #1
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.