Skip to content

Commit

Permalink
Update and clean up FAQ
Browse files Browse the repository at this point in the history
  • Loading branch information
MKKnorr committed Oct 8, 2024
1 parent f4de07b commit 2d7f426
Show file tree
Hide file tree
Showing 6 changed files with 176 additions and 357 deletions.
1 change: 1 addition & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ preconditioners
predefining
prefetched
preprocessor
profilers
PTX
PyHIP
queryable
Expand Down
487 changes: 144 additions & 343 deletions docs/faq.rst

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion docs/how-to/hip_porting_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,8 @@ Makefiles can use the following syntax to conditionally provide a default HIP_PA
HIP_PATH ?= $(shell hipconfig --path)
```
(porting_identify_hip_runtime)=
## Identifying HIP Runtime
HIP can depend on rocclr, or CUDA as runtime
Expand All @@ -257,7 +259,15 @@ ROCclr is a virtual device interface that HIP runtimes interact with different b
* NVIDIA platform
On NVIDIA platform, HIP is just a thin layer on top of CUDA.
On non-AMD platform, HIP runtime determines if CUDA is available and can be used. If available, HIP_PLATFORM is set to `nvidia` and underneath CUDA path is used.
The environment variable `HIP_PLATFORM` can be used to specify, what runtime
should be used. The platform is detected automatically by HIP. When an AMD
graphics driver and an AMD GPU is detected, `HIP_PLATFORM` is set to `amd`.
If both runtimes are installed, and a specific one should be used, or HIP is
unable to detect the runtime, setting the environment variable manually tells
`hipcc` what compilation path to choose.
To use the CUDA compilation path, set the environment variable
to `HIP_PLATFORM=nvidia`.
## `hipLaunchKernelGGL`
Expand Down
22 changes: 12 additions & 10 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@ The Heterogeneous-computing Interface for Portability (HIP) API is a C++ runtime
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).

On the AMD ROCm platform, HIP provides header files and runtime library built on top of HIP-Clang compiler in the repository [Common Language Runtimes (CLR)](./understand/amd_clr), which contains source codes for AMD's compute languages runtimes as follows,

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.
For info on what GPUs are supported by HIP, see the
[install prerequisites](install_prerequisites).

On the AMD ROCm platform, HIP provides header files and runtime library built on
top of HIP-Clang compiler in the repository
[Common Language Runtimes (CLR)](./understand/amd_clr), which contains source
codes for AMD's compute languages runtimes as follows,

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 API to the CUDA APIs.

## Overview

Expand Down
7 changes: 5 additions & 2 deletions docs/install/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Note: The version definition for the HIP runtime is different from CUDA. On an A
``hipRuntimeGerVersion`` function returns the HIP runtime version; on an NVIDIA platform, this function
returns the CUDA runtime version.

.. _install_prerequisites:

Prerequisites
=======================================

Expand All @@ -24,8 +26,9 @@ Prerequisites
.. tab-item:: NVIDIA
:sync: nvidia

Check the system requirements in the
`NVIDIA CUDA Installation Guide <https://docs.nvidia.com/cuda/cuda-installation-guide-linux/>`_.
On NVIDIA GPUs HIP requires unified memory. All CUDA enabled NVIDIA
GPUs with compute capability 5.0 or later should be supported. For more
information, see `NVIDIA's list of CUDA enabled GPUs <https://developer.nvidia.com/cuda-gpus>`_.

Installation
=======================================
Expand Down
4 changes: 3 additions & 1 deletion docs/sphinx/_toc.yml.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ defaults:
maxdepth: 6
root: index
subtrees:
- entries:
- file: faq
title: Frequently asked questions

- file: faq

Expand Down Expand Up @@ -113,4 +116,3 @@ subtrees:
- caption: About
entries:
- file: license.md
- file: faq

0 comments on commit 2d7f426

Please sign in to comment.