shmem4py

Contents

  • Introduction
  • Installation
  • Usage examples
  • OpenSHMEM
shmem4py
  • OpenSHMEM for Python (shmem4py)
  • View page source

OpenSHMEM for Python (shmem4py)

Author:

Lisandro Dalcin

Author:

Marcin Rogowski

Date:

May 11, 2026

Abstract

This document describes the OpenSHMEM for Python package. OpenSHMEM for Python provides Python bindings for the OpenSHMEM standard, allowing Python applications to exploit multiple processors on workstations, clusters, and supercomputers using a Partitioned Global Address Space (PGAS) programming model.

Contents

  • Introduction
    • OpenSHMEM
    • shmem4py
    • Symmetric variables
    • Resources
    • Acknowledgements
  • Installation
    • Requirements
    • Containers
    • Recommended versions
    • Installing shmem4py
    • Next steps
  • Usage examples
    • Hello world
    • Get a remote value
    • Broadcast an array from root to all PEs
    • Approximate the value of Pi with reductions
    • Collect the same number of elements from each PE
    • Collect a different number of elements from each PE
    • Atomic conditional swap on a remote data object
    • Test if condition is met
    • All to all communication
    • Locking
  • OpenSHMEM
    • Version and Vendor Query
    • Library Setup and Exit
    • Accessibility Queries
    • Memory Management
    • Team Management
    • Communication Management
    • Remote Memory Access
    • Atomic Memory Operations
    • Signaling Operations
    • Collective Operations
    • Point-To-Point Synchronization
    • Memory Ordering
    • Distributed Locking
    • Distributed Locking (Object-Oriented)
    • Profiling Control
    • Typing Support

Indices and tables

  • Index

  • Module Index

  • Search Page

Next

© Copyright 2026, Lisandro Dalcin.

Built with Sphinx using a theme provided by Read the Docs.