Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.
The Aggregate Remote Memory Copy Interface (ARMCI) library is intended to provide a general-purpose, efficient, and widely portable remote memory access (RMA) operations (one-sided communication) optimized for contiguous and noncontiguous (strided, scatter/gather, I/O vector) data transfers.
In addition, ARMCI includes a set of atomic and mutual exclusion operations.
The development ARMCI is driven by the need to support the global-address space communication model in context of distributed regular or irregular distributed data structures, communication libraries, and compilers.
ARMCI is a standalone system that could be used to support user-level libraries and applications that use MPI or PVM.
ARMCI is a free software and can be download from: http://www.emsl.pnl.gov/docs/parsoft/armci/
Optimized implementations of ARMCI are available for the Myrinet (GM), Quadrics, Giganet (VIA) and Infiniband using Mellanox verbs API.
A port of ARMCI on the Cray XD1 platform has been developed by Cray and is distributed by them.
IBM has a port of ARMCI on IBM BG/L machine.
ARMCI is available on the following platforms:
IBM SPs (based on LAPI)
Cray X1, T3E, SV1, and J90
Unix workstations and servers: Sun, SGI, HP, IBM, Linux
Clusters of Unix and Windows NT workstations/servers