Traditionally, high performance kernels (HPKs) have been written in statically typed languages, such as C/C++ and Fortran. A recent trend among scientists—prototyping applications in dynamic languages such as Python—created a gap between the applications and existing HPKs. Thus, scientists have to either reimplement necessary kernels or manually create a connection layer to leverage existing kernels. Either option requires substantial development effort and slows down progress in science. We present a technique, dubbed WayOut, which automatically generates the entire connection layer for HPKs invoked from Python and written in C/C++. WayOut performs a hybrid analysis: it statically analyzes header files to generate Python wrapper classes and functions, and dynamically generates bindings for those kernels. By leveraging the type information available at run-time, it generates only the necessary bindings. We evaluate WayOut by rewriting dozens of existing examples from C/C++ to Python and leveraging HPKs enabled by WayOut. Our experiments show the feasibility of our technique, as well as negligible performance overhead on HPKs performance.
Tue 16 NovDisplayed time zone: Hobart change
12:00 - 13:00 | LanguagesNIER track / Tool Demonstrations / Research Papers at Koala Chair(s): Jean-Guy Schneider Deakin University | ||
12:00 20mTalk | Context Debloating for Object-Sensitive Pointer Analysis Research Papers | ||
12:20 20mTalk | Dynamic Generation of Python Bindings for HPC Kernels Research Papers Steven Zhu The University of Texas at Austin, Nader Al Awar The University of Texas at Austin, Mattan Erez The University of Texas at Austin, Milos Gligoric University of Texas at Austin | ||
12:40 10mTalk | Empowering Web Applications with WebAssembly: Are We There Yet? NIER track Weihang Wang University at Buffalo, SUNY | ||
12:50 5mTalk | Q&A MAESTRO: Q&A Post Recommendation for Fixing Java Runtime Exceptions Tool Demonstrations Yusuke Kimura Fujitsu Ltd., Takumi Akazaki Fujitsu Limited, Shinji Kikuchi Fujitsu Laboratories Ltd., Sonal Mahajan Fujitsu Research of America, Inc., Mukul Prasad Fujitsu Research of America | ||
12:55 5mTalk | GenTree: Inferring Configuration Interactions using Decision Trees Tool Demonstrations |