Can not build the smp solver under Centos-7

hello everyone
I got an erro when use the mfix-23.1 to build the solver with smp.
the Absorption_column_2d(in mfix) case was used.


Besides it seems that i can’t use the dmp,but i am sure the the openmpi3 has installed.
image


image

There are several issues here. CentOS 7 is quite old, I think that if you could upgrade the server this might solve all the problems at once.

If upgrading is impossible, then we have to go through these one by one. I can’t see all the info I need in the screenshots you pasted. First: go to ‘Settings’ (in the main menu), enable ‘Developer mode’, go back to the build popup, click “Verbose” and try again. Then, instead of a screenshot, copy all the build output and paste it here. Thanks.

Also please run mfixversioninfo (with the 23.1 env activated) and paste the output of that as well.

– Charles

Hello cgw, thanks for you reply,

image

The build ouput is below:


And after running the mfixversioninfo command:

The detiled information about output is in the uploaded output.text.
output.txt (35.9 KB)

Thanks for the output.txt file, it’s more helpful than the screenshots since screenshots only show a small portion of the text.

The key line is here:

/opt/anaconda3/envs/mfix-23.1/share/mfix/src/model/xpow.c:1:0: 
error: bad value (haswell) for -march= switch

The compiler version you are using-

-- The Fortran compiler identification is GNU 4.8.5

is almost 10 years old and does not support the -march=haswell flag.

It would be best to upgrade your compiler. More recent versions of GFortran produce code which is optimized for modern CPUs and will run faster.

If it’s not feasable to upgrade the compiler you can try this workaround:

$ conda activate mfix-23.1
$ cd $CONDA_PREFIX/share/mfix/src/model
$ nano CMakeLists.txt  # use editor of choice

find this section at line 588:

if (APPLE)
  set (MARCH "")
else()
  set (MARCH "-march=haswell")
endif()

change this to:

if (APPLE)
  set (MARCH "")
else()
  set (MARCH "")
endif()

Thanks cgw, the mfix now can run well with the smp-on.
But the dmp is still not working, what should i do?

What did you do to fix the problem? Did you upgrade GFortran as recommended, or did you modify the CMake file?

Is mpifort installed? Is it in your $PATH? What version?

Please run mfixversioninfo and upload the output as a text file.

Hello cgw, I fix the smp by upgrade Gfortrans to 11.2.1.
And the output file was upload as below:(with mfixversioninfo run)
output.txt (824 Bytes)

 mpirun (Open MPI) 3.1.3

can you try upgrading OpenMPI as well?