This is an old revision of the document!
Log in to the cluster, wget
the source code and unpack, e.g.
localuser@mylaptop:~ $ ssh username@lengau.chpc.ac.za Last login: Fri Apr 01 15:00:00 2016 from 10.128.23.235 [username@login1 ~]$ wget http://wwwmpa.mpa-garching.mpg.de/gadget/gadget-2.0.7.tar.gz [username@login1 ~]$ tar zxvf gadget-2.0.7.tar.gz
Navigate into the Gadget-2.0.7/Gadget2/
directory - this is where the heart of the code is located. Edit the Makefile as required (note example Makefiles and parameter files located in Gadget-2.0.7/Gadget2/parameterfiles/
). Before compiling, be sure to source the following modules and paths (HDF5 excluded here for now):
module add gcc/5.1.0 chpc/openmpi/1.8.8/gcc-5.1.0 UTILS_DIR=/apps/chpc/astro/utils/gcc/v510-openmpi188 GSL_INSTALL=gsl-1.16-build FFTW_INSTALL=fftw-2.1.5-build export PATH=$UTILS_DIR/$GSL_INSTALL/include:$PATH export PATH=$UTILS_DIR/$GSL_INSTALL/bin:$PATH export PATH=$UTILS_DIR/$FFTW_INSTALL/include:$PATH export LD_LIBRARY_PATH=$UTILS_DIR/$GSL_INSTALL/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$UTILS_DIR/$FFTW_INSTALL/lib:$LD_LIBRARY_PATH
as well as add the appropriate “SYSTYPE”, e.g.
#--------------------------------------- Select target computer SYSTYPE="CHPC" ifeq ($(SYSTYPE),"CHPC") CC = mpicc OPTIMIZE = -O3 -Wall GSL_INCL = -I/apps/chpc/astro/utils/gcc/v510-openmpi188/gsl-1.16-build/include GSL_LIBS = -L/apps/chpc/astro/utils/gcc/v510-openmpi188/gsl-1.16-build/lib -lgsl -lgslcblas FFTW_INCL= -I/apps/chpc/astro/utils/gcc/v510-openmpi188/fftw-2.1.5-build/include FFTW_LIBS= -L/apps/chpc/astro/utils/gcc/v510-openmpi188/fftw-2.1.5-build/lib MPICHLIB = HDF5INCL = HDF5LIB = endif
Finally, to compile:
[username@login1 Gadget-2.0.7/Gadget2]$ make
This assumes you have successfully compiled Gadget and have put together an appropriate parameter file. For now, let's consider one of the examples provided in Gadget-2.0.7/Gadget2/parameterfiles/
.
Make sure that you create the necessary paths (and directories) for the saving of Gadget2 snapshots (and other information) somewhere on the Lustre (scratch) filesystem i.e. /mnt/lustre/username/