SWDEV-279885 - correct HIP doc for managed memory
Change-Id: I94bb307dbe12692eb60cce744424fb18deea28ba
[ROCm/hip commit: 52b4faef3b]
This commit is contained in:
@@ -172,8 +172,8 @@ Previously, it was essential to declare dynamic shared memory using the HIP_DYNA
|
||||
Now, the HIP-Clang compiler provides support for extern shared declarations, and the HIP_DYNAMIC_SHARED option is no longer required..
|
||||
|
||||
### `__managed__`
|
||||
Managed memory, including the `__managed__` keyword, are supported in HIP combined host/device compilation.
|
||||
Support of `__managed__` keyword in hipRTC and dynamically loaded code objects is under development.
|
||||
Managed memory, except the `__managed__` keyword, are supported in HIP combined host/device compilation.
|
||||
Support of `__managed__` keyword is under development.
|
||||
|
||||
### `__restrict__`
|
||||
The `__restrict__` keyword tells the compiler that the associated memory pointer will not alias with any other pointer in the kernel or function. This feature can help the compiler generate better code. In most cases, all pointer arguments must use this keyword to realize the benefit.
|
||||
|
||||
@@ -25,7 +25,7 @@ Numa distance is the measurement of how far between GPU and CPU devices.
|
||||
By default, each GPU selects a Numa CPU node that has the least Numa distance between them, that is, host memory will be automatically allocated closest on the memory pool of Numa node of the current GPU device. Using hipSetDevice API to a different GPU will still be able to access the host allocation, but can have longer Numa distance.
|
||||
|
||||
### Managed memory allocation
|
||||
Managed memory, including the `__managed__` keyword, are supported in HIP combined host/device compilation.
|
||||
Managed memory, except the `__managed__` keyword, are supported in HIP combined host/device compilation.
|
||||
The allocation will be automatically managed by AMD HMM (Heterogeneous Memory Management).
|
||||
|
||||
In HIP application, there should be the capability check before make managed memory API call hipMallocManaged.
|
||||
@@ -47,6 +47,16 @@ else {
|
||||
```
|
||||
For more details on managed memory APIs, please refer to the documentation HIP-API.pdf.
|
||||
|
||||
### HIP Stream Memory Operations
|
||||
|
||||
HIP supports Stream Memory Operations to enable direct synchronization between Network Nodes and GPU. Following new APIs are added,
|
||||
hipStreamWaitValue32
|
||||
hipStreamWaitValue64
|
||||
hipStreamWriteValue32
|
||||
hipStreamWriteValue64
|
||||
|
||||
For more details, please check the documentation HIP-API.pdf.
|
||||
|
||||
### Coherency Controls
|
||||
ROCm defines two coherency options for host memory:
|
||||
- Coherent memory : Supports fine-grain synchronization while the kernel is running. For example, a kernel can perform atomic operations that are visible to the host CPU or to other (peer) GPUs. Synchronization instructions include threadfence_system and C++11-style atomic operations. However, coherent memory cannot be cached by the GPU and thus may have lower performance.
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user