LORAIN

Justin M. LaPre, Elsa Gonsiorowski, Christopher D. Carothers

2014 · 14 citations · 28 references

Concepts

Abstract

Automatic parallelization of models has been the "Holy Grail" of the PDES community for the last 20 years. In this paper we present LORAIN -- Low Overhead Runtime Assisted Instruction Negation -- a tool capable of automatic emission of a reverse event handler by the compiler. Upon detection of certain instructions, LORAIN is able to account for, and in many cases reverse, the computation without resorting to state-saving techniques. For our PDES framework, we use Rensselaer's Optimistic Simulation System (ROSS) coupled with the LLVM compiler to generate the reverse event handler. One of the primary contributions of this work is that LORAIN operates on the LLVM-generated Intermediate Representation (IR) as opposed to the model, high-level source code. Through information gleaned from the IR, LORAIN is able to analyze, instrument, and invert various operations and emit efficient reverse event handlers at the binary code level.

References

28