Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Simit is a new programming language designed to make it easy to write high-performance code to compute on sparse systems. For more information see

Build Simit

To build Simit you must install CMake 2.8.3 or greater and LLVM 3.7 or greater. You must then make sure llvm-config is available in your path.

If you want to build LLVM yourself you can check it out using SVN:

svn co llvm3.7

then build it:

cd llvm3.7
mkdir build
cd build
make -j8

then point Simit to it:

export LLVM_CONFIG=<path to llvm>/build/bin/llvm-config

To perform an out-of-tree build of Simit do:

cd <simit-directory>
mkdir build
cd build
cmake ..
make -j8

To run the test suite do (all tests should pass, but ignore disabled tests):

cd <simit-directory>

To check a Simit program:

cd <simit-directory>
./build/bin/simit-check <simit-program>

For example:

./build/bin/simit-check apps/springs/isprings.sim

To make the Simit bin directory part of your PATH:

cd <simit-directory>
export PATH="$PATH:`pwd`/build/bin"

To build Simit's documentation:

cd <simit-directory>

This will create a doc directory containing HTML documentation. Open doc/index.html in your browser.


Simit is under a permissive MIT license. We encourage you to use it for research or commercially!

If you do use it, we'd greatly appreciate a note saying what you use it for! (However, we stress that you're under no obligation to do so.)