2024-03-18 15:48:19 -04:00
# HIP documentation
2023-04-19 05:49:28 +02:00
2024-05-28 18:48:28 +02:00
The Heterogeneous-computing Interface for Portability (HIP) API is a C++ runtime
2024-05-28 18:51:08 +02:00
API and kernel language that lets developers create portable applications for AMD
and NVIDIA GPUs from single source code.
For HIP supported AMD GPUs on multiple operating systems, see:
* [Linux system requirements ](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html#supported-gpus )
* [Microsoft Windows system requirements ](https://rocm.docs.amd.com/projects/install-on-windows/en/latest/reference/system-requirements.html#windows-supported-gpus )
The CUDA enabled NVIDIA GPUs are supported by HIP. For more information, see [GPU Compute Capability ](https://developer.nvidia.com/cuda-gpus ).
2023-04-19 05:49:28 +02:00
2024-11-08 15:20:09 -05:00
On the AMD ROCm platform, HIP provides header files and runtime library built on top of HIP-Clang compiler in the repository [Compute Language Runtimes (CLR) ](./understand/amd_clr ), which contains source codes for AMD's compute languages runtimes as follows,
2024-06-18 17:04:04 -04:00
On non-AMD platforms, like NVIDIA, HIP provides header files required to support non-AMD specific back-end implementation in the repository ['hipother' ](https://github.com/ROCm/hipother ), which translates from the HIP runtime APIs to CUDA runtime APIs.
2023-04-19 05:49:28 +02:00
## Overview
::::{grid} 1 1 2 2
2024-05-07 15:52:14 -04:00
:gutter: 3
2023-04-19 05:49:28 +02:00
2024-05-07 15:52:14 -04:00
:::{grid-item-card} Install
2024-03-18 15:48:19 -04:00
2024-05-07 15:52:14 -04:00
* [Installing HIP ](./install/install )
* [Building HIP from source ](./install/build )
2024-03-18 15:48:19 -04:00
:::
:::{grid-item-card} Conceptual
2024-05-07 15:52:14 -04:00
* {doc}`./understand/programming_model`
* {doc}`./understand/hardware_implementation`
2024-06-18 17:04:04 -04:00
* {doc}`./understand/amd_clr`
2024-10-21 16:50:09 +02:00
* {doc}`./understand/texture_fetching`
2024-03-18 15:48:19 -04:00
2023-04-19 05:49:28 +02:00
:::
2024-05-07 15:52:14 -04:00
:::{grid-item-card} How to
2024-03-18 15:48:19 -04:00
2024-10-21 16:50:09 +02:00
* [Programming manual ](./how-to/programming_manual )
* [HIP porting guide ](./how-to/hip_porting_guide )
* [HIP porting: driver API guide ](./how-to/hip_porting_driver_api )
2024-05-07 15:52:14 -04:00
* {doc}`./how-to/hip_rtc`
* {doc}`./how-to/performance_guidelines`
* [Debugging with HIP ](./how-to/debugging )
* {doc}`./how-to/logging`
2024-10-21 16:50:09 +02:00
* [Unified memory ](./how-to/unified_memory )
* [Virtual memory ](./how-to/virtual_memory )
* {doc}`./how-to/stream_ordered_allocator`
* [Cooperative groups ](./how-to/cooperative_groups )
* [HIP graphs ](./how-to/hipgraph )
2024-05-07 15:52:14 -04:00
* {doc}`./how-to/faq`
2024-03-18 15:48:19 -04:00
2024-05-07 15:52:14 -04:00
:::
2024-03-18 15:48:19 -04:00
2023-04-19 05:49:28 +02:00
:::{grid-item-card} Reference
2024-03-18 15:48:19 -04:00
2024-10-21 16:50:09 +02:00
* [HIP runtime API ](./reference/hip_runtime_api_reference )
* [Modules ](./reference/hip_runtime_api/modules )
* [Global defines, enums, structs and files ](./reference/hip_runtime_api/global_defines_enums_structs_files )
* [HSA runtime API for ROCm ](./reference/virtual_rocr )
* [C++ language extensions ](./reference/cpp_language_extensions )
* [C++ language support ](./reference/cpp_language_support )
* [HIP math API ](./reference/math_api )
* [Comparing syntax for different APIs ](./reference/terms )
2024-05-07 15:52:14 -04:00
* [List of deprecated APIs ](./reference/deprecated_api_list )
2024-06-12 00:33:01 +01:00
* [FP8 numbers in HIP ](./reference/fp8_numbers )
2024-03-18 15:48:19 -04:00
2023-04-19 05:49:28 +02:00
:::
2024-05-07 15:52:14 -04:00
:::{grid-item-card} Tutorial
2024-03-18 15:48:19 -04:00
2024-10-21 16:50:09 +02:00
* [HIP basic examples ](https://github.com/ROCm/rocm-examples/tree/develop/HIP-Basic )
2024-05-07 15:52:14 -04:00
* [HIP examples ](https://github.com/ROCm/HIP-Examples )
* [HIP test samples ](https://github.com/ROCm/hip-tests/tree/develop/samples )
2024-10-21 16:50:09 +02:00
* [SAXPY tutorial ](./tutorial/saxpy )
* [Reduction tutorial ](./tutorial/reduction )
* [Cooperative groups tutorial ](./tutorial/cooperative_groups_tutorial )
2024-03-18 15:48:19 -04:00
2023-04-19 05:49:28 +02:00
:::
2023-11-01 10:32:23 -06:00
::::
2024-03-18 15:48:19 -04:00
2024-05-07 15:52:14 -04:00
Known issues are listed on the [HIP GitHub repository ](https://github.com/ROCm/HIP/issues ).
To contribute features or functions to the HIP project, refer to [Contributing to HIP ](https://github.com/ROCm/HIP/blob/develop/CONTRIBUTING.md ).
2024-05-28 18:42:08 +02:00
To contribute to the documentation, refer to {doc}`Contributing to ROCm docs <rocm:contribute/contributing>` page.
2024-03-18 15:48:19 -04:00
2024-05-07 15:52:14 -04:00
You can find licensing information on the [Licensing ](https://rocm.docs.amd.com/en/latest/about/license.html ) page.