Abstract
Massively parallel architectures are mainly based on a parallel heterogeneous setup, they are composed by different computing devices that speedup specific code region named kernel. These kernels are executed offline in the corresponding devices. Porting applications to a specific heterogeneous platform is a costly task in terms of human resources and time-to-market. One of the key points in the porting process is manually analyzing and detecting the kernels in applications. Moreover, each device of these heterogeneous platforms has their own restrictions, such as memory allocation support. The kernels must be mapped with their suitable computing devices. Finally, the memory transfer operations become an important bottleneck in heterogeneous platforms. In order to improve the performance, the transfer operations have to be avoided whenever it is possible. In this paper, we introduce AKI, an automatic kernel identification and annotation tool that aims to identify potential kernels in C++ sequential applications. AKI looks for hotspots that can be offlined on heterogeneous computing devices. Finally, AKI annotates the hotspots as kernels by using REPARA C++ attributes mapping the kernels to the suitable heterogeneous computing devices. This process analyzes not only the kernels itself but also their associated data, including kernels and data interdependencies. These annotations can aid future automatic source-to-source transformation tools for heterogeneous platforms.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.