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, have put together a parameter file for your particular simulation as well as generated the corresponding initial conditions. For now, let's consider one of the examples provided in Gadget-2.0.7/Gadget2/parameterfiles/
, say “LCDM gas”.
Make sure that you create the necessary paths (and directories) for the storing of your input data (initial conditions) as well as for the saving of Gadget2 snapshots (and other information) somewhere on the Lustre (scratch) filesystem i.e. /mnt/lustre/users/username/
.