Software

SEJITS: Getting Productivity and PerformanceWith Selective Embedded JIT Specialization

Free registration required

Executive Summary

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 knowledge of parallel hardware architectures. The authors combine efficiency-language performance with productivity-language programmability using Selective Embedded Just-In-Time Specialization (SEJITS). At run-time, they 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. Because the specialization machinery is implemented in the productivity language itself, it is easy for efficiency programmers to incrementally add specializers for new domain abstractions, new hardware, or both.

  • Format: PDF
  • Size: 295.9 KB