Open Source Software Releases
In the course of my research, my students and I have developed several pieces of software.
-
RubyWrite: Tree-writing domain-specific language (DSL) embedded within
Ruby, with a special mini-DSL for writing unparsers, and a framework for data-flow analysis.
RubyWrite git repository -
HLLC / ParaM: Ruby-based unified compiler infrastructure
for MATLAB and R, including parsing, unparsing, type inference, C++ code generation, data
flow analysis, dependence analysis, SSA / out-of-SSA, GPU code generation, auto-parallelization, and
more.
HLLC / ParaM git repository -
CUDA-Compression: A GPU-based LZSS compression algorithm, highly tuned
for NVIDIA GPGPUs and for streaming data, leveraging the respective strengths of CPUs and GPUs
together.
CUDA-Compression git repository -
JSonGPU: An embedded DSL for enabling GPU computing within
JavaScript, in content script, with an accompanying LLVM-based just-in-time compiler for PTX code generation.
JSonGPU git repository -
RustGPU: An embedded DSL for GPU computing in Rust, allowing the use of
Rust idioms within minimal overheads, with an LLVM-based PTX code
generator.
RustGPU git repository -
MPI2ShM: A ROSE-based
compiler for automatically transforming MPI code in C/C++ to optimized shared memory code (still using
processes, so your thread-unsafe libraries still work!), reducing buffer copies to zero, whenever
possible.
MPI-SharedMem git repository