R-Stream — Choreography of Computation and Data Motion

Print Friendly, PDF & Email

I wasn’t able to film most of the talks at HP-CAST this weekend since they were under NDA, but I did get a chance to hear about some interesting new compiler software called R-Stream from Reservoir Labs:

“R-Stream is a “High Level Compiler” for embedded signal/knowledge processing and HPC algorithms, and is designed to seamlessly generate parallelized code to target-specific (low-level) C compilers. Specifically, R-Stream is a source-to-source compiler that accepts a sequential C program as input and produces code that has been parallelized and optimized for these new types of processors.  R-Stream can output optimized code in a variety of formats for downstream processors, including highly optimized OpenMP and CUDA. R-Stream performs multiple advanced transformations from the input C source code in order to achieve high performance. These include special forms of array expansion (to remove constraints on parallelism), joint scheduling for parallelism and locality, task granularity selection, communications/DMA generation, software pipelining, memory region reshaping, and back end dialect generation. The resulting mapped program is much more than simply parallelized — it represents a detailed choreography of computation and data motion across parallel units and through explicitly managed memory hierarchies.

Read the Full Story.