Math Libraries Landing pages (#1940)

* Add C++ algorithm primitive lib cards

* Add PRNG section

* API Reference Manuals first

* Add Tensile and rocWMMA

* Change rocFFT and hipFFT order for consistency

* Add RCCL

* Fix PRNG links

* Add rocSOLVER and hipSOLVER

* Add general note on rocLIB vs hipLIB
This commit is contained in:
Nagy-Egri Máté Ferenc
2023-03-17 17:37:03 +01:00
committed by GitHub
parent 75f4c018cc
commit 1a570efb48
7 changed files with 151 additions and 12 deletions

View File

@@ -10,18 +10,40 @@ 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.
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipBLAS/blob/develop/CHANGELOG.md)
- [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.
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocBLAS/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocBLAS)
:::
:::{grid-item-card} Tensile
Tensile is a tool for creating benchmark-driven backend libraries for GEMMs,
GEMM-like problems and general N-dimensional tensor contractions on a GPU.
The Tensile library is mainly used as backend library to rocBLAS. Tensile acts as the
performance backbone for a wide variety of 'compute' applications running on AMD GPUs.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocBLAS/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocBLAS/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocBLAS)
:::
:::{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)
:::
:::::

View File

@@ -1 +1,40 @@
# C++ Primitives
ROCm template libraries for algorithms are as follows:
:::::{grid} 1 1 3 3
:gutter: 1
:::{grid-item-card} rocPRIM
rocPRIM is an AMD GPU optimized template library of algorithm primitives, like
transforms, reductions, scans, etc. It also serves as a common back-end for
similar libraries found inside ROCm.
- [API Reference Manual](https://rocprim.readthedocs.io/en/latest/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocPRIM/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocPRIM)
:::
:::{grid-item-card} rocThrust
rocThrust is a template library of algorithm primitives with a Thrust-compatible
interface. Their CPU back-ends are identical, while the GPU back-end calls into
rocPRIM.
- [API Reference Manual](https://rocthrust.readthedocs.io/en/latest/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocThrust/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocThrust)
:::
:::{grid-item-card} hipCUB
hipCUB is a template library of algorithm primitives with a CUB-compatible
interface. It's back-end is rocPRIM.
- [API Reference Manual](https://hipcub.readthedocs.io/en/latest/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipCUB/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/hipCUB)
:::
:::::

View File

@@ -1 +1,18 @@
# Communication Libraries
:::::{grid} 1 1 1 1
:gutter: 1
:::{grid-item-card} RCCL
RCCL (pronounced "Rickle") is a stand-alone library of standard collective communication routines for GPUs,
implementing all-reduce, all-gather, reduce, broadcast, reduce-scatter, gather, scatter, and all-to-all.
The collective operations are implemented using ring and tree algorithms and have been optimized for
throughput and latency.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rccl/en/latest/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/ROCmSoftwarePlatform/rccl/tree/develop/tools)
:::
:::::

View File

@@ -5,22 +5,22 @@ ROCm libraries for FFT are as follows:
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} rocFFT
rocFFT is an AMD GPU optimized library for FFT.
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocFFT/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocFFT)
:::
:::{grid-item-card} hipFFT
hipFFT is a compatiblity layer for GPU accelerated FFT optimized for AMD GPUs
using rocFFT. hipFFT allows for a common interface for other non AMD GPU
FFT libraries.
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipFFT/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipFFT/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipFFT/en/rtd/)
:::
:::{grid-item-card} rocFFT
rocFFT is an AMD GPU optimized library for FFT.
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/CHANGELOG.md)
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipFFT/en/rtd/)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocFFT)
:::

View File

@@ -1 +1,13 @@
# Math Libraries
AMD provides various math domain and support libraries as part of the ROCm.
## rocLIB vs. hipLIB
Several libraries are prefixed with either "roc" or "hip".
The rocLIB variants (such as rocRAND, rocBLAS) are tested and optimized for AMD hardware using supported toolchains.
The hipLIB variants (such as hipRAND, hipBLAS) are compatibility layers that provide an interface akin to their
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.

View File

@@ -1 +1,25 @@
# Random Numbers
:::::{grid} 1 1 2 2
:gutter: 1
:::{grid-item-card} rocRAND
rocRAND is an AMD GPU optimized library for pseudo-random number generators (PRNG).
- [API Reference Manual](https://rocmdocs.amd.com/projects/rocRAND/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/rocRAND/blob/develop/CHANGELOG.md)
- [Examples](https://github.com/amd/rocm-examples/tree/develop/Libraries/rocRAND)
:::
:::{grid-item-card} hipRAND
hipRAND is a compatiblity layer for GPU accelerated FFT optimized for AMD GPUs
using rocFFT. hipFFT allows for a common interface for other non AMD GPU
FFT libraries.
- [API Reference Manual](https://rocmdocs.amd.com/projects/hipRAND/en/rtd/)
- [Changelog](https://github.com/ROCmSoftwarePlatform/hipRAND/blob/develop/CHANGELOG.md)
:::
:::::

View File

@@ -1 +1,26 @@
# 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)
:::
:::::