Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Cyclops Tensor Framework: distributed-memory tensor algebra
C++ Makefile Other


Full documentation on  using/building/running and documentation of the software 
of the CTF library is available on the following website
as well as on the github wiki.

Brief build and execution instructions are given below:

To build CTF with a standard setup simply run make in the top directory.

To specialize the build configuration (for instance set a custom BLAS library
or specify MPI compiler), one must set up a file. Examples and 
premade files for a few architectures are located in the mkfiles/ 
subdirectory. On running make without a file in the top
folder, mkfiles/ will be copied to in the top folder 
by default, unless the hostname is recognized. OpenMP is currently disabled 
for Apple architectures. The file will not be overwritten
after the first call to 'make'. The first call to 'make' will create the 
file src/make/, which records the top level directory. So, if you 
desire to move the built source code, change or delete and recreate this 
file by running make again.

The CTF library is built by default and will be located in lib/. 
The main interface to the library is include/ctf.hpp.

Run 'make examples' to build example programs, see examples/ dir for full list
Run 'make test' to run a short test suite, which should confirm the 
functionality of CTF using a single MPI process. Running 'make test#n' 
with '#n' in  {1,2,3,4,5,6,7,8} with test functionality on #n processors. 
The number of threads should be set via OMP_NUM_THREADS.
All examples can be built individually by the command 'make <example_name>'. 
Any executables that are built will appear in bin/

The BSD software license for this library is in the file license.txt.

Please contact Edgar Solomonik (,
for any questions about usage or technical implementation of the CTF library.

Something went wrong with that request. Please try again.