Welcome, Guest
Username: Password: Remember me

TOPIC: step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 1 month ago #24036

  • stef
  • stef's Avatar
Hello, as a beginner with Telemac, I spend a lot of time understand how to install it in parallel... So now I managed to do it, I want to share my way with the community, step by step, because a lot of mistakes can be done. The *.cfg is really a mess for beginners, you will find a working one in attachments.

May be some things can be improved, but it seems to work well with Ubuntu (Gnome) 16.04 LTS. Please come back to me if anything seems to be wrong.

I find a good help with that post from qilong and his description of his docker image. Thnaks to him !

I tried to stick with the command line, maybe it will work on a linux server as well.

Let's go :

### install dependecies
sudo apt-get update && sudo apt-get install -y subversion vim cmake build-essential gfortran mpich subversion python python-numpy dialog

### download telemac in your home folder
svn co http://svn.opentelemac.org/svn/opentelemac/tags/v7p1r1  ~/telemac/v7p1 --username ot-svn-public --password telemac1*

### bashrc settings
vim ~/.bashrc
then insert these lines (type the letter "i" in vim) at the end of the file
export PATH=~/telemac/v7p1/scripts/python27/:$PATH
export SYSTELCFG=~/telemac/v7p1/configs/systel.ubuntu.cfg
I named my own *.cfg file, change it if you want.
escape (ESC) save with":wq" + RETURN.
Apply with
source ~/.bashrc

### install metis
cd ~/telemac/v7p1/optionals
mkdir temp
cd temp
wget http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz
gunzip metis-5.1.0.tar.gz
tar -xvf metis-5.1.0.tar
cd metis-5.1.0
vim Makefile
change ("i" then ESC + ":wq")
prefix = ~/telemac/v7p1/optionals/metis-5.1.0/build/
cc = gcc
copy the makefile and remove temp folder
cp Makefile ~/telemac/v7p1/optionals/metis-5.1.0
cd ~/telemac/v7p1/optionals/
rm -rf temp
compile
cd ~/telemac/v7p1/optionals/metis-5.1.0
make config
make

### config systel.ubuntu.cfg
copy systel.ubuntu.cfg

File Attachment:

File Name: systel.ubuntu.cfg
File Size: 4 KB


into ~/telemac/v7p1/configs/
verify in "Ubuntu gfortran mpich2" libs_partel is a true directory : ~/telemac/v7p1/optionals/metis-5.1.0/build/Linux-x86_64/libmetis/libmetis.a

### compile TELEMAC
compileTELEMAC.py

### other softwares with a gui interface to get a full working station
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update && sudo apt-get install -y qgis python-qgis qgis-plugin-grass grass grass-doc monteverdi otb-bin postgresql postgis spatialite-gui spatialite-bin gdal-bin paraview python-scipy python-matplotlib
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 4 weeks ago #24078

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Thank for that.

I add in minf to write something like that into the wiki for the next version.
Would you be okay if i re-used your as a first version ?
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 4 weeks ago #24080

  • stef
  • stef's Avatar
Hello Yugi.
Off course, you can, just give the name of the authors : qilong (without him I think I did not suceed, the .cfg file is the one into his docker file) and (eventually) myself.
I am just trying to include intel fortan compiler, i will tell you within this topic if I managed to do something and explain it.
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 2 weeks ago #24166

  • stef
  • stef's Avatar
I need some help to write the step by step guide with intel compiler.

As a (part of my time) student (it's the same thing for educators, academic researchers and open source contributors, see here) , I have a free access to Intel® Parallel Studio XE Cluster Edition for Linux, which contains intel fortran and c++ compiler, and intel mpi. Installation of intel parallel studio is easy with a gui interface, and in command line a little more difficult, but I already wrote the step by step guide for that part.

My questions :
- is a "full intel installation" (intel fortan, intel C++ compiler, intel mpi) of telemac the most effective solution in terms of performance ?
- with the full intel install, is it better to compile metis with Intel C++ compiler ? Can i directly use the intel mpi solution and paths in .cfg file for telemac ?
- with an install using just intel fortran compiler, can i compile metis with gcc and use mpich from standard install utility (aptitude on Debian/Ubuntu for exemple), as I do in the step by step guide above ?

Thanks to the ones that could answer.
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 2 weeks ago #24172

  • josekdiaz
  • josekdiaz's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 161
  • Thank you received: 48
Stef,

Be warned:
I'll try to address the question from my personal experience! Any of this answers could be pointed as a misconception/mistake by someone else with more experience in this field!

- is a "full intel installation" (intel fortan, intel C++ compiler, intel mpi) of telemac the most effective solution in terms of performance ?

Telemac's intel compiled executables on Intel hardware tend to be 20-40% faster than GCC ones in our serial tests (even in fine-tunning!).

Don't know exactly why, but in our rigs Intel's mpi tends to slow down a little (5-8%) comparing to MPICH/OpenMPI counterparts in parallel configs (1 node multiple cores), perhaps it needed a little more specific-tuning before drawing some conclusions...

- with the full Intel install, is it better to compile metis with Intel C++ compiler ?

Mixing compilers between METIS and Telemac is never a good idea specially if you are fine-tunning, tried once without any success (Telemac compiled but couldn't even run a bundled test-case!). So my advice is full gcc/gfortran or icc/ifort in both METIS and Telemac...

Can i directly use the intel mpi solution and paths in .cfg file for telemac ?

Yes you can! as long as you are careful with Intel's env variables when using the terminal for a telemac case (since 2012? intel runs on a local-based config env rather than a global messy one)
you can directly call e.g. "mpiifort" from the cfg file. ;)


- with an install using just intel fortran compiler, can i compile metis with gcc and use mpich from standard install utility (aptitude on Debian/Ubuntu for exemple), as I do in the step by step guide above ?

As Mentioned I'm not a fan of mixing compilers/mp utilities from different "vendors" , but if you really want to try an opensource/propietary combo, Intel's parallel studio comes with both a wrapper for MPICH and a compability mode and if a recall correctly a wrapper for openmpi (you'll have to carefully check in the Intel mpi options or google that...).

Hope it helps!

Ragards,

José Díaz
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 2 weeks ago #24218

  • phorgue
  • phorgue's Avatar
Dear All,

I followed the guide but I have some issues when I run some test case.
The executable is correctly made (for example the test-case conflence) but I obtained this error message :


|_|
MPI_INITIALIZED F
[phorgue-Latitude:13963] *** An error occurred in MPI_Comm_rank
[phorgue-Latitude:13963] *** reported by process [2765291521,0]
[phorgue-Latitude:13963] *** on communicator MPI_COMM_WORLD
[phorgue-Latitude:13963] *** MPI_ERR_COMM: invalid communicator
[phorgue-Latitude:13963] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[phorgue-Latitude:13963] *** and potentially your MPI job)
Primary job terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.

mpiexec 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: [[42195,1],0]
Exit code: 5


Then tried linking another lib : /usr/lib/mpich/lib/libmpichfort.so instead of /usr/lib/mpich/lib/libmpich.so but I get another error


MPI_INITIALIZED F
mpiexec noticed that process rank 0 with PID 14456 on node phorgue-Latitude exited on signal 11 (Segmentation fault).
_____________
runcode::main:
:
|runCode: Fail to run
|/usr/bin/mpiexec -wdir /opt/telemac/v7p1r1/examples/telemac2d/confluence/t2d_confluence.cas_2016-11-09-16h19min03s -n 1 /opt/telemac/v7p1r1/examples/telemac2d/confluence/t2d_confluence.cas_2016-11-09-16h19min03s/out_t2d_confluence
|~~~~~~~~~~~~~~~~~~
|Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
|
|Backtrace for this error:
|#0 0x7F25CB99BE08
|#1 0x7F25CB99AF90
|#2 0x7F25CB0CD4AF
|#3 0x7F25CBD012DE
|#4 0x7F25CBFABDFA
|#5 0x7ACA42 in p_init_
|#6 0x61774E in bief_init_
|#7 0x402855 in MAIN__ at homere_telemac2d.f:?
|~~~~~~~~~~~~~~~~~~

Maybe someone has an idea on my issue ?

Thanks
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 8 years 2 weeks ago #24220

  • phorgue
  • phorgue's Avatar
Dear All,

I followed your guide but and correctly compiled telemac. However, I get some issues when I run a test-case. The compilation is correctly done but during the initialization of the simulation, I get :



MPI_INITIALIZED F
[phorgue-Latitude:14908] *** An error occurred in MPI_Comm_rank
[phorgue-Latitude:14908] *** reported by process [2824863745,0]
[phorgue-Latitude:14908] *** on communicator MPI_COMM_WORLD
[phorgue-Latitude:14908] *** MPI_ERR_COMM: invalid communicator
[phorgue-Latitude:14908] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[phorgue-Latitude:14908] *** and potentially your MPI job)
Primary job terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.

mpiexec 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: [[43104,1],0]
Exit code: 5



Maybe someone can help me. Thank you
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 7 years 11 months ago #24674

  • huyquangtran
  • huyquangtran's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 271
  • Thank you received: 23
Merry Xmass! and thanks for this trick! I also tried to apply this for trunk version, but there is an error occured.

does anyone know why? and how could I solve?

Best Regards

Huy


/home/huyquangtran/telemac/trunk/sources/api/homere_api.F:9: Error: Can't open included file 'mpif.h'


Hummm ... I could not complete my work.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compileTELEMAC::createObjFiles:
+> failed: gfortran -c -O3 -DHAVE_MPI -fconvert=big-endian -frecord-marker=4 -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/special -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/damocles -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/hermes -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/parallel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/bief -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/nestor -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/ad -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/tomawac -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/sisyphe -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/stbtel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/waqtel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/gretel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/telemac2d -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/partel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/api /home/huyquangtran/telemac/trunk/sources/api/homere_api.F
... The following command failed for the reason above (or below)
gfortran -c -O3 -DHAVE_MPI -fconvert=big-endian -frecord-marker=4 -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/special -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/damocles -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/hermes -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/parallel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/bief -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/nestor -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/ad -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/tomawac -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/sisyphe -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/stbtel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/waqtel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/gretel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/telemac2d -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/utils/partel -I /home/huyquangtran/telemac/trunk/builds/ubugfmpich/lib/api /home/huyquangtran/telemac/trunk/sources/api/homere_api.F:
Attachments:
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 7 years 10 months ago #24687

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Hi,

You need to either replace gfortran by mpif90 or add:
incs_api:       -I /usr/lib/openmpi/include/
in the systel file
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

step-by-step guide to install Telemac v7p1 on Ubuntu 16.04 in parallel 7 years 10 months ago #24691

  • huyquangtran
  • huyquangtran's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 271
  • Thank you received: 23
Thanks.

I have successfully compiled trunk version (now V7.2 is released) on both WINDOWS and LINUX Mint.

For parallel configuration, because I use MPICH2 package, I also tried to compile by changing -DHAVE_MPI to -DHAVE_MPICH, the compilation was also successful, but I haven't have time to test on my system.

So, I just want to know the meaning of the keyword "DHAVE_MPI"? What does it stand for? Is it possible to use -DHAVE_MPICH (instead of using DHAVE_MPI?)

Best Regards
Huy
The administrator has disabled public write access.
Moderators: borisb

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.