Update API Refs (#2006)

* add url to ROCgdb-docs

update reqs and gitignore

* add validation tools section for RVS and TransferBench

* stub in links for validation/mgmt tools

* populate compilers page

* add cards for ai libs and computer vision pages

* add content to math lib pages

* reorg hip and math libs

* update index

* consolidate linear algebra libs
This commit is contained in:
Sam Wu
2023-03-30 15:14:43 -06:00
committed by GitHub
parent 415f3b93ad
commit 80778f173f
14 changed files with 217 additions and 168 deletions

1
.gitignore vendored
View File

@@ -9,6 +9,7 @@ _static/
_templates/
_toc.yml
docBin/
_doxygen/
# avoid duplicating contributing.md due to conf.py
docs/contributing.md

View File

@@ -52,18 +52,18 @@ subtrees:
url: https://rocmdocs.amd.com/projects/hipBLAS/en/{branch}/
- title: hipBLASLt
url: https://rocmdocs.amd.com/projects/hipBLASLt/en/{branch}/
- title: rocWMMA
url: https://rocmdocs.amd.com/projects/rocWMMA/en/{branch}/
- title: rocSPARSE
url: https://rocmdocs.amd.com/projects/rocSPARSE/en/{branch}/
- title: hipSPARSE
url: https://rocmdocs.amd.com/projects/hipSPARSE/en/{branch}/
- title: rocALUTION
url: https://rocmdocs.amd.com/projects/rocALUTION/en/{branch}/
- title: rocWMMA
url: https://rocmdocs.amd.com/projects/rocWMMA/en/{branch}/
- title: rocSOLVER
url: https://rocmdocs.amd.com/projects/rocSOLVER/en/{branch}/
- title: hipSOLVER
url: https://rocmdocs.amd.com/projects/hipSOLVER/en/{branch}/
- title: rocSPARSE
url: https://rocmdocs.amd.com/projects/rocSPARSE/en/{branch}/
- title: hipSPARSE
url: https://rocmdocs.amd.com/projects/hipSPARSE/en/{branch}/
- file: reference/gpu_libraries/fft
subtrees:
- entries:
@@ -79,7 +79,7 @@ subtrees:
- title: hipRAND
url: https://rocmdocs.amd.com/projects/hipRAND/en/{branch}/
- file: reference/gpu_libraries/c++_primitives
title: C++ Primitives
title: C++ Primitive Libraries
subtrees:
- entries:
- title: rocPRIM
@@ -122,13 +122,13 @@ subtrees:
- entries:
- file: reference/rocmcc/rocmcc
title: ROCmCC
- url: http://profiler
title: ROCGDB
- url: http://profiler
title: rocprof
- url: http://profiler
- url: https://rocmdocs.amd.com/projects/ROCmCC/en/{branch}/
title: ROCgdb
- url: https://rocmdocs.amd.com/projects/ROCgdb/en/{branch}/
title: rocprofiler
- url: https://rocmdocs.amd.com/projects/rocprofiler/en/{branch}/
title: roctracer
- url: http://profiler
- url: https://rocmdocs.amd.com/projects/roctracer/en/{branch}/
title: ROCdbgapi
- file: reference/management_tools
title: Management Tools
@@ -137,11 +137,17 @@ subtrees:
- url: https://rocmdocs.amd.com/projects/amdsmi/en/{branch}/
title: AMD SMI
- url: https://rocmdocs.amd.com/projects/rocmsmi/en/{branch}/
title: rocmsmi
- url: https://rocmdocs.amd.com/projects/rvs/en/{branch}/
title: RVS
title: ROCm SMI
- url: https://rocmdocs.amd.com/projects/rdc/en/{branch}/
title: ROCm Datacenter Tool
- file: reference/validation_tools
title: Validation Tools
subtrees:
- entries:
- url: https://rocmdocs.amd.com/projects/rvs/en/{branch}/
title: RVS
- url: https://rocmdocs.amd.com/projects/TransferBench/en/{branch}/
title: TransferBench
- file: reference/gpu_arch
subtrees:
- entries:

View File

@@ -1,8 +1,8 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements.in
# pip-compile .sphinx/requirements.in
#
accessible-pygments==0.0.3
# via pydata-sphinx-theme
@@ -66,12 +66,7 @@ imagesize==1.4.1
importlib-metadata==6.0.0
# via
# jupyter-cache
# jupyter-client
# myst-nb
importlib-resources==5.10.2
# via
# jsonschema
# rocm-docs-core
ipykernel==6.21.2
# via myst-nb
ipython==8.10.0
@@ -143,8 +138,6 @@ pexpect==4.8.0
# via ipython
pickleshare==0.7.5
# via ipython
pkgutil-resolve-name==1.3.10
# via jsonschema
platformdirs==3.0.0
# via jupyter-core
prompt-toolkit==3.0.37
@@ -192,7 +185,7 @@ requests==2.28.1
# pygithub
# sphinx
rocm-docs-core @ git+https://github.com/RadeonOpenCompute/rocm-docs-core.git
# via -r requirements.in
# via -r .sphinx/requirements.in
six==1.16.0
# via
# asttokens
@@ -214,6 +207,7 @@ sphinx==4.3.1
# sphinx-copybutton
# sphinx-design
# sphinx-external-toc
# sphinx-notfound-page
sphinx-book-theme==1.0.0rc2
# via rocm-docs-core
sphinx-copybutton==0.5.1
@@ -222,6 +216,8 @@ sphinx-design==0.3.0
# via rocm-docs-core
sphinx-external-toc==0.3.1
# via rocm-docs-core
sphinx-notfound-page==0.8.3
# via rocm-docs-core
sphinxcontrib-applehelp==1.0.4
# via sphinx
sphinxcontrib-devhelp==1.0.2
@@ -267,9 +263,7 @@ wcwidth==0.2.6
wrapt==1.14.1
# via deprecated
zipp==3.11.0
# via
# importlib-metadata
# importlib-resources
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools

View File

@@ -45,12 +45,12 @@ Welcome to AMD ROCm's documentation!
- [Math Libraries](reference/gpu_libraries/math)
- [C++ Primitives](reference/gpu_libraries/c++_primitives)
- [Communication Libraries](reference/gpu_libraries/communication)
- [MIOpen - Machine Intelligence](https://rocmsoftwareplatform.github.io/MIOpen/doc/html/releasenotes.html)
- [MIGraphX - Graph Optimization](https://rocmsoftwareplatform.github.io/AMDMIGraphX/doc/html/)
- [AI Libraries](reference/ai_tools)
- [Computer Vision](reference/computer_vision)
- [OpenMP](reference/openmp/openmp)
- [Compilers and Tools](reference/compilers)
- [Management Tools](reference/management_tools)
- [Validation Tools](reference/validation_tools)
- [GPU Architecture](reference/gpu_arch)
:::

View File

@@ -1 +1,27 @@
# AI Tools
# AI Libraries
::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} MIOpen
AMD's library for high performance machine learning primitives.
- [API Reference Manual](https://rocmdocs.amd.com/projects/MIOpen/en/latest/)
:::
:::{grid-item-card} Composable Kernel
Composable Kernel: Performance Portable Programming Model for Machine Learning Tensor Operators
- [API Reference Manual](https://rocmdocs.amd.com/projects/composable_kernel/en/latest/)
:::
:::{grid-item-card} MIGraphX
AMD MIGraphX is AMD's graph inference engine that accelerates machine learning model inference.
- [API Reference Manual](https://rocmdocs.amd.com/projects/MIGraphX/en/latest/)
:::
:::::

View File

@@ -1 +1,34 @@
# Compilers
# Compilers and Tools
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} ROCmCC
ROCmCC is a Clang/LLVM-based compiler. It is optimized for high-performance computing on AMD GPUs and CPUs and supports various heterogeneous programming models such as HIP, OpenMP, and OpenCL.
- [API Reference Manual](https://rocmdocs.amd.com/projects/ROCmCC/en/latest/)
:::
:::{grid-item-card} ROCgdb
This is ROCgdb, the ROCm source-level debugger for Linux, based on GDB, the GNU source-level debugger.
- [API Reference Manual](https://rocmdocs.amd.com/projects/ROCgdb/en/latest/)
:::
:::{grid-item-card} rocprofiler
ROC profiler library. Profiling with perf-counters and derived metrics. Library supports GFX8/GFX9. HW specific low-level performance analysis interface for profiling of GPU compute applications. The profiling includes HW performance counters with complex performance metrics.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocprofiler/en/latest/)
:::
:::{grid-item-card} roctracer
Callback/Activity Library for Performance tracing AMD GPU's
- [API Reference Manual](https://rocmdocs.amd.com/projects/roctracer/en/latest/)
:::
:::::

View File

@@ -1 +1,20 @@
# Computer Vision
::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} MIVisionX
MIVisionX toolkit is a set of comprehensive computer vision and machine intelligence libraries, utilities, and applications bundled into a single toolkit. AMD MIVisionX also delivers a highly optimized open-source implementation of the Khronos OpenVX™ and OpenVX™ Extensions.
- [API Reference Manual](https://rocmdocs.amd.com/projects/MIVisionX/en/latest/)
:::
:::{grid-item-card} rocAL
The AMD ROCm Augmentation Library (rocAL) is designed to efficiently decode and process images and videos from a variety of storage formats and modify them through a processing graph programmable by the user. rocAL currently provides C API.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocAL/en/latest/)
:::
:::::

View File

@@ -5,77 +5,39 @@ ROCm libraries for linear algebra are as follows:
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} hipBLAS
hipBLAS is a compatiblity layer for GPU accelerated BLAS optimized for AMD GPUs
via rocBLAS and rocSOLVER. hipBLAS allows for a common interface for other GPU
BLAS libraries.
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipBLAS/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} rocBLAS
rocBLAS is an AMD GPU optimized library for BLAS.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocBLAS/en/rtd/)
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocBLAS/en/develop/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocBLAS)
:::
:::{grid-item-card} rocSPARSE
rocSPARSE is a sparse matrix solver for AMD GPU backends.
:::{grid-item-card} hipBLAS
hipBLAS is a compatiblity layer for GPU accelerated BLAS optimized for AMD GPUs
via rocBLAS and rocSOLVER. hipBLAS allows for a common interface for other GPU
BLAS libraries.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocSPARSE/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipBLAS/en/develop/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} hipSPARSE
hipSPARSE is sparse matrix solver library that support AMD and NVIDIA GPU backends.
:::{grid-item-card} hipBLASLt
hipBLASLt is a library that provides general matrix-matrix operations with a flexible API and extends funtionalities beyond traditional BLAS library. hipBLASLt is exposed APIs in HIP programming language with an underlying optimized generator as a backend kernel provider.
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipSPARSE/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipSPARSE/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipBLASLt/en/develop/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLASLt/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} rocALUTION
rocBLAS is an AMD GPU optimized library for BLAS.
rocALUTION is a sparse linear algebra library with focus on exploring fine-grained parallelism on top of AMDs Radeon Open Compute ROCm runtime and toolchains, targeting modern CPU and GPU platforms.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocALUTION/en/rtd/)
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocALUTION/en/develop/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocALUTION/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} rocWMMA
AMD's C++ library for accelerating mixed-precision matrix multiply-accumulate (MMA)
operations leveraging AMD GPU hardware.
- [API Reference Manual](https://docs.amd.com/bundle/rocWMMA-release-rocm-rel-5.2/page/API_Reference_Guide.html)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocWMMA/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/ROCmSoftwarePlatform/rocWMMA/tree/develop/samples)
:::
:::{grid-item-card} rocSOLVER
rocSOLVER is a work-in-progress implementation of a subset of LAPACK functionality on the ROCm platform.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocSOLVER/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/ROCmSoftwarePlatform/rocSOLVER/tree/develop/clients/samples)
:::
:::{grid-item-card} hipSOLVER
hipSOLVER is a LAPACK marshalling library, with multiple supported backends. It sits between the
application and a 'worker' LAPACK library, marshalling inputs into the backend library and marshalling
results back to the application.
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipSOLVER/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/ROCmSoftwarePlatform/hipSOLVER/tree/develop/clients/samples)
:::
:::::

View File

@@ -10,4 +10,34 @@ The hipLIB variants (such as hipRAND, hipBLAS) are compatibility layers that pro
cuLIB (such as cuRAND, cuBLAS) variants while performing static dispatching of API calls to the appropriate
vendor libraries as their back-ends. Due to their static dispatch nature, support for either vendor is decided
at compile-time of the hipLIB in question. For dynamic dispatch between vendor implementations, refer to the
[Orochi](https://github.com/GPUOpen-LibrariesAndSDKs/Orochi) library.
[Orochi](https://github.com/GPUOpen-LibrariesAndSDKs/Orochi) library.
:::{grid-item-card} [Linear Algebra Libraries](linear_algebra)
- [rocBLAS](https://rocmdocs.amd.com/projects/rocBLAS/en/develop/)
- [hipBLAS](https://rocmdocs.amd.com/projects/hipBLAS/en/develop/)
- [hipBLASLt](https://rocmdocs.amd.com/projects/hipBLASLt/en/develop/)
- [rocALUTION](https://rocmdocs.amd.com/projects/rocALUTION/en/develop/)
- [rocWMMA](https://rocmdocs.amd.com/projects/rocWMMA/en/develop/)
- [rocSOLVER](https://rocmdocs.amd.com/projects/rocSOLVER/en/develop/)
- [hipSOLVER](https://rocmdocs.amd.com/projects/hipSOLVER/en/develop/)
- [rocSPARSE](https://rocmdocs.amd.com/projects/rocSPARSE/en/develop/)
- [hipSPARSE](https://rocmdocs.amd.com/projects/hipSPARSE/en/develop/)
:::
:::{grid-item-card} [Fast Fourier Transforms](fft)
- [rocFFT](https://rocmdocs.amd.com/projects/rocFFT/en/develop/)
- [hipFFT](https://rocmdocs.amd.com/projects/hipFFT/en/develop/)
:::
:::{grid-item-card} [Random Numbers](rand)
- [rocRAND](https://rocmdocs.amd.com/projects/rocRAND/en/develop/)
- [hipRAND](https://rocmdocs.amd.com/projects/hipRAND/en/develop/)
:::
:::::

View File

@@ -1,26 +0,0 @@
# Linear Solvers
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} rocSOLVER
rocSOLVER is a work-in-progress implementation of a subset of LAPACK functionality on the ROCm platform.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocSOLVER/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocSOLVER/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/ROCmSoftwarePlatform/rocSOLVER/tree/develop/clients/samples)
:::
:::{grid-item-card} hipSOLVER
hipSOLVER is a LAPACK marshalling library, with multiple supported backends. It sits between the
application and a 'worker' LAPACK library, marshalling inputs into the backend library and marshalling
results back to the application.
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipSOLVER/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipSOLVER/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/ROCmSoftwarePlatform/hipSOLVER/tree/develop/clients/samples)
:::
:::::

View File

@@ -1 +0,0 @@
# Sparse Matrix Solvers

View File

@@ -1,6 +1,9 @@
# HIP
HIP is both AMD's GPU programming langauge extension and the GPU runtime. This page introduces the HIP runtime and other HIP libraries and tools.
## HIP Runtime and Libraries
## HIP Runtime
:::::{grid} 1 1 2 2
:gutter: 1
@@ -12,60 +15,6 @@ The HIP Runtime is used to enable GPU acceleration for all HIP language based pr
:::
:::{grid-item-card} [Math Libraries](./gpu_libraries/math)
HIP Math Libraries support the following domains:
- [Matrix Multiplication](./gpu_libraries/blas)
- [Fast Fourier Transforms](./gpu_libraries/fft)
- [Random Numbers](./gpu_libraries/rand)
- [Linear Solvers](./gpu_libraries/solver)
- [Sparse Matrix Solvers](./gpu_libraries/sparse)
:::
:::{grid-item-card} [C++ Primitives](./gpu_libraries/c++_primitives)
ROCm template libraries for C++ primitives and algorithms are as follows:
- [rocPRIM](https://rocprim.readthedocs.io/en/latest/)
- [rocThrust](https://rocthrust.readthedocs.io/en/latest/)
- [hipCUB](https://hipcub.readthedocs.io/en/latest/)
:::
:::{grid-item-card} [Communication Libraries](gpu_libraries/communication)
Inter and intra node communication is supported by the following projects:
- [RCCL](https://rocmdocs.amd.com/projects/rccl/en/latest/)
:::
:::{grid-item-card} MIOpen
AMD's library for high performance machine learning primitives.
- [API Reference Manual](https://rocmdocs.amd.com/projects/MIOpen/en/develop/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/MIOpen/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} MIGraphX
AMD's graph optimization engine.
- [API Reference Manual](https://rocmdocs.amd.com/projects/AMDMIGraphX/en/develop/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/MIGraphX/blob/develop/CHANGELOG.md)
:::
:::{grid-item-card} [Computer Vision](./computer_vision)
Computer vision related projects.
- [MIVisionX](https://rocmdocs.amd.com/projects/MIVisionX/en/develop)
- [rocAL](https://rocmdocs.amd.com/projects/rocAL/en/develop)
:::
:::::
## Porting tools
@@ -81,4 +30,4 @@ CUDA APIs are documented here as well.
:::
:::::
:::::

View File

@@ -1 +1,35 @@
# Management Tools
:::::{grid} 1 1 3 3
:gutter: 1
:::{grid-item-card} AMD SMI
GO AMD SMI provides GO binding for [E-SMI In-Band C library](https://github.com/amd/esmi_ib_library.git),
[ROCm SMI Library](https://github.com/RadeonOpenCompute/rocm_smi_lib.git), and any
GO language application that needs to link with these libraries and call the APIs
from the GO application. The GO binding are imported in the
[AMD SMI Exporter](https://github.com/amd/amd_smi_exporter.git) to export information
provided by the AMD E-SMI inband library and the ROCm SMI GPU library to the Prometheus server.
- [API Reference Manual](https://rocmdocs.amd.com/projects/amdsmi/en/latest/)
- [Examples](https://github.com/amd/go_amd_smi#example)
:::
:::{grid-item-card} ROCm SMI
This tool acts as a command line interface for manipulating and monitoring the amdgpu kernel, and is intended to replace and deprecate the existing rocm_smi.py CLI tool. It uses Ctypes to call the rocm_smi_lib API.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocmsmi/en/latest/)
- [Examples](https://github.com/RadeonOpenCompute/rocm_smi_lib/tree/master/python_smi_tools)
:::
:::{grid-item-card} ROCm Datacenter Tool
The ROCm™ Data Center Tool simplifies the administration and addresses key infrastructure challenges in AMD GPUs in cluster and datacenter environments.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rdc/en/latest/)
- [Examples](https://github.com/RadeonOpenCompute/rdc/tree/master/example)
:::
:::::

View File

@@ -0,0 +1,22 @@
# Validation Tools
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} RVS
The ROCm Validation Suite is a system administrators and cluster manager's tool for detecting and troubleshooting common problems affecting AMD GPU(s) running in a high-performance computing environment, enabled using the ROCm software stack on a compatible platform.
- [API Reference Manual](https://rocmdocs.amd.com/projects/RVS/en/latest/)
:::
:::{grid-item-card} TransferBench
TransferBench is a simple utility capable of benchmarking simultaneous transfers between user-specified devices (CPUs/GPUs).
- [API Reference Manual](https://rocmdocs.amd.com/projects/TransferBench/en/latest/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/TransferBench/blob/develop/CHANGELOG.md)
- [Examples](https://rocmdocs.amd.com/projects/TransferBench/en/develop/examples/index.html#examples)
:::
:::::