-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake_mpi_environment
executable file
·88 lines (71 loc) · 2.03 KB
/
make_mpi_environment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/bash
HOME=/home/mayer
mkdir $HOME/opt
mkdir $HOME/share
function make_gcc {
cd $HOME/share
wget ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-9.3.0/gcc-9.3.0.tar.gz
tar xzf gcc-9.3.0.tar.gz
cd gcc-9.3.0
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-9.3.0/configure --prefix=$HOME/opt/ --enable-languages=c,c++,fortran --disable-multilib
make -j
make install
export PATH=$HOME/opt/bin:$PATH
export LD_LIBRARY_PATH=$HOME/opt/lib64:$LD_LIBRARY_PATH
}
function make_openmpi {
cd $HOME/share
wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz
tar xzf openmpi-4.0.3.tar.gz
cd openmpi-4.0.3
./configure --prefix=$HOME/opt
make all install
}
function make_boost {
cd $HOME/share
wget https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.tar.gz
tar xzf boost_1_73_0.tar.gz
cd boost_1_73_0
./bootstrap.sh --prefix=$HOME/opt
echo "using mpi ;" >> project-config.jam
./b2 install
}
function make_scons {
cd $HOME/share
wget http://prdownloads.sourceforge.net/scons/scons-3.1.2.tar.gz
tar xzf scons-3.1.2.tar.gz
cd scons-3.1.2
python setup.py install --prefix=$HOME/opt
}
function make_zlib {
cd $HOME/share
wget https://zlib.net/zlib-1.2.11.tar.gz
tar xzf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=$HOME/opt
make -j
make install
}
function make_rosetta {
# this requires the archive file already existing in folder
cd $HOME/share
tar xzf rosetta_src_3.11_bundle.tgz
cd rosetta_src_2019.35.60890_bundle/main/source
./scons.py -j$1 mode=release extras=mpi bin
cd bin
cp -r * $HOME/opt/bin
}
# base c++ cluster
#make_gcc
export PATH=$HOME/opt/bin:$PATH
export LD_LIBRARY_PATH=$HOME/opt/lib64:$HOME/opt/lib:$LD_LIBRARY_PATH
#make_openmpi
make_boost
# rosetta stuff
#make_scons
#make_zlib
#make_rosetta 40 # number of cores to user for compiling <- system dependent