Download Information

The most recent updates, development code, and additional versions can be found on the GitHub Repo

For additional support and questions, please contact This email address is being protected from spambots. You need JavaScript enabled to view it.

DataSpaces Releases:

In 2020, DataSpaces transitioned from the DART RPC and bulk transfer library to Mercury. This marked a transition to DataSpaces 2 (dspaces):

Development features (pending release - see master branch on GitHub repo:

  • Python bindings
  • Non-blocking version of dspaces_put()
  • Improved data subscription performance
  • Aries fabric support in dspaces
  • Improved scaling perfomance for dspaces_init()

2.1.x: Most recent release: March 2021

  • Add streaming metadata put/get interface
  • Add non-blocking data subscription with callbacks
  • Support building as a shared library
  • Add option to allocate data buffer inside dspaces_get()

2.0.x: Most recent release (candidate): November 2020 (should not be used for new development)

  • Replace DART RPC layer with Mercury
  • Add subscription-based reads (superecedes locking for most use cases)
  • Enable hybrid server/client processes
  • Add experimental asynchronous data draining with index relocation

Legacy DataSpaces 1.x Releases:

Development code can be found on the DataSpaces 1.x Github Repo (no longer in active development and deprecated)

1.8.x Most recent release: May 2019

  • Added new metadata support API calls (see header file for usage.)
  • Various bug fixes and performance improvements for InfiniBand transport.

1.7.x Most recent release: September 2018

  • Added lock type 3
  • Added DataSpaces-as-a-Service (DSaaS) functionality.
  • Added shared-memory based communication for collocated peers.
  • Various performance improvements and bug-fixes.
  • Deprecated and removed DCMF, Portals, and PAMI transport methods.

1.6.x Most recent release: June 2017

  • Added support for Cray Dynamic RDMA Credentials (DRC)
  • Supports Aries on Cray XC40 systems.
  • Necessary for NERSC’s Cori machine: use –enable-drc with configure
  • Improved support for IBM XL compiler
  • Added network support: Aries for Cray XC30.
  • Updated support for automake-1.12 and above.
  • Added network support: socket for TCP/IP.
  • Added feature: new data deleting API for removing data identified by version, from the staging area.

Older Release notes for Posterity:

1.5.0 Released January 2015

  • Version checking for client/server compatibility.
  • Support for DIMES on InfiniBand.
  • A new set of examples.

1.4.0 Released June 2014

  • Added network support: PAMI for IBM BlueGene/Q
  • Support for 64bit dimension sizes
  • Support for more than three dimensions

1.3.0 Released December 2013

  • Optimized memory usage on server side for Gemini to overcome low RDMA memory constrains
  • Distributed client’s registration process, changed file locking mechanism on IB to reduce boot-up time
  • Parallelized DIMES get operation to improve data transfer performance
  • Unified interface for coupled writer/reader testing applications in C and Fortran

1.2.0 Released May 2013

  • Added network support: DCMF for IBM BlueGene/P
  • Added feature: new data coupling APIs that allow point-to-point data transfers directly between tightly coupled processes by bypassing staging servers
  • Added coupled writer/reader testing applications in C
  • Single codebase for all supported networks

1.1.0 Released November 2012

  • Added network support: Infiniband
  • Added support for sub-group lock/unlock using application defined MPI communicator

1.0.0 Released July 2012

  • Network support: Portals for Cray XT series, Gemini for Cray XE/XK series