Skip to content

Add GPU-aware MPI build support with XPMEM, UCX, UCC, and ROCm OpenMPI#2140

Merged
gregrodgers merged 1 commit intoaomp-devfrom
saiislam_rocmopenmpi
Apr 16, 2026
Merged

Add GPU-aware MPI build support with XPMEM, UCX, UCC, and ROCm OpenMPI#2140
gregrodgers merged 1 commit intoaomp-devfrom
saiislam_rocmopenmpi

Conversation

@saiislam
Copy link
Copy Markdown
Member

@saiislam saiislam commented Apr 3, 2026

Motivation

Add support for installing GPU-aware OpenMPI with ROCm

Technical Details

ROCm's GPU-aware MPI stack components:

  • XPMEM:
  • UCX:
    • Communication framework for high-bandwidth, low-latency communication
    • version: 1.20.0
    • source: https://github.com/openucx/ucx
    • dependencies:
      • XPMEM
      • ROCm
  • UCC:
  • OpenMPI build with ROCm support:
    • version: 5.0.9
    • dependencies:
      • UCX
      • UCC
      • ROCm

Installation:

  • Install GPU-aware ROCm OpenMPI with all dependencies:
    • ./build_supp.sh rocmopenmpi
  • Install XPMEM:
    • ./build_supp.sh xpmem
  • Install UCX:
    • ./build_supp.sh ucx
  • Install UCC:
    • ./build_supp.sh ucc

Default MCA parameters in $AOMP_SUPP/rocmopenmpi/etc/openmpi-mca-params.conf:

  pml = ucx
  osc = ucx
  coll_ucc_enable = 1
  coll_ucc_priority = 100

Test Plan

Test Result

Submission Checklist

ROCm's GPU-aware MPI stack components:
- XPMEM:
  - library for cross-process memory access
  - version: 2.7.4
  - source: https://github.com/openucx/xpmem
- UCX:
  - Communication framework for high-bandwidth, low-latency communication
  - version: 1.20.0
  - source: https://github.com/openucx/ucx
  - dependencies:
    - XPMEM
    - ROCm
- UCC:
  - Collective communication library for high-performance communication
  - version: 1.6.0
  - source: https://github.com/openucx/ucc
  - dependencies:
    - UCX
    - ROCm
- OpenMPI build with ROCm support:
  - version: 5.0.9
  - dependencies:
    - UCX
    - UCC
    - ROCm

Installation:
- Install GPU-aware ROCm OpenMPI with all dependencies:
  - ./build_supp.sh rocmopenmpi
- Install XPMEM
  - ./build_supp.sh xpmem
- Install UCX:
  - ./build_supp.sh ucx
- Install UCC:
  - ./build_supp.sh ucc

Default MCA parameters in $AOMP_SUPP/rocmopenmpi/etc/openmpi-mca-params.conf:
  pml = ucx
  osc = ucx
  coll_ucc_enable = 1
  coll_ucc_priority = 100
Copy link
Copy Markdown
Contributor

@gregrodgers gregrodgers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, lets merge

@gregrodgers gregrodgers merged commit 09249c8 into aomp-dev Apr 16, 2026
1 check passed
@gregrodgers gregrodgers deleted the saiislam_rocmopenmpi branch April 16, 2026 13:52
ronlieb pushed a commit that referenced this pull request Apr 16, 2026
#2140)

ROCm's GPU-aware MPI stack components:
- XPMEM:
  - library for cross-process memory access
  - version: 2.7.4
  - source: https://github.com/openucx/xpmem
- UCX:
  - Communication framework for high-bandwidth, low-latency communication
  - version: 1.20.0
  - source: https://github.com/openucx/ucx
  - dependencies:
    - XPMEM
    - ROCm
- UCC:
  - Collective communication library for high-performance communication
  - version: 1.6.0
  - source: https://github.com/openucx/ucc
  - dependencies:
    - UCX
    - ROCm
- OpenMPI build with ROCm support:
  - version: 5.0.9
  - dependencies:
    - UCX
    - UCC
    - ROCm

Installation:
- Install GPU-aware ROCm OpenMPI with all dependencies:
  - ./build_supp.sh rocmopenmpi
- Install XPMEM
  - ./build_supp.sh xpmem
- Install UCX:
  - ./build_supp.sh ucx
- Install UCC:
  - ./build_supp.sh ucc

Default MCA parameters in $AOMP_SUPP/rocmopenmpi/etc/openmpi-mca-params.conf:
  pml = ucx
  osc = ucx
  coll_ucc_enable = 1
  coll_ucc_priority = 100
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants