cray-shmem Overview
The logically shared, distributed memory access (SHMEM) routines provide low-latency, high-bandwidth communication for use in highly parallelized scalable programs. The SHMEM data-passing library routines are similar to the message passing interface (MPI) library routines: they pass data between cooperating parallel processes. The SHMEM data-passing routines can be used in programs that perform computations in separate address spaces and that explicitly pass data to and from different processing elements (PEs) in the program. The SHMEM parallel programming model assumes an MPI-1 like group of processes that runs in parallel from job launch to job termination. No processes can be added or removed from this group and all processes execute the same application. Thus, SHMEM applications are of the SPMD (Single Program Multiple Data) type.SHMEM is a one-sided message passing model in which memory is private to each process. The SHMEM routines minimize the overhead associated with data passing requests, maximize bandwidth, and minimize data latency. Data latency is the length of time between a PE initiating a transfer of data and a PE being able to use the data. SHMEM routines support remote data transfer through put operations that transfer data to a different PE and get operations that transfer data from a different PE. Other supported operations are work-shared broadcast and reduction, barrier synchronization, and atomic memory operations. For more information see thempi
and aprun
man pages by running:
module load cray-shmem man intro_shmem man aprunThe module help page also contains some version specific information:
module help cray-shmemMan pages for each of the shmem functions are as follows:
shmalloc
shmem_and
shmem_barrier
shmem_barrier_all
shmem_broadcast
shmem_cswap
shmem_event
shmem_fadd
shmem_fence
shmem_finalize
shmem_finc
shmem_g
shmem_get
shmem_iget
shmem_get_nb
shmem_init
shmem_iput
shmem_lock
shmem_max
shmem_min
shmem_my_pe
shmem_or
shmem_p
shmem_prod
shmem_put
shmem_put_nb
shmem_quiet
shmem_sum
shmem_swap
shmem_wait
shmem_xor
shpalloc
shpclmove
shpdeallc
start_pes
Builds
TITAN
- 7.2.4
- 7.2.5
- 7.3.0
- 7.3.3
- 7.4.0
- 7.5.1
- 7.5.2
- 7.6.1
- 7.6.3
EOS
- 7.2.3
- 7.2.5
- 7.2.6
- 7.3.0
- 7.3.2
- 7.3.3
- 7.4.0
- 7.4.3
- 7.5.1
- 7.5.2
- 7.6.0