| | |
Summary: SEJITS: Getting Productivity and Performance With Selective Embedded
JIT Specialization
Bryan Catanzaro, Shoaib Kamil, Yunsup Lee, Krste Asanovi´c, James Demmel,
Kurt Keutzer, John Shalf*, Kathy Yelick, Armando Fox
UC Berkeley Parallel Computing Laboratory and *Lawrence Berkeley National Laboratory
Abstract
Today's "high productivity" programming languages
such as Python lack the performance of harder-to-
program "efficiency" languages (CUDA, Cilk, C with
OpenMP) that can exploit extensive programmer knowl-
edge of parallel hardware architectures. We com-
bine efficiency-language performance with productivity-
language programmability using selective embedded
just-in-time specialization (SEJITS). At runtime, we
specialize (generate, compile, and execute efficiency-
language source code for) an application-specific and
platform-specific subset of a productivity language,
largely invisibly to the application programmer. Be-
cause the specialization machinery is implemented in
the productivity language itself, it is easy for efficiency
|