mirror of
https://github.com/ROCm/ROCm.git
synced 2026-01-09 14:48:06 -05:00
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:
committed by
GitHub
parent
75f4c018cc
commit
1a570efb48
@@ -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)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
@@ -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)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
@@ -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)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
@@ -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)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -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)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
@@ -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)
|
||||
|
||||
:::
|
||||
|
||||
:::::
|
||||
|
||||
Reference in New Issue
Block a user