OpenMP Offloading in the Jetson Nano Platform
Department of Computer Science and Engineering, University of Ioannina, Ioannina, Greece
International Workshop on Embedded Multicore Systems (International Conference on Parallel Processing workshops), (ICPP-EMS 2022), 2022
@article{kasmeridis2022openmp,
title={OpenMP Offloading in the Jetson Nano Platform},
author={Kasmeridis, Ilias K and Dimakopoulos, Vassilios V},
year={2022}
}
The nvidia Jetson Nano is a very popular system-on-module and developer kit which brings high-performance specs in a small and power-efficient embedded platform. Integrating a 128-core gpu and a quad-core cpu, it provides enough capabilities to support computationally demanding applications such as AI inference, deep learning and computer vision. While the Jetson Nano family supports a number of apis and libraries out of the box, comprehensive support of OpenMP, one of the most popular apis, is not readily available. In this work we present the implementation of an OpenMP infrastructure that is able to harness both the cpu and the gpu of a Jetson Nano board using the offload facilities of the recent versions of the OpenMP specifications. We discuss the compiler-side transformations of key constructs, the generation of CUDA-based code as well as how the runtime support is provided. We also provide experimental results for a number of applications, exhibiting performance comparable with their pure CUDA versions.
October 16, 2022 by hgpu