Hipcl: Tool for porting cuda applications to advanced opencl platforms through hip

M Babej, P Jääskeläinen - Proceedings of the International Workshop on …, 2020 - dl.acm.org
Proceedings of the International Workshop on OpenCL, 2020dl.acm.org
Heterogeneous-compute Interface for Portability (HIP), is an open-source C++ runtime API
and a kernel language. It is designed to be compatible with CUDA and to deliver close to
native performance on CUDA platforms while exposing additional low-level hardware
features. A key use case of HIP is in providing a portability route out from the NVIDIA CUDA
platform, which is highlighted with an automated tool that can convert CUDA applications to
HIP programs. In this work we describe HIPCL, a new tool which allows running HIP …
Heterogeneous-compute Interface for Portability (HIP), is an open-source C++ runtime API and a kernel language. It is designed to be compatible with CUDA and to deliver close to native performance on CUDA platforms while exposing additional low-level hardware features. A key use case of HIP is in providing a portability route out from the NVIDIA CUDA platform, which is highlighted with an automated tool that can convert CUDA applications to HIP programs.
In this work we describe HIPCL, a new tool which allows running HIP programs on OpenCL platforms with sufficient capabilities. HIPCL thus expands the scope of the CUDA portability route from AMD ROCm platform supported targets to platforms with advanced OpenCL support. We highlight the implementation challenges of HIPCL related to the feature mismatches between CUDA and OpenCL and exemplify its runtime overheads in comparison to directly executing OpenCL applications.
ACM Digital Library