Research Software

The main research software projects are listed below, including a short description, links to website and source code, reference research article, and the research works using it.

SPar: Stream Parallelism in C++

This is a domain-specific language (DSL) embedded in C++ to application programmers express stream parallelism via code annotations. SPar has also a meta-compiler that interprets the DSL and generates parallel code automatically for shared memory architectures while others are aimed to be supported. Our goal is to make stream parallelism exploitation easier with a higher-level interface and domain-oriented vocabulary.

WebsiteGitHubScientific Article

Used by [2017a, 2017b, 2017c, 2017d2018a, 2018b, 2018c, 2018d2019a, 2019b, 2019c, 2019d, 2019e, 2019f, 2020a, 2020b, 2020c], Google Citations.

NPB-CPP: NAS Parallel Benchmarks in C++

NPB (NAS Parallel Benchmarks) is a famous benchmark suite originally written in Fortran language. Our goal is to make it usable by other researchers and industry to leverage parallel programming, compiler, and other related tools in the C/C++ language. We provide serial versions of the five kernels and three pseudo-application along with new parallel versions using well-known parallel APIs.

GitHubScientific Article

Used by [2019a, 2019b, 2019c, 2020a], Google Citations.


DSPBench: Data Stream Processing Benchmark

This is a new suite of benchmark applications for distributed data stream processing systems. We provide 15 realistic applications implemented with Apache Storm and Spark Streaming in Java language. Our goal is to make it usable by other researchers and industry to evaluate data stream processing systems and computing infrastructures.

GitHubScientific Article

Used by [coming soon], Google Citations.