Wrapping up Existing OpenACC Compilers for Runtime Extension

Wrapping up Existing OpenACC Compilers for Runtime Extension

HPC Workflows

Information

The rapid development in computing technology has paved the way for directive-based programming models towards a principal role in maintaining software portability of performance-critical applications. Efforts on such models involve a minimum engineering cost for enabling computational acceleration on multiple architectures while programmers are only required to add meta information upon sequential code. Optimizations for obtaining the best possible efficiency, however, are often challenging. The bare insertion of directives by the programmer is prone to performance degradation because of the fewer compilation opportunities possible, therefore, compels manual code adjustments. Our research introduces JACC, a practical technique to OpenACC which enables runtime extension by wrapping up existing compilers. We add automated techniques for asynchronous execution, on-the-fly kernel specialization and mutli-GPU utilization on JACC. While using manually-tuned applications, we show performance characteristics for each method.

Log in