Download & Requirements

The Einstein Toolkit is hosted on many different machines around the world. We provide a script called GetComponents to simplify downloading the toolkit. This page just describes how to download the toolkit - you may also be interested in the Tutorial for New Users which leads you through these steps and more on the Queen Bee supercomputer, or in a simpler tutorial for setup on a typical Linux box.

Users of the Einstein Toolkit are encouraged to register which also signs up for the users mailing list.

Main Toolkit

Citations

The development of production level scientific software, such as the components of the Einstein Toolkit, represents the academic output of researchers. These scientific contributions should be acknowledged and respected on par with those solely based in theory or experiment. Please review our Citation Policy.

Current release: Payne-Gaposchkin (released on December 16th, 2016)

This is the recommended version of the toolkit for most users. See the release notes for more information.

Note: OSX users cannot use the 'subversion' client shipped by Apple. In that case install subversion either from homebrew or macports.

Enter the directory on your machine in which you would like to download the ET (for example, your home directory), and type the commands listed below. This will create a directory called Cactus in which the components of the Einstein Toolkit are downloaded.

curl -kLO https://raw.githubusercontent.com/gridaphobe/CRL/ET_2016_11/GetComponents
chmod a+x GetComponents
./GetComponents --parallel https://bitbucket.org/einsteintoolkit/manifest/raw/ET_2016_11/einsteintoolkit.th
A tarball of the release is also available here, but using GetComponents is the preferred method to obtain the code. Use the tarball only if there is no way to use GetComponents (which should almost never be the case).

Current development version

This version is under constant development and, while we try to make sure it remains bug-free, it has not been tested to the same standard as the released version.
curl -kLO https://raw.githubusercontent.com/gridaphobe/CRL/master/GetComponents
chmod a+x GetComponents
./GetComponents --parallel https://bitbucket.org/einsteintoolkit/manifest/raw/master/einsteintoolkit.th

Past Releases

Sometimes, older releases can be useful, .e.g., if they have been used in a specific publication, and results are to be reproduced. This is why past releases of the Einstein Toolkit are being kept available. Past releases can be found here.

Requirements

The Einstein Toolkit has been tested on many different large-scale production resources and can be compiled and run on just about any laptop, workstation, cluster or supercomputer with standard HPC software installed. The main requirements are:

  • Client tools for Source Code Repositories: SVN and git (used by GetComponents)
  • Compilers: C, C++ and Fortran 90
  • MPI implementation: This is needed for the Carpet driver (the PUGH driver can be used for single core development on machines without MPI)
  • Standard development tools: Python, Perl, etc.
  • Operating System: Cactus and the Einstein Toolkit is supported on all commonly used variants of Unix (e.g. Linux, MacOSX, AIX). On Microsoft Windows machines the Einstein Toolkit can be partially used with the cygwin environment, although this is not regularly tested.
  • Suggested Tools: clang-format-3.7 for some repositories (e.g., Carpet).
    Debian: Debian Repository Debian, Jessie (stable), Backport Page

Tools

The Einstein Toolkit provides more than the main toolkit. It comes with a variety of tools that might be used with the main toolkit, or also might be used stand-alone.

Simulation Factory

The Simulation Factory provides capabilities for compiling and deploying a Cactus application on machines and ging simulations.

Visualization

The Cactus visualization page describes different visualization packages that can be used to analyze Cactus output.

Kranc

The Kranc package provides a means to generate new codes for Einstein Equations and other systems. Kranc is used to generate the used in the McLachlan code.

Alpaca

The Alpaca project provides high-level tools that help design and maintain large, complex applications. The Alpaca tools allow both developers and end-users to examine and validate the correctness of an application, and aid them in measuring and improving its performance in production environments.