Difference between revisions of "Compiling the Einstein Toolkit"

From Einstein Toolkit Documentation
Jump to: navigation, search
(wipe content and point to ET tutorial to avoid duplication)
(Tag: Replaced)
 
(33 intermediate revisions by 4 users not shown)
Line 1: Line 1:
−
The recommended way to compile the Einstein Toolkit is to use the [http://simfactory.org Simulation Factory] ("SimFactory"). 
+
Please see https://github.com/nds-org/jupyter-et/blob/master/CactusTutorial.ipynb for build instructions on Linux, OSX and Windows.
−
 
 
−
==Supercomputers==
 
−
 
 
−
SimFactory comes with support for many of the large supercomputers.  If you are compiling on one of these, it should be sufficient to run
 
−
 
 
−
    sim build --thornlist path/to/thornlist.th
 
−
 
 
−
==Generic operating systems==
 
−
 
 
−
SimFactory also contains general support for specific operating systems, including Mac OS, Ubuntu, and Scientific Linux.  To build a configuration, you need to determine the correct optionlist to use from simfactory/mdb/optionlists.  You can then choose the optionlist to use on the "sim build" command line:
 
−
 
 
−
    sim build --thornlist path/to/thornlist.th --optionlist <optionlist-name>
 
−
 
 
−
==Writing your own optionlist==
 
−
 
 
−
If your operating system is not supported, you will need to write your own optionlist.
 
−
 
 
−
The following guidelines are based on the ubuntu.cfg optionlist.
 
−
 
 
−
<pre>
 
−
VERSION = 2012-09-28
 
−
 
 
−
CPP = cpp
 
−
FPP = cpp
 
−
CC  = gcc
 
−
CXX = g++
 
−
F77 = gfortran
 
−
F90 = gfortran
 
−
 
 
−
CPPFLAGS = -DMPICH_IGNORE_CXX_SEEK
 
−
FPPFLAGS = -traditional
 
−
CFLAGS  = -g3 -march=native -std=gnu99
 
−
CXXFLAGS = -g3 -march=native -std=gnu++0x
 
−
F77FLAGS = -g3 -march=native -fcray-pointer -m128bit-long-double -ffixed-line-length-none
 
−
F90FLAGS = -g3 -march=native -fcray-pointer -m128bit-long-double -ffixed-line-length-none
 
−
LDFLAGS  = -rdynamic
 
−
 
 
−
LIBDIRS =
 
−
 
 
−
C_LINE_DIRECTIVES = yes
 
−
F_LINE_DIRECTIVES = yes
 
−
 
 
−
DEBUG          = no
 
−
CPP_DEBUG_FLAGS = -DCARPET_DEBUG
 
−
FPP_DEBUG_FLAGS = -DCARPET_DEBUG
 
−
C_DEBUG_FLAGS  = -O0
 
−
CXX_DEBUG_FLAGS = -O0
 
−
F77_DEBUG_FLAGS = -O0
 
−
F90_DEBUG_FLAGS = -O0
 
−
 
 
−
OPTIMISE          = yes
 
−
CPP_OPTIMISE_FLAGS = -DKRANC_VECTORS # -DCARPET_OPTIMISE -DNDEBUG
 
−
FPP_OPTIMISE_FLAGS = # -DCARPET_OPTIMISE -DNDEBUG
 
−
C_OPTIMISE_FLAGS  = -O2 -ffast-math
 
−
CXX_OPTIMISE_FLAGS = -O2 -ffast-math
 
−
F77_OPTIMISE_FLAGS = -O2 -ffast-math
 
−
F90_OPTIMISE_FLAGS = -O2 -ffast-math
 
−
 
 
−
PROFILE          = no
 
−
CPP_PROFILE_FLAGS =
 
−
FPP_PROFILE_FLAGS =
 
−
C_PROFILE_FLAGS  = -pg
 
−
CXX_PROFILE_FLAGS = -pg
 
−
F77_PROFILE_FLAGS = -pg
 
−
F90_PROFILE_FLAGS = -pg
 
−
 
 
−
OPENMP          = yes
 
−
CPP_OPENMP_FLAGS = -fopenmp
 
−
FPP_OPENMP_FLAGS = -fopenmp
 
−
C_OPENMP_FLAGS  = -fopenmp
 
−
CXX_OPENMP_FLAGS = -fopenmp
 
−
F77_OPENMP_FLAGS = -fopenmp
 
−
F90_OPENMP_FLAGS = -fopenmp
 
−
 
 
−
WARN          = yes
 
−
CPP_WARN_FLAGS = -Wall
 
−
FPP_WARN_FLAGS = -Wall
 
−
C_WARN_FLAGS  = -Wall
 
−
CXX_WARN_FLAGS = -Wall
 
−
F77_WARN_FLAGS = -Wall
 
−
F90_WARN_FLAGS = -Wall
 
−
 
 
−
 
 
−
 
 
−
HDF5_ENABLE_FORTRAN = no
 
−
HDF5_ENABLE_CXX    = no
 
−
 
 
−
MPI_DIR      = /usr
 
−
MPI_INC_DIRS = /usr/include/mpich2
 
−
MPI_LIB_DIRS = /usr/lib
 
−
MPI_LIBS    = mpich fmpich mpl
 
−
 
 
−
PTHREADS = yes
 
−
 
 
−
</pre>
 

Latest revision as of 15:11, 24 July 2020

Please see https://github.com/nds-org/jupyter-et/blob/master/CactusTutorial.ipynb for build instructions on Linux, OSX and Windows.