Git Product home page Git Product logo

sympiler's Introduction

Sympiler

Sympiler is a code generator for transforming sparse matrix methods. To access the list of publication and resources please visit: http://www.sympiler.com/

ParSy is parallel version of Sympiler. The evaluation benchmark for ParSy is available from ParSy_bench repository: https://github.com/cheshmi/parsy_bench

Installation

Library requirements

Sympiler does not need any external library however for testing the Sympiler-generated code, Suitesparse and Intel MKL libraries are required.

Building Sympiler

cd where/you/cloned/Sympiler
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make sympiler_proj

Building the Sympiler tests

The first step is to set the environmental variables corresponding to each library. The following shows how the variables are set in bash.

export MKLROOT <path to MKL>
export SUITEROOT <path to Suitesparse>

After setting the library paths:

cd where/you/cloned/Sympiler/build/
make

This will build the two remaining parts of the project including Sympiler tests for both Cholesky and Triangular solve.

Matrix dataset

In order to download and generate the matrices, the following commands need to be ran.

cd ..
mkdir matrixDB
./scripts/dlMat.sh matrixDB/ build/libTest/cholesky/TriangGen

After downloading and generating the required matrices you can evaluate Sympiler.

Evaluating Sympiler

After build is done successfully, the following commands can be used to evaluate Sympiler generated code:

Cholesky

./build/symTest/cholesky/symChol matrixDB/<MATRIX NAME>.mtx matrixDB/ccache/rajat21.mtx

Triangular solve

./build/symTest/triangular/SymTriang matrixDB/triangular/<MATRIX NAME>_trns.mtx

Source Tree Description

scripts

The scripts to download the matrices used in the paper.

symGen

The Sympiler-generated code is stored here by default and is used for testing Sympiler in symTest folder.

sympiler

This folder contains the source of Sympiler. Running this code generates code for a specific sparsity.

symTest

This folder tests the Sympiler-generated code for a given matrix.

sympiler's People

Contributors

cheshmi avatar sympiler avatar

Watchers

James Cloos avatar Amir Masud Zare Bidaki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.