Skip to content

ct-clmsn/shmemcpy

Repository files navigation

shmemcpy implements a point-to-point and broadcast memcpy capability using OpenSHMEM.

Installation Requirements

Dependencies:

  • OpenMPI's OpenSHMEM implementation
  • pkg-config
  • cmake

Compilation

Build the library libshmemcpy.a without the test driver

  • mkdir build
  • cd build
  • cmake ..
  • make

Build the library libshmemcpy.a with test drivers shmemcpy_driver and shmemcpy_bcast_driver

  • mkdir build
  • cd build
  • cmake -DTEST_DRIVER=ON ..
  • make

Running Programs

Copy shmemcpy_driver on to a distributed file system. Change directory to the NFS directory that hosts shmemcpy_driver.

oshrun -n 2 ./shmemcpy_driver

This library is designed to be run on an HPC system that manages jobs using bulk synchronous workload managers: Slurm, PBS, etc.

Development Environment

  • A DeskPi Super6C with 6 Raspberry Pi CM5 boards (no bluetooth or WiFi just EMMC).
  • Raspberry Pi OS for CM5
  • Slurm
  • NFS
  • UCX
  • OpenMPI-OpenSHMEM
  • pkg-config
  • cmake
  • GCC

Licenses

  • Boost Version 1.0 (2022-)

Date

12 November 2025

Author

Christopher Taylor

Special Thanks

  • The OpenMPI community's support for OpenSHMEM
  • The OpenSHMEM community

Dependencies

  • OpenMPI this link directs to the OpenMPI the OpenSHMEM implementation used for this library
  • OpenSHMEM the OpenSHMEM github project

About

A memcpy capability using OpenSHMEM

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published