mpirun abinit I/O stream error

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
Locked
jennydaman
Posts: 3
Joined: Tue Dec 13, 2016 10:08 pm

mpirun abinit I/O stream error

Post by jennydaman » Sat Dec 17, 2016 11:34 pm

Hi, I'm really struggling with the compilation of abinit, more than 30 hours of effort and nothing works...

On this machine, I used the configuration file below:

Code: Select all

MPI_RUNNER=mpirun
CC=mpicc
FC=mpif90
enable_64bit_flags="yes"

enable_mpi="yes"
enable_mpi_io="yes"
with_mpi_level="2"

with_netcdf_incs="-I/usr/local/include"
with_netcdf_libs="-L/usr/local/lib -lnetcdf -lnetcdff"

with_fft_flavor="fftw3"
with_fft_incs="-I/usr/include/"
with_fft_libs="-L/usr/lib64/ -lfftw3 -lfftw3f"

with_dft_flavor="atompaw+bigdft+libxc+wannier90"

enable_gw_dpc="yes"


All of my software has been updated (compilers, openmpi...)

I think abinit runs fine sequentially. However, when I run

Code: Select all

./runtests.py paral -n 2 -j 2

Every test fails.
If I try running abinit myself with mpirun, it instantly crashes. It seems as if the abinit threads are all trying to start at the same time, and the I/O streams are not set up properly.

Code: Select all

$ mpirun -np 4 abinit
  ABINIT 8.0.8
 
  Give name for formatted input file:
  ABINIT 8.0.8
 
  Give name for formatted input file:
At line 182 of file iofn1.F90 (unit = 5, file = 'stdin')
Fortran runtime error: End of file

Error termination. Backtrace:
  ABINIT 8.0.8
 
  Give name for formatted input file:
At line 182 of file iofn1.F90 (unit = 5, file = 'stdin')
Fortran runtime error: End of file

Error termination. Backtrace:
  ABINIT 8.0.8
 
  Give name for formatted input file:
At line 182 of file iofn1.F90 (unit = 5, file = 'stdin')
Fortran runtime error: End of file

Error termination. Backtrace:
#0  0x7fd0b137c4ed in ???
#1  0x7fd0b137d55d in ???
#2  0x7fd0b137ddca in ???
#3  0x7fd0b157ae6b in ???
#4  0x7fd0b157b723 in ???
#5  0x7fd0b1572ae1 in ???
#6  0x7fd0b1578e74 in ???
#7  0x42efd6 in iofn1_
   at /home/jennings_zhang/abinit-8.0.8/src/95_drive/iofn1.F90:182
#8  0x409c8f in abinit
   at /home/jennings_zhang/abinit-8.0.8/src/98_main/abinit.F90:252
#9  0x4099ee in main
   at /home/jennings_zhang/abinit-8.0.8/src/98_main/abinit.F90:94
-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------
--------------------------------------------------------------------------
mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:

  Process name: [[30190,1],3]
  Exit code:    2
--------------------------------------------------------------------------


How can I stop the separate abinit threads from using the output from each other as their inputs?

Thank you for your time.

delaveau
Posts: 17
Joined: Tue May 10, 2011 3:27 pm

Re: mpirun abinit I/O stream error

Post by delaveau » Mon Mar 06, 2017 10:05 am

You probably compile without MPI. May be you make a mistake in the compile order you give ( orthographic error .. ect ..). The built system then takes the default for compiling

if you made a directory build under the abinit root, and you have your config file ./my_config.ac under this directory
You must do :
cd build
../configure --with-config-file="./my_config.ac"
otherwise a default is taken

delaveau
Posts: 17
Joined: Tue May 10, 2011 3:27 pm

Re: mpirun abinit I/O stream error

Post by delaveau » Tue Mar 07, 2017 10:18 am

It seem that your executable is sequential
You may have done a spelling mistake when you do your configure.
If this is the case, the configure doen't find your configuration file and do a default configuration.
To see if the configuration is done properly. You may have a look to config.log file or config.h file in the rrot directory of build.

Locked