Why can't my mfixsolver be found?

Hey guys,

I’m trying to run a desorption model and for some reason I kept getting this error that says mpi can’t find the mfixsolver. Do you know what is wrong with my code?

Thanks,
Jack
Stack_Desorp.mfx (15.6 KB)
usr_rates (4).f (2.8 KB)

==========================================================================
BUILD SUCCESSFUL


mpirun was unable to launch the specified application as it could not access
or execute an executable:

Executable: ./mfixsolver
Node: scc-db1

while attempting to start process rank 0.

16 total processes failed to start

The script that I used to upload my task was the following.

#!/bin/bash -l

#$ -l h_rt=48:00:00 # Max run time
#$ -P ryanlab # Project name
#$ -m ea # Email on abort or complete
#$ -j y # Join error and output files
#$ -N td_jelly_roll # Job Name

#$ -pe omp 16 # Number of cores/nodes

module load openmpi/3.1.4_gnu-10.2.0
module load gcc/10.2.0
module load miniconda

build_mfixsolver --batch --dmp

mpirun -np 16 ./mfixsolver -f Stack_Desorp.mfx NODESI=4 NODESJ=4

I don’t see the problem right away.

I would add a pwd, env and ls in the submit script, between the build_mfixsolver and the mpirun lines, just to see what’s going on.

build_mfixsolver --batch --dmp
env
pwd
ls
mpirun -np 16 ./mfixsolver -f Stack_Desorp.mfx NODESI=4 NODESJ=4

Thank you Charles! I ran env, pwd, and ls. It seems the mfx.sh was created. Is mfx.sh the same thing as ./mfixsolver?

I pasted the run result below:

SCC_OPENMPI_DIR=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install
MANPATH=/usr/local/lmod/lmod/share/man:
ModuleTable003=L2dpcyIsIi9zaGFyZS9tb2R1bGUuNy9pbWFnaW5nIiwiL3NoYXJlL21vZHVsZS43L2xpYnJhcmllcyIsIi9zaGFyZS9tb2R1bGUuNy9tYWNoaW5lLWxlYXJuaW5nIiwiL3NoYXJlL21vZHVsZS43L21hdGgtZW5nIiwiL3NoYXJlL21vZHVsZS43L3Byb2dyYW1taW5nIiwiL3NoYXJlL21vZHVsZS43L3N0YXRpc3RpY3MiLCIvc2hhcmUvbW9kdWxlLjcvdXRpbGl0aWVzIiwiL3NoYXJlL21vZHVsZS43L3Zpc3VhbGl6YXRpb24iLH0sWyJzeXN0ZW1CYXNlTVBBVEgiXT0iL3NoYXJlL21vZHVsZS43L2Jpb2luZm9ybWF0aWNzOi9zaGFyZS9tb2R1bGUuNy9jaGVtaXN0cnk6L3NoYXJlL21vZHVsZS43L2dpczovc2hhcmUvbW9kdWxlLjcvaW1hZ2luZzovc2hhcmUvbW9kdWxlLjcvbGli
HOSTNAME=scc-da1
PROJ_DATA=/projectnb/ryanlab/jack7z/.conda/envs/mfix-23.1.1/share/proj
SGE_TASK_STEPSIZE=undefined
__LMOD_REF_COUNT_MODULEPATH=/share/module.7/bioinformatics:1;/share/module.7/chemistry:1;/share/module.7/gis:1;/share/module.7/imaging:1;/share/module.7/libraries:1;/share/module.7/machine-learning:1;/share/module.7/math-eng:1;/share/module.7/programming:1;/share/module.7/statistics:1;/share/module.7/utilities:1;/share/module.7/visualization:1
SHELL=/usr/local/etc/sge/shell
NUMBAPRO_CUDALIB=/share/pkg.7/cuda/11.6/install/lib64
HISTSIZE=1000
NHOSTS=1
SCC_OPENMPI_LIB=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/lib
MODULEPATH_ROOT=/usr/local/modulefiles
SGE_O_WORKDIR=/projectnb/ryanlab/jackz/test/Stack_Desorp/debug
TMPDIR=/scratch/8433579.1.ryanlab1
CONDA_SHLVL=1
SGE_O_HOME=/usr3/graduate/jack7z
CONDA_PROMPT_MODIFIER=(mfix-23.1.1)
SGE_ARCH=linux-x64
SGE_CELL=default
GSETTINGS_SCHEMA_DIR_CONDA_BACKUP=
LMOD_PKG=/usr/local/lmod/lmod
QTDIR=/usr/lib64/qt-3.3
LMOD_VERSION=7.8
QTINC=/usr/lib64/qt-3.3/include
SCC_MINICONDA_DIR=/share/pkg.7/miniconda/23.1.0/install
SCC_OPENMPI_BIN=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/bin
RESTARTED=0
__LMOD_REF_COUNT_LOADEDMODULES=openmpi/3.1.4_gnu-10.2.0:1;gcc/10.2.0:1;miniconda/23.1.0:1
QT_GRAPHICSSYSTEM_CHECKED=1
ARC=linux-x64
SCC_GCC_DIR=/share/pkg.7/gcc/10.2.0/install
SCC_OPENMPI_INCLUDE=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/include
USER=jack7z
LD_LIBRARY_PATH=/share/pkg.7/gcc/10.2.0/install/lib64:/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/lib
LMOD_sys=Linux
CONDA_EXE=/share/pkg.7/miniconda/23.1.0/install/bin/conda
SGE_TASK_LAST=undefined
QUEUE=ryanlab1
ModuleTable004=cmFyaWVzOi9zaGFyZS9tb2R1bGUuNy9tYWNoaW5lLWxlYXJuaW5nOi9zaGFyZS9tb2R1bGUuNy9tYXRoLWVuZzovc2hhcmUvbW9kdWxlLjcvcHJvZ3JhbW1pbmc6L3NoYXJlL21vZHVsZS43L3N0YXRpc3RpY3M6L3NoYXJlL21vZHVsZS43L3V0aWxpdGllczovc2hhcmUvbW9kdWxlLjcvdmlzdWFsaXphdGlvbiIsfQ==
_LMOD_REF_COUNT__LMFILES=/share/module.7/libraries/openmpi/3.1.4_gnu-10.2.0.lua:1;/share/module.7/programming/gcc/10.2.0.lua:1;/share/module.7/programming/miniconda/23.1.0.lua:1
_CE_CONDA=
SGE_TASK_ID=undefined
ModuleTable001=X01vZHVsZVRhYmxlXz17WyJNVHZlcnNpb24iXT0zLFsiY19yZWJ1aWxkVGltZSJdPTg2NDAwLFsiY19zaG9ydFRpbWUiXT1mYWxzZSxkZXB0aFQ9e30sZmFtaWx5PXt9LG1UPXtnY2M9e1siZm4iXT0iL3NoYXJlL21vZHVsZS43L3Byb2dyYW1taW5nL2djYy8xMC4yLjAubHVhIixbImZ1bGxOYW1lIl09ImdjYy8xMC4yLjAiLFsibG9hZE9yZGVyIl09Mixwcm9wVD17fSxbInN0YWNrRGVwdGgiXT0wLFsic3RhdHVzIl09ImFjdGl2ZSIsWyJ1c2VyTmFtZSJdPSJnY2MvMTAuMi4wIix9LG1pbmljb25kYT17WyJmbiJdPSIvc2hhcmUvbW9kdWxlLjcvcHJvZ3JhbW1pbmcvbWluaWNvbmRhLzIzLjEuMC5sdWEiLFsiZnVsbE5hbWUiXT0ibWluaWNvbmRhLzIzLjEuMCIsWyJsb2FkT3Jk
MAIL=/var/spool/mail/jack7z
SGE_BINARY_PATH=/usr/local/ogs-ge2011.11.p1/sge_root/bin/linux-x64
PATH=/projectnb/ryanlab/jack7z/.conda/envs/mfix-23.1.1/bin:/share/pkg.7/miniconda/23.1.0/install/condabin:/share/pkg.7/miniconda/23.1.0/install/bin:/share/pkg.7/gcc/10.2.0/install/bin:/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/bin:/projectnb/ryanlab/kotler/ADS-CAMP-31/GROUP-1/1:/projectnb/ryanlab/kotler:/scratch/8433579.1.ryanlab1:/usr/java/default/jre/bin:/usr/java/default/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/dell/srvadmin/bin:/bin:/usr3/graduate/jack7z/bin:.
PROJ_NETWORK=ON
GSETTINGS_SCHEMA_DIR=/projectnb/ryanlab/jack7z/.conda/envs/mfix-23.1.1/share/glib-2.0/schemas
SCC_MINICONDA_LICENSE=/share/pkg.7/miniconda/23.1.0/install/LICENSE.txt
XML_CATALOG_FILES=file:///projectnb/ryanlab/jack7z/.conda/envs/mfix-23.1.1/etc/xml/catalog file:///etc/xml/catalog
MKL_NUM_THREADS=1
CONDA_PREFIX=/projectnb/ryanlab/jack7z/.conda/envs/mfix-23.1.1
NUMBA_NUM_THREADS=1
SGE_STDERR_PATH=/projectnb/ryanlab/jackz/test/Stack_Desorp/debug/td_jelly_roll.o8433579
F90=/share/pkg.7/gcc/10.2.0/install/bin/gfortran
PWD=/projectnb/ryanlab/jackz/test/Stack_Desorp/debug
NUMEXPR_NUM_THREADS=1
NUMBAPRO_LIBDEVICE=/share/pkg.7/cuda/11.6/install/nvvm/libdevice
LMFILES=/share/module.7/libraries/openmpi/3.1.4_gnu-10.2.0.lua:/share/module.7/programming/gcc/10.2.0.lua:/share/module.7/programming/miniconda/23.1.0.lua
SGE_STDOUT_PATH=/projectnb/ryanlab/jackz/test/Stack_Desorp/debug/td_jelly_roll.o8433579
SGE_ACCOUNT=sge
NUMBAPRO_NVVM=/share/pkg.7/cuda/11.6/install/nvvm/lib64/libnvvm.so
LANG=C
MODULEPATH=/share/module.7/bioinformatics:/share/module.7/chemistry:/share/module.7/gis:/share/module.7/imaging:/share/module.7/libraries:/share/module.7/machine-learning:/share/module.7/math-eng:/share/module.7/programming:/share/module.7/statistics:/share/module.7/utilities:/share/module.7/visualization
JOB_SCRIPT=/var/spool/sge/scc-da1/job_scripts/8433579
JOB_NAME=td_jelly_roll
ModuleTable_Sz=4
LOADEDMODULES=openmpi/3.1.4_gnu-10.2.0:gcc/10.2.0:miniconda/23.1.0
KDEDIRS=/usr
SGE_ROOT=/usr/local/sge/sge_root
SCC_MINICONDA_BIN=/share/pkg.7/miniconda/23.1.0/install/bin
F77=/share/pkg.7/gcc/10.2.0/install/bin/gfortran
SCC_OPENMPI_LICENSE=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/LICENSE
SCC_GCC_LIB=/share/pkg.7/gcc/10.2.0/install/lib64
LMOD_CMD=/usr/local/lmod/lmod/libexec/lmod
REQNAME=td_jelly_roll
_CE_M=
CXX=/share/pkg.7/gcc/10.2.0/install/bin/g++
HISTCONTROL=ignoredups
SGE_JOB_SPOOL_DIR=/var/spool/sge/scc-da1/active_jobs/8433579.1
ENVIRONMENT=BATCH
PE_HOSTFILE=/var/spool/sge/scc-da1/active_jobs/8433579.1/pe_hostfile
SCC_GCC_LICENSE=/share/pkg.7/gcc/10.2.0/install/COPYING
SHLVL=1
HOME=/usr3/graduate/jack7z
__LMOD_REF_COUNT_PATH=/share/pkg.7/miniconda/23.1.0/install/bin:1;/share/pkg.7/gcc/10.2.0/install/bin:1;/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/bin:1;/projectnb/ryanlab/kotler/ADS-CAMP-31/GROUP-1/1:2;/projectnb/ryanlab/kotler:2;/scratch/8433579.1.ryanlab1:1;/usr/java/default/jre/bin:1;/usr/java/default/bin:1;/usr/lib64/qt-3.3/bin:1;/usr/local/bin:1;/usr/bin:1;/usr/local/sbin:1;/usr/sbin:1;/sbin:1;/opt/dell/srvadmin/bin:1;/bin:1;/usr3/graduate/jack7z/bin:2;.:2
OMPI_MCA_btl_base_warn_component_unused=0
SGE_CWD_PATH=/projectnb/ryanlab/jackz/test/Stack_Desorp/debug
NQUEUES=1
SGE_O_LOGNAME=jack7z
ModuleTable002=ZXIiXT0zLHByb3BUPXt9LFsic3RhY2tEZXB0aCJdPTAsWyJzdGF0dXMiXT0iYWN0aXZlIixbInVzZXJOYW1lIl09Im1pbmljb25kYSIsfSxvcGVubXBpPXtbImZuIl09Ii9zaGFyZS9tb2R1bGUuNy9saWJyYXJpZXMvb3Blbm1waS8zLjEuNF9nbnUtMTAuMi4wLmx1YSIsWyJmdWxsTmFtZSJdPSJvcGVubXBpLzMuMS40X2dudS0xMC4yLjAiLFsibG9hZE9yZGVyIl09MSxwcm9wVD17fSxbInN0YWNrRGVwdGgiXT0wLFsic3RhdHVzIl09ImFjdGl2ZSIsWyJ1c2VyTmFtZSJdPSJvcGVubXBpLzMuMS40X2dudS0xMC4yLjAiLH0sfSxtcGF0aEE9eyIvc2hhcmUvbW9kdWxlLjcvYmlvaW5mb3JtYXRpY3MiLCIvc2hhcmUvbW9kdWxlLjcvY2hlbWlzdHJ5IiwiL3NoYXJlL21vZHVsZS43
FC=/share/pkg.7/gcc/10.2.0/install/bin/gfortran
SGE_O_MAIL=/var/spool/mail/jack7z
BASH_ENV=/usr/local/lmod/lmod/init/bash
CONDA_PYTHON_EXE=/share/pkg.7/miniconda/23.1.0/install/bin/python
TMP=/scratch/8433579.1.ryanlab1
JOB_ID=8433579
LOGNAME=jack7z
QTLIB=/usr/lib64/qt-3.3/lib
XDG_DATA_DIRS=/usr3/graduate/jack7z/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
PE=omp16
MODULESHOME=/usr/local/lmod/lmod
SGE_TASK_FIRST=undefined
CONDA_DEFAULT_ENV=mfix-23.1.1
SCC_GCC_BIN=/share/pkg.7/gcc/10.2.0/install/bin
PKG_CONFIG_PATH=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/lib/pkgconfig
__LMOD_REF_COUNT_LD_LIBRARY_PATH=/share/pkg.7/gcc/10.2.0/install/lib64:1;/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/lib:1
LMOD_SETTARG_FULL_SUPPORT=no
OMP_NUM_THREADS=1
LESSOPEN=||/usr/bin/lesspipe.sh %s
SGE_O_PATH=/projectnb/ryanlab/kotler/ADS-CAMP-31/GROUP-1/1:/projectnb/ryanlab/kotler/:/usr/java/default/jre/bin:/usr/java/default/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/dell/srvadmin/bin:/bin:/usr3/graduate/jack7z/bin:.
CC=/share/pkg.7/gcc/10.2.0/install/bin/gcc
__LMOD_REF_COUNT_PKG_CONFIG_PATH=/share/pkg.7/openmpi/3.1.4_gnu-10.2.0/install/lib/pkgconfig:1
SGE_O_HOST=scc2
SGE_O_SHELL=/bin/bash
QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins
REQUEST=td_jelly_roll
LMOD_DIR=/usr/local/lmod/lmod/libexec
NSLOTS=16
SGE_STDIN_PATH=/dev/null
BASH_FUNC_module()=() { eval $($LMOD_CMD bash “$@”) && eval $(${LMOD_SETTARG_CMD:-:} -s sh)
}
BASH_FUNC_ml()=() { eval $($LMOD_DIR/ml_cmd “$@”)
}
_=/usr/bin/env
/projectnb/ryanlab/jackz/test/Stack_Desorp/debug
Stack_Desorp.mfx
batch_develop.sh
build
mfixsolver.sh
mfixsolver.so
td_jelly_roll.o8433579
td_jelly_roll.po8433579
usr_rates.f

Ok, I think I see the problem.

Something has gone wrong with the build_mfixsolver script, in particular it looks like the --batch flag is not working correctly.

I tried
build_mfixsolver --batch
and instead of building the batch-mode mfixsolver, it built the interactive (Python-enabled) version, called mfixsolver.sh, but because the --batch flag was specified, it did not create the symlink to mfixsolver.

Install the project...
-- Install configuration: "RelWithDebInfo"
-- Up-to-date: /tmp/xyz/mfixsolver.so
-- Installing: /tmp/xyz/mfixsolver.sh

For batch-mode there should not be a .sh or .so file, just the plain binary `mfixsolver.

(mfix-23.1.1) ./mfixsolver.sh --print-flags
dmp python 

The python in the output means that the solver was built with Python (interactive) support, the batch-mode solver should just say dmp (or nothing, if dmp was not enabled).

I’m not sure when this stopped working but we will issue a fix as soon as possible.

In the meanwhile:

  1. Is there a reason for not using the interactive version? Can you just do
    build-mfixsolver --dmp and use that?

  2. The --batch flag is supposed to be synonymous with --server=none, but --server=none actually works while --batch does not.

  3. I’d add -j 8 to the build command to make the build go faster (parallel compilation)

    build_mfixsolver --server=none --dmp -j 8
    should work for you:

mfix-23.1.1)$ ls
bld.log  build  mfixsolver

(mfix-23.1.1)$ file mfixsolver 
mfixsolver: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, with debug_info, not stripped

mfix-23.1.1)$  ./mfixsolver --print-flags
dmp 

Sorry for the trouble!

– Charles

Thank you Charles! The major reason why I don’t use GUI is that I need to run MFiX on the school cluster, and it seems the school cluster doesn’t support GUI. Also I need to run 100 simulations at the same time on the cluster, so it’s easier submitting the job through the terminal instead of the GUI.

I tried “build-mfixsolver --dmp” but got the error saying “pymfix.py: error: unrecognized arguments: NODESI=4 NODESJ=4”. Did I miss something?

Thanks,
Jack

The interactive solver does not allow setting keywords on the command line.

You need to put the nodesi, nodesj, nodesk in the file.

Or use the batch solver, build with build_mfixsolver --dmp --server=none (to work around bug in build script). If you use the batch solver you can put the nodes* definitions on the command line.

Sorry for the late reply. Thank you Charles!