f693c98fb2
* Initial ROCm-docs commit Co-authored-by: Aurélien Bouteiller <bouteill@icl.utk.edu> Co-authored-by: Alex Xu <alex.xu@amd.com> Co-authored-by: yugang-amd <yugang.wang@amd.com>
117 строки
3.2 KiB
ReStructuredText
117 строки
3.2 KiB
ReStructuredText
.. meta::
|
|
:description: rocSHMEM intra-kernel networking runtime for AMD dGPUs on the ROCm platform.
|
|
:keywords: rocSHMEM, API, ROCm, documentation, HIP, Networking, Communication
|
|
|
|
.. _install-rocshmem:
|
|
|
|
---------------------------
|
|
Installing rocSHMEM
|
|
---------------------------
|
|
|
|
This topic describes how to install rocSHMEM.
|
|
|
|
The file `README.md <https://github.com/ROCm/rocSHMEM/blob/rocm-6.4.0/README.md>`_ in the rocSHMEM sources may contain additional information.
|
|
|
|
Requirements
|
|
---------------------------
|
|
|
|
1. ROCm stack installed on the system (HIP runtime)
|
|
|
|
* ROCm v6.4.0 or later
|
|
|
|
2. AMD GPUs
|
|
|
|
* MI250X
|
|
|
|
* MI300X
|
|
|
|
3. ROCm-aware Open MPI and UCX as described in Building Dependencies
|
|
|
|
Installing from a Package Manager
|
|
---------------------------------
|
|
|
|
On Ubuntu, rocSHMEM can be installed with the following command:
|
|
|
|
.. code-block:: bash
|
|
|
|
apt install rocshmem-dev
|
|
|
|
.. note::
|
|
|
|
This installation method requires ROCm 6.4 or newer. Dependencies
|
|
(open MPI and UCX) still need to be built following the instructions
|
|
in the next paragraph, as the distribution packaged versions do not
|
|
include full accelerator support.
|
|
|
|
.. _install-dependencies:
|
|
|
|
Building Dependencies
|
|
---------------------------
|
|
|
|
rocSHMEM requires a ROCm-Aware Open MPI and UCX.
|
|
Other MPI implementations, such as MPICH,
|
|
*should* be compatible, if rocSHMEM is built from source,
|
|
but it has not been thoroughly tested.
|
|
|
|
To build and configure ROCm-Aware UCX (1.17.0 or later), you need to:
|
|
|
|
.. code-block:: bash
|
|
|
|
git clone https://github.com/ROCm/ucx.git -b v1.17.x
|
|
cd ucx
|
|
./autogen.sh
|
|
./configure --prefix=<prefix_dir> --with-rocm=<rocm_path> --enable-mt
|
|
make -j 8
|
|
make -j 8 install
|
|
|
|
Then, you need to build Open MPI (5.0.7 or later) with UCX support.
|
|
|
|
.. code-block:: bash
|
|
|
|
git clone --recursive https://github.com/open-mpi/ompi.git -b v5.0.x
|
|
cd ompi
|
|
./autogen.pl
|
|
./configure --prefix=<prefix_dir> --with-rocm=<rocm_path> --with-ucx=<ucx_path>
|
|
make -j 8
|
|
make -j 8 install
|
|
|
|
Alternatively, we have script to install dependencies.
|
|
Configuration options are platform dependent, so please review the script to
|
|
check for fitness with your system.
|
|
|
|
.. code-block:: bash
|
|
|
|
export BUILD_DIR=/path/to/not_rocshmem_src_or_build/dependencies
|
|
/path/to/rocshmem_src/scripts/install_dependencies.sh
|
|
|
|
For more information on OpenMPI-UCX support, please visit:
|
|
`GPU-enabled Message Passing Interface <https://rocm.docs.amd.com/en/latest/how-to/gpu-enabled-mpi.html>`_
|
|
|
|
Installing rocSHMEM from Source
|
|
--------------------------------
|
|
|
|
The following method can be used to build and install rocSHMEM with the IPC
|
|
on-node, GPU-to-GPU backend:
|
|
|
|
.. code-block:: bash
|
|
|
|
git clone git@github.com:ROCm/rocSHMEM.git
|
|
cd rocSHMEM
|
|
mkdir build
|
|
cd build
|
|
../scripts/build_configs/ipc_single
|
|
|
|
The build script passes configuration options to CMake to setup a canonical
|
|
build.
|
|
There are other scripts for experimental configurations in the
|
|
`./scripts/build_configs` directory, but currently, only `ipc_single`
|
|
is supported.
|
|
|
|
By default, the library is installed in `~/rocshmem`. You may provide a
|
|
custom install path by supplying it as an argument. For example:
|
|
|
|
.. code-block:: bash
|
|
|
|
../scripts/build_configs/ipc_single /path/to/install
|
|
|