Workshop:LLVM-HPC2021: The Seventh Workshop on the LLVM Compiler Infrastructure in HPC
Authors: Alister Johnson (University of Oregon) and Johannes Doerfert (Argonne National Laboratory (ANL))
Abstract: Refactoring code for cleanliness, API changes, and new programming models is a common, yet time-consuming task for application developers. Many of the changes done while refactoring are simple and mechanical and can be easily automated. Other changes, however, still require input from a human programmer to ensure the desired result is achieved.
This work describes a prototype tool built on top of Clang that will allow programmers to automate these more complex changes via a user-friendly, pure C++ framework. As a motivating example, we present an alternative, customizable implementation of hipify, which translates CUDA to HIP, using our framework.