1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/bin/bash
- set -e
- rm -r build-mpi || true
- mkdir build-mpi
- cd build-mpi
- mkdir mpich-build
- mkdir mpich
- base=`pwd`
- cd mpich-build
- wget http://www.mpich.org/static/downloads/3.1.2/mpich-3.1.2.tar.gz
- tar -xvzf mpich-3.1.2.tar.gz
- cd mpich-3.1.2
- ./configure --prefix=$base/mpich --with-device=ch3:sock --disable-fortran
- make -j5
- make install
- export PATH=$base/mpich/bin:$PATH
- cd ../..
- mkdir mpi4py
- cd mpi4py
- wget https://pypi.python.org/packages/source/m/mpi4py/mpi4py-1.3.1.tar.gz
- tar -xvzf mpi4py-1.3.1.tar.gz
- cd mpi4py-1.3.1
- # Force the correct MPI distribution
- rm mpi.cfg || true
- echo "[mpi]" >> mpi.cfg
- echo "" >> mpi.cfg
- echo "include_dirs = $base/mpich/include" >> mpi.cfg
- echo "libraries = mpi" >> mpi.cfg
- echo "library_dirs = $base/mpich/lib" >> mpi.cfg
- echo "runtime_library_dirs = $base/mpich/lib" >> mpi.cfg
- echo "mpicc = $base/mpich/bin/mpicc" >> mpi.cfg
- echo "mpicxx = $base/mpich/bin/mpicxx" >> mpi.cfg
- python setup.py build --mpi=mpi
- python setup.py install --user
- echo "=============================="
- echo "== All done =="
- echo "=============================="
- echo ""
- echo "Please add $base/mpich/bin to your PATH"
- echo "This is done by adding the line"
- echo " export PATH=$base/mpich/bin:\$PATH"
- echo "to a file parsed at system startup, e.g. ~/.bashrc"
- echo "For example for Ubuntu: http://askubuntu.com/questions/60218/how-to-add-a-directory-to-my-path"
- echo ""
- echo "Alternative:"
- echo "A symbolic link can be made from /usr/local/bin/mpirun to $base/mpich/bin/mpirun (probably requires root)"
- echo "This is done with the command:"
- echo " sudo ln -s $base/mpich/bin/mpirun /usr/local/bin/mpirun"
|