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