-
Notifications
You must be signed in to change notification settings - Fork 538
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: srawat <[email protected]>
- Loading branch information
Showing
4 changed files
with
76 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,35 @@ | ||
.. meta:: | ||
:description: This chapter describes the HIP runtime API and shows | ||
how to use it. | ||
:description: HIP runtime API usage | ||
:keywords: AMD, ROCm, HIP, CUDA, HIP runtime API How to, | ||
|
||
.. _hip_runtime_api_how-to: | ||
|
||
******************************************************************************** | ||
HIP Runtime API | ||
HIP runtime API | ||
******************************************************************************** | ||
|
||
The HIP runtime API provides C and C++ functionality to manage GPUs, like event, | ||
stream and memory management. On AMD platforms the HIP runtime uses the | ||
:doc:`Common Language Runtime (CLR) <hip:understand/amd_clr>`, while on NVIDIA | ||
platforms it is only a thin layer over the CUDA runtime or Driver API. | ||
The HIP runtime API provides C and C++ functionalities to manage event, stream, | ||
and memory on GPUs. On AMD ROCm software, the HIP runtime uses :doc:`Common | ||
Language Runtime (CLR) <hip:understand/amd_clr>`, while on NVIDIA CUDA platform, | ||
it is only a thin layer over the CUDA runtime or Driver API. | ||
|
||
- **CLR** contains source code for AMD's compute language runtimes: ``HIP`` and | ||
``OpenCL™``. CLR includes the implementation of the ``HIP`` on the AMD | ||
platform `hipamd <https://github.com/ROCm/clr/tree/develop/hipamd>`_ and the | ||
Radeon Open Compute Common Language Runtime (rocclr). rocclr is a virtual | ||
device interface, that enables the HIP runtime to interact with different | ||
backends such as :doc:`ROCr <rocr-runtime:index>` on Linux or PAL on Windows. CLR also include the | ||
implementation of `OpenCL runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_. | ||
``OpenCL™``. CLR includes the ``HIP`` implementation on the AMD | ||
platform: `hipamd <https://github.com/ROCm/clr/tree/develop/hipamd>`_ and the | ||
Radeon Open Compute Common Language Runtime (``rocclr``). ``rocclr`` is a | ||
virtual device interface that enables the HIP runtime to interact with | ||
different backends such as :doc:`ROCr <rocr-runtime:index>` on Linux or PAL on | ||
Windows. CLR also includes the `OpenCL runtime <https://github.com/ROCm/clr/tree/develop/opencl>`_ | ||
implementation. | ||
- The **CUDA runtime** is built on top of the CUDA driver API, which is a C API | ||
with lower-level access to NVIDIA GPUs. For further information about the CUDA | ||
driver and runtime API and its relation to HIP check the :doc:`CUDA driver API porting guide<hip:how-to/hip_porting_driver_api>`. | ||
with lower-level access to NVIDIA GPUs. For details about the CUDA driver and | ||
runtime API with reference to HIP, see :doc:`CUDA driver API porting guide <hip:how-to/hip_porting_driver_api>`. | ||
|
||
The relation between the different runtimes and their backends is presented in | ||
the following figure. | ||
The backends of HIP runtime API under AMD and NVIDIA platform are summarized in | ||
the following figure: | ||
|
||
.. figure:: ../data/how-to/hip_runtime_api/runtimes.svg | ||
|
||
.. note:: | ||
|
||
The CUDA specific headers can be found in the `hipother repository <https://github.com/ROCm/hipother>`_. | ||
For CUDA-specific headers, see the `hipother repository <https://github.com/ROCm/hipother>`_. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters