From 8fbb892cc142ec5b586b0bf4eb5e88d943563761 Mon Sep 17 00:00:00 2001 From: yugang-amd Date: Wed, 21 May 2025 16:59:00 -0400 Subject: [PATCH] Final edits (#126) * final edits * more edits per review * more edits * attempt to fix dead link [ROCm/rocshmem commit: 8a266e698c7ca86036188f0b5a12cf793623854d] --- projects/rocshmem/docs/api/init.rst | 4 ++-- projects/rocshmem/docs/api/pt2pt_sync.rst | 3 +-- projects/rocshmem/docs/compile_and_run.rst | 14 +++++++------- projects/rocshmem/docs/index.rst | 6 +++--- projects/rocshmem/docs/install.rst | 4 ++-- projects/rocshmem/docs/introduction.rst | 2 +- projects/rocshmem/docs/sphinx/_toc.yml.in | 6 +++--- 7 files changed, 19 insertions(+), 20 deletions(-) diff --git a/projects/rocshmem/docs/api/init.rst b/projects/rocshmem/docs/api/init.rst index 51f57e0920..e381ca5663 100644 --- a/projects/rocshmem/docs/api/init.rst +++ b/projects/rocshmem/docs/api/init.rst @@ -17,7 +17,7 @@ ROCSHMEM_INIT :returns: None. **Description:** -This routine initializes the rocSHMEM runtime and underlying transport layer. +This routine initializes the rocSHMEM library and underlying transport layer. Before ``rocshmem_init`` is called, you must select the device that this PE is associated to by calling `hipSetDevice @@ -41,7 +41,7 @@ ROCSHMEM_FINALIZE :returns: None. **Description:** -This routine finalizes the rocSHMEM runtime. +This routine finalizes the rocSHMEM library. .. cpp:function:: __device__ void rocshmem_wg_finalize(void) diff --git a/projects/rocshmem/docs/api/pt2pt_sync.rst b/projects/rocshmem/docs/api/pt2pt_sync.rst index 3179d95e7f..10fc3cf452 100644 --- a/projects/rocshmem/docs/api/pt2pt_sync.rst +++ b/projects/rocshmem/docs/api/pt2pt_sync.rst @@ -96,12 +96,11 @@ ROCSHMEM_TEST **Description:** This routine tests if the condition ``(*ivars cmp val)`` is true. +.. _CMP_VALUES: Supported comparisons --------------------- -.. _CMP_VALUES: - The following table lists the point-to-point comparison constants: .. list-table:: Point-to-Point Comparison Constants diff --git a/projects/rocshmem/docs/compile_and_run.rst b/projects/rocshmem/docs/compile_and_run.rst index 67e72a061e..cefb88d7c0 100644 --- a/projects/rocshmem/docs/compile_and_run.rst +++ b/projects/rocshmem/docs/compile_and_run.rst @@ -1,14 +1,14 @@ .. meta:: - :description: Information on how to compile and run rocSHMEM programs. + :description: Information on how to compile and run rocSHMEM applications. :keywords: rocSHMEM, ROCm, library, API, compile, link, hipcc -.. _running-programs: +.. _running-applications: -------------------------------------------------- -Compiling and running rocSHMEM programs +Compiling and running rocSHMEM applications -------------------------------------------------- -This topic explains how to compile and run rocSHMEM programs. +This topic explains how to compile and run rocSHMEM applications. Compiling and linking with rocSHMEM ----------------------------------- @@ -16,7 +16,7 @@ Compiling and linking with rocSHMEM rocSHMEM is a library that can be statically linked to your application during compilation with ``hipcc``. For more information, see :doc:`HIPCC `. When compiling your application with ``hipcc``, you must include the rocSHMEM header files and the rocSHMEM library. -Because rocSHMEM depends on MPI, you must manually add the arguments for MPI linkage instead of using ``mpicc``. +Because rocSHMEM depends on MPI (Message Passing Interface), you must manually add the arguments for MPI linkage instead of using ``mpicc``. When using ``hipcc`` directly without a build system, it's recommended to perform the compilation and linking steps separately. @@ -39,10 +39,10 @@ Example compile and link commands are provided at the top of the example files i If your project uses CMake, see `Using CMake with AMD ROCm `_. -Running a rocSHMEM program +Running a rocSHMEM application -------------------------- -Programs using rocSHMEM typically deploy multiple processes, usually one per GPU. +Applications using rocSHMEM typically deploy multiple processes, usually one per GPU. The MPI launcher, for example, ``mpiexec`` with Open MPI, is used to start the required number of processes. For example, to launch two ``getmem`` example processes (available when compiled from source): diff --git a/projects/rocshmem/docs/index.rst b/projects/rocshmem/docs/index.rst index 738c47e4bb..cbe4c96019 100644 --- a/projects/rocshmem/docs/index.rst +++ b/projects/rocshmem/docs/index.rst @@ -6,9 +6,9 @@ rocSHMEM documentation **************************** -The ROCm OpenSHMEM (rocSHMEM) runtime is an intra-kernel networking library that provides GPU-centric networking through an `OpenSHMEM-like `_ interface. It simplifies application code complexity and enables finer communication and computation overlap than traditional host-driven networking. rocSHMEM uses a single symmetric heap (SHEAP) allocated to GPU memories. For more information, see :doc:`introduction` +The ROCm OpenSHMEM (rocSHMEM) is an intra-kernel networking library that provides GPU-centric networking through an `OpenSHMEM-like `_ interface. It simplifies application code complexity and enables finer communication and computation overlap than traditional host-driven networking. rocSHMEM uses a single symmetric heap (SHEAP) allocated to GPU memories. For more information, see :doc:`introduction` -The code is open and hosted at ``_. +The rocSHMEM public repository is located at ``_. .. grid:: 2 :gutter: 3 @@ -19,7 +19,7 @@ The code is open and hosted at ``_. .. grid-item-card:: How to - * :doc:`Compile and run rocSHMEM programs <./compile_and_run>` + * :doc:`Compile and run applications <./compile_and_run>` .. grid-item-card:: API reference diff --git a/projects/rocshmem/docs/install.rst b/projects/rocshmem/docs/install.rst index 891630d921..7cea22416f 100644 --- a/projects/rocshmem/docs/install.rst +++ b/projects/rocshmem/docs/install.rst @@ -13,7 +13,7 @@ This topic describes how to install rocSHMEM. Requirements --------------------------- -* ROCm 6.4.0 or later, including the :doc:`HIP runtime `. +* ROCm 6.4.0 or later, including the :doc:`HIP runtime `. For more information, see `ROCm installation for Linux `_. * AMD GPUs @@ -79,7 +79,7 @@ Alternatively, you can use a script to install dependencies: For more information about OpenMPI-UCX support, see `GPU-enabled Message Passing Interface `_. -Installing rocSHMEM from source +Installing from source -------------------------------- To build and install rocSHMEM with the IPC on-node, GPU-to-GPU backend, run: diff --git a/projects/rocshmem/docs/introduction.rst b/projects/rocshmem/docs/introduction.rst index c238391cca..9fe0cdfa2f 100644 --- a/projects/rocshmem/docs/introduction.rst +++ b/projects/rocshmem/docs/introduction.rst @@ -8,7 +8,7 @@ What is rocSHMEM? --------------------------- -The ROCm OpenSHMEM (rocSHMEM) runtime is an intra-kernel networking library that provides GPU-centric networking through an OpenSHMEM-like interface. It simplifies application code complexity and enables finer communication and computation overlap than traditional host-driven networking. rocSHMEM uses a single symmetric heap (SHEAP) allocated on GPU memories. +The ROCm OpenSHMEM (rocSHMEM) is an intra-kernel networking library that provides GPU-centric networking through an OpenSHMEM-like interface. It simplifies application code complexity and enables finer communication and computation overlap than traditional host-driven networking. rocSHMEM uses a single symmetric heap allocated on GPU memories. The rocSHMEM programming model ------------------------------- diff --git a/projects/rocshmem/docs/sphinx/_toc.yml.in b/projects/rocshmem/docs/sphinx/_toc.yml.in index d6e1505379..23d28c607c 100644 --- a/projects/rocshmem/docs/sphinx/_toc.yml.in +++ b/projects/rocshmem/docs/sphinx/_toc.yml.in @@ -2,8 +2,8 @@ defaults: numbered: False root: index subtrees: -- caption: Introduction - entries: + +- entries: - file: introduction.rst title: What is rocSHMEM? @@ -16,7 +16,7 @@ subtrees: - caption: How to entries: - file: compile_and_run.rst - title: Compile and run rocSHMEM programs + title: Compile and run applications - caption: API reference entries: