Doc update to clarify supported / unsupported features
このコミットが含まれているのは:
+17
-4
@@ -42,21 +42,34 @@ HIP provides the following:
|
||||
The HIP API documentation describes each API and its limitations, if any, compared with the equivalent CUDA API.
|
||||
|
||||
### What is not supported?
|
||||
#### Run-time features
|
||||
#### Runtime/Driver API features
|
||||
At a high-level, the following features are not supported:
|
||||
- Textures
|
||||
- MemcpyToSymbol functions
|
||||
- Dynamic parallelism (CUDA 5.0)
|
||||
- Managed memory (CUDA 6.5)
|
||||
- Graphics interoperation with OpenGL or Direct3D
|
||||
- CUDA Driver API (Under Development)
|
||||
- CUDA IPC Functions (Under Development)
|
||||
|
||||
- CUDA array, mipmappedArray and pitched memory
|
||||
- CUDA Driver API
|
||||
- MemcpyToSymbol functions
|
||||
|
||||
See the [API Support Table](CUDA_Runtime_API_functions_supported_by_HIP.md) for more detailed information.
|
||||
|
||||
#### Kernel language features
|
||||
- Device-side dynamic memory allocations (malloc, free, new, delete) (CUDA 4.0)
|
||||
- Virtual functions, indirect functions and try/catch (CUDA 4.0)
|
||||
- `__prof_trigger`
|
||||
- PTX assembly (CUDA 4.0)
|
||||
- Several kernel features are under development. See the [HIP Kernel Language](hip_kernel_language.md) for more information.
|
||||
- Several kernel features are under development. See the [HIP Kernel Language](hip_kernel_language.md) for more information. These include:
|
||||
- printf
|
||||
- assert__
|
||||
- `__restrict__`
|
||||
- `__launch_bounds__`
|
||||
- `__threadfence*_`, `__syncthreads*`
|
||||
- Unbounded loop unroll
|
||||
|
||||
|
||||
|
||||
### Is HIP a drop-in replacement for CUDA?
|
||||
No. HIP provides porting tools which do most of the work do convert CUDA code into portable C++ code that uses the HIP APIs.
|
||||
|
||||
@@ -156,7 +156,7 @@ The `__constant__` keyword is supported. The host writes constant memory before
|
||||
### `__shared__`
|
||||
The `__shared__` keyword is supported.
|
||||
|
||||
`extern __shared__` allows the host to dynamically allocate shared memory and is specified as a launch parameter. This feature is under development.
|
||||
`extern __shared__` allows the host to dynamically allocate shared memory and is specified as a launch parameter. HIP uses an alternate syntax based on the HIP_DYNAMIC_SHARED macro.
|
||||
|
||||
### `__managed__`
|
||||
Managed memory, including the `__managed__` keyword, are not supported in HIP.
|
||||
@@ -537,7 +537,6 @@ HIP supports the following atomic operations.
|
||||
### Caveats and Features Under-Development:
|
||||
|
||||
- HIP enables atomic operations on 32-bit integers. Additionally, it supports an atomic float add. AMD hardware, however, implements the float add using a CAS loop, so this function may not perform efficiently.
|
||||
- wrapping increment and decrement are under development.
|
||||
|
||||
## Warp Cross-Lane Functions
|
||||
|
||||
@@ -573,8 +572,6 @@ Applications can test whether the target platform supports the any/all instructi
|
||||
|
||||
### Warp Shuffle Functions
|
||||
|
||||
The following warp shuffle instructions are under development.
|
||||
|
||||
Half-float shuffles are not supported. The default width is warpSize---see [Warp Cross-Lane Functions](#warp-cross-lane-functions). Applications should not assume the warpSize is 32 or 64.
|
||||
|
||||
```
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする