Cray Programming Environments Whitepapers

Whitepapers related to specific topics from Cray Programming Environments software stacks

View the Project on GitHub PE-Cray/whitepapers

Description

This repository contains whitepapers with in-depth report on specific topics that are related to Cray Programming Environments softwares.

Message Passing Toolkit

MPI Dynamic Process Management

This document describes the use of MPI Dynamic Process Management or DPM. This includes MPI_Comm_spawn, MPI_Comm_connect, MPI_Comm_accept and related DPM functionality, as well as a Cray extension, MPIX_Comm_rankpool.

Download MPI Dynamic Process Management Whitepaper

MPICH ABI Compatibility Status for HPE Cray EX Systems

This document describes ANL MPICH ABI Compatibility on HPE Cray EX systems and how to use this capability.

Download MPICH ABI Compatibility Status for HPE Cray EX Systems

Cray OpenSHMEMX

Introducing Cray OpenSHMEMX

OpenSHMEM is a Partitioned Global Address Space (PGAS) library interface specification, which is the culmination of a standardization effort among many implementers and users of SHMEM programming model. SHMEM has a long history as a parallel programming model. It is extensively used since 1993, starting from Cray T3D systems. For the past two decades SHMEM library implementation in Cray systems evolved through different generations. The current generation of the SHMEM implementation for Cray XC and XK systems is called Cray SHMEM. Cray SHMEM is a proprietary SHMEM implementation from Cray Inc., which is OpenSHMEM standard compliant. In this paper, we introduce the next generation OpenSHMEM implementation for current and future generation Cray systems. We call this new implementation Cray OpenSHMEMX. In this paper, we provide a brief design overview of the implementation along with the usage details, functional differences and performance optimizations over the existing Cray SHMEM implementation.

Download Introducing Cray OpenSHMEMX Whitepaper

Updating Cray Thread-Hot Semantics for OpenSHMEM v1.4

Cray OpenSHMEMX is a proprietary SHMEM implementation which is OpenSHMEM compliant and includes Cray specific features as part of SHMEMX prefixed routines. One such feature is the Cray Thread-Hot which improves the performance of multi-threaded applications where more than one thread issues Puts, Gets or Atomic Memory Operations (AMOs) using standard SHMEM routines. Support for multi-threading and OpenSHMEM Communication Context management features were introduced in OpenSHMEM specification version 1.4. In this work, we provide a brief overview of the updates made to the Cray Thread-Hot implementation to coexist with OpenSHMEM v1.4 multi-threading and OpenSHMEM Communication Contexts features

Download Updating Cray Thread-Hot Semantics for OpenSHMEM v1.4 Whitepaper

Cray OpenSHMEMX (SMP-DMAPP) on Different CLE Versions

Cray OpenSHMEMX is a proprietary SHMEM implementation which is OpenSHMEM version 1.4 compliant. Cray OpenSHMEMX build over DMAPP and XPMEM as communication layers – DMAPP for inter-node operations and XPMEM intra-node operations. We call this communication layer combination as SMP-DMAPP. In this work, we provide detailed information on using Cray OpenSHMEMX with SMP-DMAPP communication layer on different Cray Linux Environment (CLE) operating system releases for Cray systems.

NOTE: The usage steps discussed in this work are relevant only for Cray OpenSHMEMX version/8.0.1 and later. And, it is relevant only for SMP-DMAPP communication layer based Cray OpenSHMEMX builds.

Download Cray OpenSHMEMX (SMP-DMAPP) on Different CLE Versions Whitepaper