|
[Sponsors] |
November 15, 2017, 09:07 |
Installing SU2 v5 for Parallel Computations
|
#1 |
Member
MM
Join Date: Aug 2017
Posts: 30
Rep Power: 9 |
Hello all,
excuse me since I am a beginner in ubuntu and Linux I`ve been trying for many days to install Su2 v5 for parallel computations, I have the parallel SU2 but v4 but I need to use v5 I already have the serial version of v5 but I need to install the parallel one, I am trying to use the git hub and SU2 wiki but unfortunately, i couldn`t understand it very much because I am a beginner in the Linux and the steps are not clear for me. if I could find some help to update the v4 to v5 or install the v5 - the parallel version I'd be very grateful Thanks very very much for your support |
|
November 30, 2017, 02:36 |
|
#2 |
New Member
Tim Jim
Join Date: Sep 2017
Posts: 25
Rep Power: 9 |
Hi, it's a bit of a tough journey for newbies like us, it seems! Let me share with you the process I went through to get things installed and you can give it a go. Depending on your Linux setup your steps may vary slightly from mine! Also, I may be wrong - so I hope other more informed members of the group can correct those parts!
I'm afraid it's going to be a bit of a long post, but since I recently went through the process, I hope this makes a good log of the install process for other newbies (and myself when I have to reinstall and I've forgotten what I'm doing)! You want a parallel build - is that with all the other bots such as hdf5, zlib, szip, and Lapack support? If so, you'll need to build those and link to them later on! For the bare bones, I think I'm right in saying you need to get just one (or two) things: 1. An MPI installation 2. mpi4py plus python 2.7 (if you want the parallel python wrappers for SU2 to work, if not, you can forget this) The basic workflow is: 1. Download and install all the dependencies (MPI, mpi4py, plus all the other packages you want support for). Usually, every package you download will have a readme or install text file with some directions. Some are better than others. 2. Get yourself a copy of SU2 and run the install process (N.B. in Linux, this is usually some combination of running a 'configure' script which figures out where stuff is on your computer, then some kind of 'make' command to build the program, and finally a 'make install' which will actually put the program in a usable state where you want to access it) I'm not sure what you've got or not, so below, I'll walk through the steps for the package installations and SU2 install. You can give it a go and see what works for you. If you're from a Windows background like me, there are a few differences when moving to Linux - the file system layout and file permissions are one of many things, as is working in th terminal rather than graphical interfaces! I'd suggest making a directory that you have read and write permissions for your programs. You can make the folder in your home directory (the shorthand for home is '~') or wherever is useful for you. So, go open up a new terminal window and, for example's sake, I'm going to make a new directory called programs in my home using: Code:
mkdir ~/programs Firstly, if you don't have some kind of MPI installed, go get one (there are several to choose from, I went for Open MPI, v3.0.0 at the time of writing this). The install goes something like this: 1. Navigate to your new programs directory and make a new directory to hold all your OpenMPI files; maybe something like: Code:
cd ~/programs mkdir openmpi cd openmpi Code:
wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.bz2 Code:
tar xvf openmpi-3.0.0.tar.bz2 Code:
mv openmpi-3.0.0 openmpi-3.0.0_src cd openmpi-3.0.0_src Code:
./configure --prefix=~/programs/openmpi/openmpi-3.0.0 6. Now you can build and install it! For this package, it's in one step: Code:
make all install Code:
# added for OpenMPI 3.0.0 N.B. Anything you type after a # is commented! I.e. This line! export PATH=/home/FIa/FIa164/programs/openmpi/openmpi-3.0.0/bin:$PATH export LD_LIBRARY_PATH=/home/FIa/FIa164/programs/openmpi/openmpi-3.0.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export LD_RUN_PATH=/home/FIa/FIa164/programs/openmpi/openmpi-3.0.0/lib${LD_RUN_PATH:+:${LD_RUN_PATH}} Basically, if you used a PREFIX, then the program will not be in the so-called 'standard' install locations and won't be found (unlike Windows, Linux has many places, not just a Program Files directory), so by adding the above lines, you tell the system to search those paths also for the programs you want to run.This step can be skipped if you did not add a PREFIX. In some cases, you can skip this step if you have linked your install with rpath flags but I don't want to get into that...you can search up the joys of linking libraries in your favourite search engine later if you are so inclined! Congrats! In theory, you have managed to install Open MPI! To test this, you either type `source ~/.bashrc` to reload the .bashrc with your new settings or open a new terminal, then trying running `mpirun` or try `which mpirun`. Hopefully, you'll see your installed PREFIX bin pop here. if you cd to that bin directory, you can have a quick look around and get a feel for Linux directory layouts. I'll post this for you to get working while I type up the next sections Good luck and give a shout if you need any pointers! Last edited by tjim; November 30, 2017 at 02:46. Reason: Correct makedir to mkdir |
|
December 1, 2017, 03:18 |
Part 2
|
#3 |
New Member
Tim Jim
Join Date: Sep 2017
Posts: 25
Rep Power: 9 |
If you want the all the other support, I'll detail them more briefly here. Out of laziness, I'm going to leave my file paths unedited but obviously, you'll want to put your own $HOME path in the place of mine! (My home path is `/home/FIa/FIa164`, you can replace that bit with your ~).
Also, the links I am grabbing with wget or curl - they may be out of date, I'll leave it to you to grab the versions you want! For szip: 0. make a new dir for szip files and cd in (assuming you're in your programs dir): Code:
mkdir szip && cd szip 1. curl -O https://support.hdfgroup.org/ftp/lib...p-2.1.1.tar.gz 2. tar xvf szip-2.1.1.tar.gz 3. mv szip-2.1.1 szip-2.1.1_src 4. cd szip-2.1.1_src 5. ./configure prefix=/home/FIa/FIa164/programs/szip/szip-2.1.1 6. make 7. make check 8. make install 9. Add to LD_LIBRARY_PATH in ~/.bashrc (paste this at the bottom of your .bashrc) Code:
# added for szip export LD_LIBRARY_PATH=/home/FIa/FIa164/programs/szip/szip-2.1.1/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 0. mkdir zlib && cd zlib 1. wget --no-check-certificate https://zlib.net/zlib-1.2.11.tar.gz 2. tar xvf zlib-1.2.11.tar.gz 3. mv zlib-1.2.11 zlib-1.2.11_src 4. cd zlib-1.2.11_src 5. ./configure 6. make test 7. make install prefix=/home/FIa/FIa164/programs/zlib/zlib-1.2.11 8. Add to LD_LIBRARY_PATH in ~/.bashrc: Code:
# added for zlib export LD_LIBRARY_PATH=/home/FIa/FIa164/programs/zlib/zlib-1.2.11/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 0. mkdir hdf5 && cd hdf5 1. Get file from https://support.hdfgroup.org/ftp/HDF...-1.10.1.tar.gz and dump it here (for some reason wget and curl both bugged out on me here) 2. tar xvf hdf5-1.10.1.tar.gz 3. mv hdf5-1.10.1 hdf5-1.10.1_src 4. cd hdf5-1.10.1_src 5. CC=mpicc ./configure --prefix=/home/FIa/FIa164/programs/hdf5/hdf5-1.10.1 --enable-optimization=high --enable-parallel --with-zlib=/home/FIa/FIa164/programs/zlib/zlib-1.2.11/include,/home/FIa/FIa164/programs/zlib/zlib-1.2.11/lib --with-szlib=/home/FIa/FIa164/programs/szip/szip-2.1.1 6. make 7. make -i check 8. make install 9. make check-install 10. Add to .bashrc: Code:
# added for hdf5 export LD_LIBRARY_PATH=/home/FIa/FIa164/programs/zlib/zlib-1.2.11/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |
|
December 1, 2017, 03:19 |
Part 3
|
#4 |
New Member
Tim Jim
Join Date: Sep 2017
Posts: 25
Rep Power: 9 |
If you want mpi4py:
0. mkdir mpi4py && cd mpi4py 1. wget -O mpi4py-3.0.0.tar.gz https://bitbucket.org/mpi4py/mpi4py/...y-3.0.0.tar.gz 2. tar xvf mpi4py-3.0.0.tar.gz 3. mv mpi4py-3.0.0 mpi4py-3.0.0_src 4. cd mpi4py-3.0.0_src 5. Set in mpi.cfg the location to your mpi install: mpi_dir = /home/FIa/FIa164/programs/openmpi/openmpi-3.0.0 mpicc = %(mpi_dir)s/bin/mpicc mpicxx = %(mpi_dir)s/bin/mpicxx library_dirs = %(mpi_dir)s/lib runtime_library_dirs = %(library_dirs)s 6. python setup.py build 7. python setup.py install You probably need some kind of LAPACK implementation as well. If you have the permissions in the standard Linux install locations (i.e. you can sudo stuff there), you can try getting a LAPACK installation via pip. Else, you can try OpenBLAS which includes LAPACK. After all of this, you can finally try to install SU2 in parallel! You probably figured that basically, you need to ./configure, make, make install. To enable the various options, you just have to set the flags during configure. Mine looked like this: Code:
./configure --prefix=/home/FIa/FIa164/programs/su2/SU2-5.0.0 CXXFLAGS="-O3" --enable-mpi --with-cc=/home/FIa/FIa164/programs/openmpi/openmpi-3.0.0/bin/mpicc --with-cxx=/home/FIa/FIa164/programs/openmpi/openmpi-3.0.0/bin/mpicxx --enable-PY_WRAPPER --with-HDF5-lib=/home/FIa/FIa164/programs/hdf5/hdf5-1.10.1/lib --with-HDF5-include=/home/FIa/FIa164/programs/hdf5/hdf5-1.10.1/include --with-ZLIB-lib=/home/FIa/FIa164/programs/zlib/zlib-1.2.11/lib --with-ZLIB-include=/home/FIa/FIa164/programs/zlib/zlib-1.2.11/include --with-SZIP-lib=/home/FIa/FIa164/programs/szip/szip-2.1.1/lib --with-SZIP-include=/home/FIa/FIa164/programs/szip/szip-2.1.1/include --with-LAPACK-lib=/home/FIa/FIa164/programs/openblas/OpenBLAS-0.2.20/lib --with-LAPACK-include=/home/FIa/FIa164/programs/openblas/OpenBLAS-0.2.20/include I hope that points you in the right direction! |
|
December 10, 2017, 18:02 |
|
#5 |
Member
MM
Join Date: Aug 2017
Posts: 30
Rep Power: 9 |
Thanks very much for your reply Tjim!
I really appreciate your effort and time to help me in this way ) Thanks again very much |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Installing SU2 how ? | McAero | SU2 Installation | 1 | October 14, 2017 05:50 |
Installing SU2 5.0.0 with lubuntu - tecio not found | quarkz | SU2 Installation | 4 | March 2, 2017 00:01 |
[foam-extend.org] problem when installing foam-extend-1.6 | Thomas pan | OpenFOAM Installation | 7 | September 9, 2015 22:53 |
Installing SU2 on Linux | tonino | SU2 Installation | 1 | August 8, 2015 17:33 |
Problem while Compiling and Installing SU2 3.2 using Cygwin | yona | SU2 Installation | 2 | July 25, 2015 11:23 |