Difference between revisions of "Compiling the Einstein Toolkit"

From Einstein Toolkit Documentation
Jump to: navigation, search
(Supported laptop/workstation operating systems)
(wipe content and point to ET tutorial to avoid duplication)
(Tag: Replaced)
 
(One intermediate revision by the same user 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.
 
 
==Configuring SimFactory for your machine==
 
 
 
The ET depends on various libraries, and needs to interact with machine-specific queueing systems and MPI implementations.  As such, it needs to be configured for a given machine.  For this, it uses SimFactory.  Generally, configuring SimFactory means providing an optionlist, for specifying library locations and build options, a submit script for using the batch queueing system, and a runscript, for specifying how Cactus should be run, e.g. which mpirun command to use.  For a cluster, a "machine definition file" is also required.
 
 
 
===Supported clusters===
 
 
 
SimFactory comes with support for many of the large supercomputers; run "simfactory/bin/sim list-machines" from your Cactus directory to see the currently-supported list of machines.  If you are compiling on one of these, it should be sufficient to run
 
 
 
    simfactory/bin/sim setup
 
 
 
from your Cactus directory and answer the questions, and SimFactory will automatically detect the correct option list, submit script and run script.
 
 
 
===Supported laptop/workstation operating systems===
 
 
 
SimFactory also contains general support for specific operating systems commonly used on workstations or laptops, including Mac OS, Ubuntu, Cent OS and Scientific Linux. To configure SimFactory for one of these, you need to find the suitable files in simfactory/mdb/optionlists and simfactory/mdb/runscripts and specify their names on the sim setup command line.  The following table lists the files that you need for each supported operating system:
 
 
 
{| class="wikitable" style="border: 1pt solid black;"
 
|+Configuration files
 
|-
 
!Operating system
 
!Option list
 
!Run script
 
!Notes
 
|-
 
|Debian
 
|debian.cfg
 
|debian.sh
 
|-
 
|Ubuntu/Linux Mint
 
|ubuntu.cfg
 
|debian.sh
 
|-
 
|Fedora
 
|fedora.cfg
 
|debian.sh
 
|Run "module load mpi" before compiling or running, and you may need to log out and back in if you have just installed mpich to make the module command work.
 
|-
 
|OS X (with MacPorts)
 
|osx-macports.cfg
 
|osx-macports.run
 
|-
 
|OS X (with HomeBrew)
 
|osx-homebrew.cfg
 
|generic-mpi.run
 
|-
 
|}
 
 
 
You do not need to specify a submit script, as there is no queueing system on a workstation or laptop.  Often the optionlist will contain a comment near the top explaining which system packages need to be installed to use the optionlist.  For example, for Debian, after installing the packages listed in the comment at the top of debian.cfg,
 
 
 
    simfactory/bin/sim setup --optionlist=debian.cfg --runscript debian.sh
 
 
 
will configure SimFactory for your machine.  For some systems, the runscript can be the general "generic-mpi.sh", or one from a similar OS, for example for Ubuntu you can use debian.sh as a run script.
 
 
 
===Unsupported machines===
 
 
 
If there is no existing optionlist or runscript (for a cluster, also a submit script) for your machine, you will need to write them yourself.  It is recommended to start from one of the already-written files for another machine which is as close as possible to the machine you are trying to use.  See [[Configuring a new machine]] for help with this. First, write the option list and run script, and run
 
 
 
    simfactory/bin/sim setup --optionlist=<optionlist> --runscript <runscript>
 
 
 
with the new configuration files.  This will create a basic machine definition file in simfactory/mdb/machines named after your hostname.  For a cluster, it is unlikely that this basic file will be enough, as SimFactory needs a lot of information about the details of the cluster.
 
 
 
==Building the Einstein Toolkit==
 
 
 
Assuming that SimFactory has been successfully set up on your machine, you should be able to build the Einstein Toolkit with
 
 
 
    simfactory/bin/sim build --thornlist path/to/thornlist.th
 

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.