|
Codes that work on McKenzie
This page lists major freely-available astrophysics codes that are
known to run on McKenzie. Please email Jonathan if you have instructions
for getting a code up and running that isn't already listed here.
Unless otherwise stated, these instructions assume that you're using
HDF 1.6.4, LAM MPI, and the Intel 8.1 compilers: that is, that
you have something like
module add hdf/1.6.4
module add intel/8.1
module add mpi/lam7.1.2b24-intel
in your startup file.
[ FLASH |
Gadget-2 |
Zeus-MP V2 ]
FLASH
FLASH is a
general purpose astrophysical hydrodynamics AMR code out of the
University of Chicago.
Getting and compiling the code
To get a copy of the code, go to the FLASH code request site and request a copy;
it may take several days.
When you have your copy, un-tar it, and in the same directory as the
FLASH2.tar.gz, download and untar
mckenzie.tgz.
Then, when you use setup to build the code, end the line with
-site=mckenzie for example:
setup sedov -auto -2d -maxblocks=5000 -site=mckenzie
Relevant web pages
Relevant Papers
Performance
Above are the results for a simple (but non-trivial)
constant-work-per-processor test problem including hydrodynamics and
AMR that comes with FLASH, run on McKenzie. FLASH hydrodynamics and
AMR scales extremely well on Mckenzie on out to at least 160 procs (the
largest number easy to get through the queue), with any sub-linear scaling
within the ~2% variablity noise. IO and selfgravity remain issues.
Gadget-2
Gadget-2 is a N-body/SPH code written by Volker Springel at the MPA.
Getting and compiling the code
The code can be downloaded directly from the Gadget website.
To run on McKenzie, you just have to point to the correct directories for the libraries. You'll also have to make sure you have
module add fftw/2.1.5-intel8
in your startup script.
The easiest way to point to the correct libraries is to edit the
Makefile you use (note; different problems use different Makefiles! Makefiles
are found in the parameterfiles directory) to
include a setup for McKenzie. That is, find the group of lines that
specify different SYSTYPEs, add the line
SYSTYPE="McKenzie"
and then comment out all the other SYSTYPEs. Then, after the
`#----Adjust settings for target computer' line, add the following:
ifeq ($(SYSTYPE),"McKenzie")
CC = mpicc
OPTIMIZE = -O3 -Wall
GSL_INCL = -I/usr/include/gsl/
GSL_LIBS = -L/usr/lib/
FFTW_INCL= -I${MCKENZIE_FFTW_INC_PATH}
FFTW_LIBS= -L${MCKENZIE_FFTW_LIB_PATH}
MPICHLIB =
HDF5INCL = -I${MCKENZIE_HDF_INC_PATH}
HDF5LIB = -L${MCKENZIE_HDF_LIB_PATH} -lhdf5 -lz
endif
and Gadget should compile cleanly, although numerous warnings are listed.
Warning: some of the Makefiles in the parameterfiles directory
are out of date; in particular, they refer to a compiler option
-DISOTHERMAL which should instead be -DISOTHERM_EQS . I believe that
the Makefile in the source code directory has all of the options correctly
defined.
Relevant web pages
Relevant Papers
Performance
Above are the results for running the cluster simulation, a 276k
particle run that comes with Gadget-2, out to about 16 timesteps (from
time 0.04166 to 0.0534094) on varying numbers of processors (out to 32
nodes) on McKenzie. The solid line is linear scaling. Note that this
uses the PM (FFT) gravity, and that at 64 processors, this problem has only
4320 particles per processor.
Zeus-MP v2
Zeus MP 2 is an update of the venerable ZEUS code, maintained out of UCSD.
Getting and compiling the code
Zeus can be downloaded directly from the Zeus webpage.
As of Zeus-MP v. 2.01, Zeus includes a Makefile expressly for McKenzie, meaning
that compiling is just a matter of typing:
gmake -r -f Makefile.cita.mckenzie
Note that Zeus-MP 2 requires hdf4, which is not currently installed
on McKenzie; the Makefile.cita.mckenzie points to an hdf4 install in
/home/ljdursi/hdf4/ which probaby can't be counted on indefinately.
Relevant web pages
Relevant Papers
|