SWDEV-288929 - Add hiprtc support in programming guide

Change-Id: I22d69801bbb36b610c855657a7248c24b9981b80


[ROCm/hip commit: 3f503283e1]
This commit is contained in:
Julia Jiang
2021-06-14 19:19:30 -04:00
committed by Julia Jiang
parent 26f834670a
commit afd774c477
2 changed files with 12 additions and 3 deletions
+3 -3
View File
@@ -29,20 +29,20 @@ The HIP repository maintains several branches. The branches that are of importan
HIP releases are typically naming convention for each ROCM release to help differentiate them.
* rocm x.yy: These are the stable releases based on the ROCM release.
* rocm x.yy: These are the stable releases based on the ROCM release.
This type of release is typically made once a month.*
## More Info:
- [Installation](INSTALL.md)
- [HIP FAQ](docs/markdown/hip_faq.md)
- [HIP Kernel Language](docs/markdown/hip_kernel_language.md)
- [HIP Runtime API (Doxygen)](http://rocm-developer-tools.github.io/HIP)
- [HIP Runtime API (Doxygen)](https://github.com/RadeonOpenCompute/ROCm)
- [HIP Porting Guide](docs/markdown/hip_porting_guide.md)
- [HIP Porting Driver Guide](docs/markdown/hip_porting_driver_api.md)
- [HIP Programming Guide](docs/markdown/hip_programming_guide.md)
- [HIP Logging ](docs/markdown/hip_logging.md)
- [HIP Debugging ](docs/markdown/hip_debugging.md)
- [Code Object tooling ] (docs/markdown/obj_tooling.md)
- [Code Object tooling ](docs/markdown/obj_tooling.md)
- [HIP Terminology](docs/markdown/hip_terms2.md) (including Rosetta Stone of GPU computing terms across CUDA/HIP/OpenCL)
- [HIPIFY](https://github.com/ROCm-Developer-Tools/HIPIFY/blob/master/README.md)
- Supported CUDA APIs:
@@ -98,6 +98,15 @@ In case events are used across multiple dispatches, for example, start and stop
- Coherent host memory is the default and is the easiest to use since the memory is visible to the CPU at typical synchronization points. This memory allows in-kernel synchronization commands such as threadfence_system to work transparently.
- HIP/ROCm also supports the ability to cache host memory in the GPU using the "Non-Coherent" host memory allocations. This can provide performance benefit, but care must be taken to use the correct synchronization.
## HIP Runtime Compilation
HIP now supports runtime compilation (hipRTC), the usage of which will provide the possibility of optimizations and performance improvement compared with other APIs via regular offline static compilation.
hipRTC APIs accept HIP source files in character string format as input parameters and create handles of programs by compiling the HIP source files without spawning separate processes.
For more details on hipRTC APIs, refer to HIP-API.pdf in GitHub (https://github.com/RadeonOpenCompute/ROCm).
The link here(https://github.com/ROCm-Developer-Tools/HIP/blob/main/tests/src/hiprtc/saxpy.cpp) shows an example how to program HIP application using runtime compilation mechanism.
## Device-Side Malloc
HIP-Clang currently doesn't supports device-side malloc and free.