|
|
(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>
| |