All Projects β†’ simit-lang β†’ Simit

simit-lang / Simit

Licence: other
A language for computing on sparse systems

Programming Languages

language
365 projects

Projects that are alternatives of or similar to Simit

Pygraphblas
GraphBLAS for Python
Stars: ✭ 252 (-42.6%)
Mutual labels:  linear-algebra, graphs
kaliningraph
πŸ•ΈοΈ Graphs, finite fields and discrete dynamical systems in Kotlin
Stars: ✭ 62 (-85.88%)
Mutual labels:  graphs, linear-algebra
Pggraphblas
High Performance Graph Processing with Postgres and GraphBLAS
Stars: ✭ 316 (-28.02%)
Mutual labels:  linear-algebra, graphs
The Math Of Intelligence
List of resources & possible pathway for the Math of Machine Learning and AI.
Stars: ✭ 370 (-15.72%)
Mutual labels:  linear-algebra
Start Machine Learning In 2020
A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2021 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!
Stars: ✭ 357 (-18.68%)
Mutual labels:  linear-algebra
Stonks
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal. See how fast your stonks will crash.
Stars: ✭ 405 (-7.74%)
Mutual labels:  graphs
Matrex
A blazing fast matrix library for Elixir/Erlang with C implementation using CBLAS.
Stars: ✭ 429 (-2.28%)
Mutual labels:  linear-algebra
Sericum
(Toy) Compiler Infrastructure influenced by LLVM written in Rust
Stars: ✭ 366 (-16.63%)
Mutual labels:  llvm
Tagua Vm
Tagua VM is an experimental PHP Virtual Machine that guarantees safety and quality by removing large classes of vulnerabilities thanks to the Rust language and the LLVM Compiler Infrastructure.
Stars: ✭ 419 (-4.56%)
Mutual labels:  llvm
Bytecoder
Rich Domain Model for JVM Bytecode and Framework to interpret and transpile it.
Stars: ✭ 401 (-8.66%)
Mutual labels:  llvm
Cracking The Coding Interview
πŸ“š C++ and Python solutions with automated tests for Cracking the Coding Interview 6th Edition.
Stars: ✭ 396 (-9.79%)
Mutual labels:  graphs
Nlvm
LLVM-based compiler for the Nim language
Stars: ✭ 380 (-13.44%)
Mutual labels:  llvm
Amoco
yet another tool for analysing binaries
Stars: ✭ 413 (-5.92%)
Mutual labels:  graphs
Llvm Hs
Haskell bindings for LLVM
Stars: ✭ 370 (-15.72%)
Mutual labels:  llvm
Llvm
Intel staging area for llvm.org contribution. Home for Intel LLVM-based projects.
Stars: ✭ 424 (-3.42%)
Mutual labels:  llvm
Competitive Programming Repository
Competitive Programming templates that I used during the past few years.
Stars: ✭ 367 (-16.4%)
Mutual labels:  graphs
Pts
A library for visualization and creative-coding
Stars: ✭ 4,628 (+954.21%)
Mutual labels:  linear-algebra
Dl topics
List of DL topics and resources essential for cracking interviews
Stars: ✭ 392 (-10.71%)
Mutual labels:  linear-algebra
Rapidus
A toy JavaScript engine implemented in Rust from scratch
Stars: ✭ 390 (-11.16%)
Mutual labels:  llvm
Kglib
Grakn Knowledge Graph Library (ML R&D)
Stars: ✭ 405 (-7.74%)
Mutual labels:  graphs

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 simit-lang.org.

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 https://llvm.org/svn/llvm-project/llvm/branches/release_37 llvm3.7

then build it:

cd llvm3.7
mkdir build
cd build
cmake -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_RTTI=ON -DCMAKE_BUILD_TYPE=Release ..
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>
./build/bin/simit-test

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

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

License

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.)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].