Differences between revisions 33 and 34
Revision 33 as of 2011-07-08 13:08:48
Size: 4371
Editor: JuanEscobar
Comment:
Revision 34 as of 2013-06-04 11:53:56
Size: 4379
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
[[TableOfContents]] <<TableOfContents>>
Line 94: Line 94:
 * put the sources of Open-MPI( 1.2.8 ) in this "~/work" directory : attachment:openmpi-1.2.8.tar.bz2  * put the sources of Open-MPI( 1.2.8 ) in this "~/work" directory : [[attachment:openmpi-1.2.8.tar.bz2]]
Line 101: Line 101:
 * put this config file in the "~/work/openmpi-1.2.8" directory attachment:CONFIGURE_OPENMPI_IFORT  * put this config file in the "~/work/openmpi-1.2.8" directory [[attachment:CONFIGURE_OPENMPI_IFORT]]

« MesonhTEAMFAQ/PC Linux ».


Current CVS Version of MESONH


PACK-MNH-V4-8-4

http://mesonh.aero.obs-mip.fr/cgi-bin/mesonh_interne/viewcvs.cgi/MNH-VX-Y-Z/?only_with_tag=PACK-MNH-V4-8-4


PACK-MNH-V4-7-4

http://mesonh.aero.obs-mip.fr/cgi-bin/mesonh_interne/viewcvs.cgi/MNH-VX-Y-Z/?only_with_tag=PACK-MNH-V4-7-4


Pc32Bit



Pc64Bit



TROUBLE-SHOOTING


Problem with "mpivide.c" en old version of "gcc < 4.X.X "

  • If at the and for your compilation using the default "MPIVIDE" librarie you obtain undefined error like this

    /.../MNH-V4-7-3/src/dir_obj-LX...MPIVIDE.../MASTER/spll_mode_init_ll.f90:551:
    undefined reference to `mpi_buffer_attach_'
    /.../MNH-V4-7-3/src/dir_obj-LX...MPIVIDE.../MASTER/spll_mode_exchange_ll.f90:1839:
    undefined reference to `mpi_barrier_'
  • It probably because your "gcc" compile don't anderstand the "#pragma weak" use in the file "mpivide.c" to defined all the "underscore" and "double_undersocre" flavor of mpivide routines
  • To bypass the problem switch to the old version of "mpivide.c" doing this command
    cd ...src/LIB/MPIvide
    cvs up -r PACK-MNH-V4-6-5 mpivide.c
    cd .../src make


Compiler BUG with "ifort 10.0.xxx"

  • Some routines doesn't compile with the version "10.0.XXX" of "ifort" ( at least untly 10.0.023 )
  • Solution => Upgrade to ifort "10.1.008" or Downgrade to an old version ifort "9.xxx"


Problem of "segmentation violation" & Linux "stack size limit"

  • If when running the examples given in the MESONH package you end up with a segmentation violation error

    • => this probably comes from a problem with the stack size limit on your Linux computer ...

  • Check this limit with the command
    ulimit -s
  • This limit is given in Kbytes and is often set to 8192 KB

    • => this minds that only 8Mbytes are allocated for the arrays in stack memory = allocatable variable

    • => It's a very low walue !!!

  • It is highly recommanded to upgrade this parameter to the unlimited value in your ".bashrc" or ".profile" with this command

    ulimit -s unlimited


Use Full commands


How to get the "static size" in decimal value of data in an executable

 nm  -td -r --size-sort MESONH | less


Compilation of OPEN-MPI


With ifort

  • create a work directory where you want ( you don't need to be root )

mkdir ~/work
cd ~/work
  • put the sources of Open-MPI( 1.2.8 ) in this "~/work" directory : openmpi-1.2.8.tar.bz2

  • "untar" the sources

cd ~/work
tar xvfj openmpi-1.2.8.tar.bz2
  • put this config file in the "~/work/openmpi-1.2.8" directory CONFIGURE_OPENMPI_IFORT

  • change the excusion mode, configure & compile in 1 step

cd ~/work/openmpi-1.2.8
chmod +x CONFIGURE_OPENMPI_IFORT
./CONFIGURE_OPENMPI_IFORT
  • You could remove the "~/work"
  • OK , you've got the OPEN-MPI-12.8 , to use it with Meson-Nh put this in your "~/.bashrc"

export MPI_ROOT=${HOME}/OPEN-MPI-128-IFORT
export PATH=${MPI_ROOT}/bin:${PATH}
export MANPATH=${MPI_ROOT}/share/man:${MANPATH}
export LD_LIBRARY_PATH=${MPI_ROOT}/lib:${LD_LIBRARY_PATH}
  • To compile MESONH use

export VER_MPI=OMPI12X
export ARCH=LXifort
./configure
etc ...
  • To running Mesonh with 2 cores use "mpirun" ( see the man for more options)

mpirun -np 2 MESONH
  • If you use the "run_mesonh_xyz" script

export MPIRUN="mpirun -np 2"
./run_mesonh_xyz


With g95

  • In the same way for "g95" use this options/variables in the CONFIGURE_OPENMPI_G95

set -x
export FC=g95
export F77=g95
export FCFLAGS=" -g  -O3 -fpic "
./configure --prefix=$HOME/OPEN-MPI-128-G95 
make clean
make
make install


With gfortran

  • Idem for "gfortran" use this options/variables in the CONFIGURE_OPENMPI_GFORTRAN

set -x
export FC=gfortran
export F77=gfortran
export FCFLAGS=" -g  -O3 -fpic "
./configure --prefix=$HOME/OPEN-MPI-128-GFORTRAN 
make clean
make
make install

Mesonh-54: MesonhTEAMFAQ/PC_Linux (last edited 2013-06-04 11:53:56 by localhost)