Skip to content

The simulator for SPADA, an SpGEMM accelerator with adaptive dataflow

Notifications You must be signed in to change notification settings

tsinghua-ideal/spada-sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spada simulator

Install

Please first install the Rust toolchain.

The simulator interacts with python3 for parsing sparse matrices:

$ python3 -m venv spadaenv
$ source spadaenv/bin/activate
$ pip install -U pip numpy scipy

Build

$ cargo build --no-default-features

Workload

The simulator accepts both MatrixMarket (.mtx) and numpy formatted matrices, with the latter ones packed as a pickle file (.pkl). The folder containing these matrices is specified in the config file under config.

Simulate

First ensure the created python virtual environment is activated. The following command simulates SpGEMM of cari on Spada with the configuration specified in config/config_1mb_row1.json.

(spadaenv) $ ./target/debug/spada-sim accuratesimu spada ss cari config/config_1mb_row1.json

Reference

If you use this tool in your research, please kindly cite the following paper.

Zhiyao Li, Jiaxiang Li, Taijie Chen, Dimin Niu, Hongzhong Zheng, Yuan Xie, and Mingyu Gao. Spada: Accelerating Sparse Matrix Multiplication with Adaptive Dataflow. In Proceedings of the 28th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2023.

About

The simulator for SPADA, an SpGEMM accelerator with adaptive dataflow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages