diff --git a/.wordlist.txt b/.wordlist.txt index 4718aa956..c32752d7c 100644 --- a/.wordlist.txt +++ b/.wordlist.txt @@ -45,6 +45,7 @@ Bootloader CAS CCD CDNA +CGUI CHTML CIFAR CLI @@ -115,6 +116,7 @@ DevCap DirectX Dockerfile Doxygen +dropless ELMo ENDPGM EPYC @@ -271,6 +273,7 @@ Makefiles Matplotlib Matrox MaxText +Megablocks Megatrends Megatron Mellanox @@ -280,6 +283,7 @@ Miniconda MirroredStrategy Mixtral MosaicML +MoEs Mpops Multicore Multithreaded @@ -454,6 +458,8 @@ TPS TPU TPUs TSME +Taichi +Taichi's Tagram TensileLite TensorBoard diff --git a/docs/compatibility/compatibility-matrix-historical-6.0.csv b/docs/compatibility/compatibility-matrix-historical-6.0.csv index 71dc9e000..16862a0a5 100644 --- a/docs/compatibility/compatibility-matrix-historical-6.0.csv +++ b/docs/compatibility/compatibility-matrix-historical-6.0.csv @@ -30,9 +30,11 @@ ROCm Version,6.4.2,6.4.1,6.4.0,6.3.3,6.3.2,6.3.1,6.3.0,6.2.4,6.2.2,6.2.1,6.2.0, :doc:`PyTorch <../compatibility/ml-compatibility/pytorch-compatibility>`,"2.6, 2.5, 2.4, 2.3","2.6, 2.5, 2.4, 2.3","2.6, 2.5, 2.4, 2.3","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 1.13","2.4, 2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.3, 2.2, 2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13","2.1, 2.0, 1.13" :doc:`TensorFlow <../compatibility/ml-compatibility/tensorflow-compatibility>`,"2.18.1, 2.17.1, 2.16.2","2.18.1, 2.17.1, 2.16.2","2.18.1, 2.17.1, 2.16.2","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.17.0, 2.16.2, 2.15.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.16.1, 2.15.1, 2.14.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.15.0, 2.14.0, 2.13.1","2.14.0, 2.13.1, 2.12.1","2.14.0, 2.13.1, 2.12.1" :doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.35,0.4.35,0.4.31,0.4.31,0.4.31,0.4.31,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26,0.4.26 - :doc:`Stanford Megatron-LM <../compatibility/ml-compatibility/stanford-megatron-lm-compatibility>`,N/A,N/A,N/A,N/A,N/A,85f95ae,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A - :doc:`DGL <../compatibility/ml-compatibility/dgl-compatibility>`,2.4.0,2.4.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A - :doc:`verl <../compatibility/ml-compatibility/verl-compatibility>` [#verl_compat]_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.3.0.post0,N/A,N/A,N/A,N/A,N/A,N/A + :doc:`verl <../compatibility/ml-compatibility/verl-compatibility>` [#verl_compat]_,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,0.3.0.post0,N/A,N/A,N/A,N/A,N/A + :doc:`Stanford Megatron-LM <../compatibility/ml-compatibility/stanford-megatron-lm-compatibility>`,N/A,N/A,N/A,85f95ae,85f95ae,85f95ae,85f95ae,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A + :doc:`DGL <../compatibility/ml-compatibility/dgl-compatibility>`,2.4.0,2.4.0,2.4.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A + :doc:`Megablocks <../compatibility/ml-compatibility/megablocks-compatibility>`,N/A,N/A,N/A,0.7.0,0.7.0,0.7.0,0.7.0,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A + :doc:`Taichi <../compatibility/ml-compatibility/taichi-compatibility>` [#taichi_compat]_,N/A,N/A,N/A,N/A,1.8.0b1,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A `ONNX Runtime `_,1.2,1.2,1.2,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.17.3,1.14.1,1.14.1 ,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,, diff --git a/docs/compatibility/compatibility-matrix.rst b/docs/compatibility/compatibility-matrix.rst index b61cfca48..f2f3d6fac 100644 --- a/docs/compatibility/compatibility-matrix.rst +++ b/docs/compatibility/compatibility-matrix.rst @@ -57,6 +57,7 @@ compatibility and system requirements. :doc:`JAX <../compatibility/ml-compatibility/jax-compatibility>`,0.4.35,0.4.35,0.4.31 :doc:`Stanford Megatron-LM <../compatibility/ml-compatibility/stanford-megatron-lm-compatibility>`,N/A,N/A,85f95ae :doc:`DGL <../compatibility/ml-compatibility/dgl-compatibility>`,2.4.0,2.4.0,N/A + :doc:`Megablocks <../compatibility/ml-compatibility/megablocks-compatibility>`,N/A,N/A,0.7.0 `ONNX Runtime `_,1.2,1.2,1.17.3 ,,, THIRD PARTY COMMS,.. _thirdpartycomms-support-compatibility-matrix:,, @@ -241,6 +242,7 @@ Expand for full historical view of: .. [#mi300_602-past-60] **For ROCm 6.0.2** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3. .. [#mi300_600-past-60] **For ROCm 6.0.0** - MI300A (gfx942) is supported on Ubuntu 22.04.3, RHEL 8.9, and SLES 15 SP5. MI300X (gfx942) is only supported on Ubuntu 22.04.3. .. [#verl_compat] verl is only supported on ROCm 6.2.0. + .. [#taichi_compat] Taichi is only supported on ROCm 6.3.2. .. [#kfd_support-past-60] As of ROCm 6.4.0, forward and backward compatibility between the AMD Kernel-mode GPU Driver (KMD) and its user space software is provided up to a year apart. For earlier ROCm releases, the compatibility is provided for +/- 2 releases. The tested user space versions on this page were accurate as of the time of initial ROCm release. For the most up-to-date information, see the latest version of this information at `User and kernel-space support matrix `_. .. [#ROCT-rocr-past-60] Starting from ROCm 6.3.0, the ROCT Thunk Interface is included as part of the ROCr runtime package. diff --git a/docs/compatibility/ml-compatibility/megablocks-compatibility.rst b/docs/compatibility/ml-compatibility/megablocks-compatibility.rst new file mode 100644 index 000000000..f516245cb --- /dev/null +++ b/docs/compatibility/ml-compatibility/megablocks-compatibility.rst @@ -0,0 +1,93 @@ +:orphan: + +.. meta:: + :description: Megablocks compatibility + :keywords: GPU, megablocks, compatibility + +.. version-set:: rocm_version latest + +******************************************************************************** +Megablocks compatibility +******************************************************************************** + +Megablocks is a light-weight library for mixture-of-experts (MoE) training. +The core of the system is efficient "dropless-MoE" and standard MoE layers. +Megablocks is integrated with `https://github.com/stanford-futuredata/Megatron-LM `_, +where data and pipeline parallel training of MoEs is supported. + +* ROCm support for Megablocks is hosted in the official `https://github.com/ROCm/megablocks `_ repository. +* Due to independent compatibility considerations, this location differs from the `https://github.com/stanford-futuredata/Megatron-LM `_ upstream repository. +* Use the prebuilt :ref:`Docker image ` with ROCm, PyTorch, and Megablocks preinstalled. +* See the :doc:`ROCm Megablocks installation guide ` to install and get started. + +.. note:: + + Megablocks is supported on ROCm 6.3.0. + +Supported devices +================================================================================ + +- **Officially Supported**: AMD Instinct MI300X +- **Partially Supported** (functionality or performance limitations): AMD Instinct MI250X, MI210X + +Supported models and features +================================================================================ + +This section summarizes the Megablocks features supported by ROCm. + +* Distributed Pre-training +* Activation Checkpointing and Recomputation +* Distributed Optimizer +* Mixture-of-Experts +* dropless-Mixture-of-Experts + + +.. _megablocks-recommendations: + +Use cases and recommendations +================================================================================ + +The `ROCm Megablocks blog posts `_ +guide how to leverage the ROCm platform for pre-training using the Megablocks framework. +It features how to pre-process datasets and how to begin pre-training on AMD GPUs through: + +* Single-GPU pre-training +* Multi-GPU pre-training + + +.. _megablocks-docker-compat: + +Docker image compatibility +================================================================================ + +.. |docker-icon| raw:: html + + + +AMD validates and publishes `ROCm Megablocks images `_ +with ROCm and Pytorch backends on Docker Hub. The following Docker image tags and associated +inventories represent the latest Megatron-LM version from the official Docker Hub. +The Docker images have been validated for `ROCm 6.3.0 `_. +Click |docker-icon| to view the image on Docker Hub. + +.. list-table:: + :header-rows: 1 + :class: docker-image-compatibility + + * - Docker image + - ROCm + - Megablocks + - PyTorch + - Ubuntu + - Python + + * - .. raw:: html + + rocm/megablocks + - `6.3.0 `_ + - `0.7.0 `_ + - `2.4.0 `_ + - 24.04 + - `3.12.9 `_ + + diff --git a/docs/compatibility/ml-compatibility/taichi-compatibility.rst b/docs/compatibility/ml-compatibility/taichi-compatibility.rst new file mode 100644 index 000000000..58bbbd4f5 --- /dev/null +++ b/docs/compatibility/ml-compatibility/taichi-compatibility.rst @@ -0,0 +1,76 @@ +:orphan: + +.. meta:: + :description: Taichi compatibility + :keywords: GPU, Taichi compatibility + +.. version-set:: rocm_version latest + +******************************************************************************* +Taichi compatibility +******************************************************************************* + +`Taichi `_ is an open-source, imperative, and parallel +programming language designed for high-performance numerical computation. +Embedded in Python, it leverages just-in-time (JIT) compilation frameworks such as LLVM to accelerate +compute-intensive Python code by compiling it to native GPU or CPU instructions. + +Taichi is widely used across various domains, including real-time physical simulation, +numerical computing, augmented reality, artificial intelligence, computer vision, robotics, +visual effects in film and gaming, and general-purpose computing. + +* ROCm support for Taichi is hosted in the official `https://github.com/ROCm/taichi `_ repository. +* Due to independent compatibility considerations, this location differs from the `https://github.com/taichi-dev `_ upstream repository. +* Use the prebuilt :ref:`Docker image ` with ROCm, PyTorch, and Taichi preinstalled. +* See the :doc:`ROCm Taichi installation guide ` to install and get started. + +.. note:: + + Taichi is supported on ROCm 6.3.2. + +Supported devices and features +=============================================================================== +There is support through the ROCm software stack for all Taichi GPU features on AMD Instinct MI250X and MI210X series GPUs with the exception of Taichi’s GPU rendering system, CGUI. +AMD Instinct MI300X series GPUs will be supported by November. + +.. _taichi-recommendations: + +Use cases and recommendations +================================================================================ +To fully leverage Taichi's performance capabilities in compute-intensive tasks, it is best to adhere to specific coding patterns and utilize Taichi decorators. +A collection of example use cases is available in the `https://github.com/ROCm/taichi_examples `_ repository, +providing practical insights and foundational knowledge for working with the Taichi programming language. +You can also refer to the `AMD ROCm blog `_ to search for Taichi examples and best practices to optimize your workflows on AMD GPUs. + +.. _taichi-docker-compat: + +Docker image compatibility +================================================================================ + +.. |docker-icon| raw:: html + + + +AMD validates and publishes ready-made `ROCm Taichi Docker images `_ +with ROCm backends on Docker Hub. The following Docker image tags and associated inventories +represent the latest Taichi version from the official Docker Hub. +The Docker images have been validated for `ROCm 6.3.2 `_. +Click |docker-icon| to view the image on Docker Hub. + +.. list-table:: + :header-rows: 1 + :class: docker-image-compatibility + + * - Docker image + - ROCm + - Taichi + - Ubuntu + - Python + + * - .. raw:: html + + rocm/taichi + - `6.3.2 `_ + - `1.8.0b1 `_ + - 22.04 + - `3.10.12 `_ \ No newline at end of file diff --git a/docs/compatibility/ml-compatibility/verl-compatibility.rst b/docs/compatibility/ml-compatibility/verl-compatibility.rst index b5436e6a0..0351384e5 100644 --- a/docs/compatibility/ml-compatibility/verl-compatibility.rst +++ b/docs/compatibility/ml-compatibility/verl-compatibility.rst @@ -16,56 +16,25 @@ verl offers a scalable, open-source fine-tuning solution optimized for AMD Insti * See the `verl documentation `_ for more information about verl. * The official verl GitHub repository is `https://github.com/volcengine/verl `_. * Use the AMD-validated :ref:`Docker images ` with ROCm and verl preinstalled. -* See the :doc:`ROCm verl installation guide ` to get started. +* See the :doc:`ROCm verl installation guide ` to install and get started. .. note:: verl is supported on ROCm 6.2.0. - .. _verl-recommendations: Use cases and recommendations ================================================================================ -The benefits of verl in large-scale reinforcement leaning from human feedback (RLHF) are discussed in the `Reinforcement Learning from Human Feedback on AMD GPUs with verl and ROCm Integration `_ blog. - -.. _verl-docker-compat: - -Docker image compatibility -================================================================================ - -.. |docker-icon| raw:: html - - - -AMD validates and publishes ready-made `ROCm verl Docker images `_ -with ROCm backends on Docker Hub. The following Docker image tags and associated inventories represent the latest verl version from the official Docker Hub. The Docker images have been validated for `ROCm 6.2.0 `_. - -.. list-table:: - :header-rows: 1 - - * - Docker image - - verl - - Linux - - Pytorch - - Python - - vllm - - * - .. raw:: html - - rocm/verl - - `0.3.0post0 `_ - - Ubuntu 20.04 - - `2.5.0 `_ - - `3.9.19 `_ - - `0.6.4 `_ +The benefits of verl in large-scale reinforcement learning from human feedback (RLHF) are discussed in the `Reinforcement Learning from Human Feedback on AMD GPUs with verl and ROCm Integration `_ blog. +.. _verl-supported_features: Supported features =============================================================================== -The following table shows verl and ROCm support for GPU-accelerated modules. +The following table shows verl on ROCm support for GPU-accelerated modules. .. list-table:: :header-rows: 1 @@ -77,9 +46,41 @@ The following table shows verl and ROCm support for GPU-accelerated modules. * - ``FSDP`` - Training engine - 0.3.0.post0 - - 6.2 + - 6.2.0 * - ``vllm`` - Inference engine - 0.3.0.post0 - - 6.2 - + - 6.2.0 + +.. _verl-docker-compat: + +Docker image compatibility +================================================================================ + +.. |docker-icon| raw:: html + + + +AMD validates and publishes ready-made `ROCm verl Docker images `_ +with ROCm backends on Docker Hub. The following Docker image tags and associated inventories represent the available verl versions from the official Docker Hub. + +.. list-table:: + :header-rows: 1 + + * - Docker image + - ROCm + - verl + - Ubuntu + - Pytorch + - Python + - vllm + + * - .. raw:: html + + rocm/verl + - `6.2.0 `_ + - `0.3.0post0 `_ + - 20.04 + - `2.5.0 `_ + - `3.9.19 `_ + - `0.6.3 `_ diff --git a/docs/conf.py b/docs/conf.py index c7c12da7b..61b89896f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -96,6 +96,11 @@ article_pages = [ {"file": "compatibility/ml-compatibility/pytorch-compatibility", "os": ["linux"]}, {"file": "compatibility/ml-compatibility/tensorflow-compatibility", "os": ["linux"]}, {"file": "compatibility/ml-compatibility/jax-compatibility", "os": ["linux"]}, + {"file": "compatibility/ml-compatibility/verl-compatibility", "os": ["linux"]}, + {"file": "compatibility/ml-compatibility/stanford-megatron-lm-compatibility", "os": ["linux"]}, + {"file": "compatibility/ml-compatibility/dgl-compatibility", "os": ["linux"]}, + {"file": "compatibility/ml-compatibility/megablocks-compatibility", "os": ["linux"]}, + {"file": "compatibility/ml-compatibility/taichi-compatibility", "os": ["linux"]}, {"file": "how-to/deep-learning-rocm", "os": ["linux"]}, {"file": "how-to/rocm-for-ai/index", "os": ["linux"]}, diff --git a/docs/how-to/deep-learning-rocm.rst b/docs/how-to/deep-learning-rocm.rst index 3ba645df3..beab5c1c8 100644 --- a/docs/how-to/deep-learning-rocm.rst +++ b/docs/how-to/deep-learning-rocm.rst @@ -20,6 +20,8 @@ features for these ROCm-enabled deep learning frameworks. * :doc:`verl compatibility <../compatibility/ml-compatibility/verl-compatibility>` * :doc:`Stanford Megatron-LM compatibility <../compatibility/ml-compatibility/stanford-megatron-lm-compatibility>` * :doc:`DGL compatibility <../compatibility/ml-compatibility/dgl-compatibility>` +* :doc:`Megablocks compatibility <../compatibility/ml-compatibility/megablocks-compatibility>` +* :doc:`Taichi compatibility <../compatibility/ml-compatibility/taichi-compatibility>` This chart steps through typical installation workflows for installing deep learning frameworks for ROCm. @@ -35,6 +37,8 @@ See the installation instructions to get started. * :doc:`verl for ROCm ` * :doc:`Stanford Megatron-LM for ROCm ` * :doc:`DGL for ROCm ` +* :doc:`Megablocks for ROCm ` +* :doc:`Taichi for ROCm ` .. note::