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

@@ -11,3 +11,33 @@ cuLIB (such as cuRAND, cuBLAS) variants while performing static dispatching of A
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.
:::{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

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)
:::
:::::