LBL

GASNet

UCB


Download
Specification
Publications
Performance
Users/Links
Bugs
Contact

NEW October 21, 2016 -- GASNet 1.28.0 released.

GASNet is a language-independent, low-level networking layer that provides network-independent, high-performance communication primitives tailored for implementing parallel global address space SPMD languages and libraries such as UPC, UPC++, Co-Array Fortran, Legion, Chapel, and many others. The interface is primarily intended as a compilation target and for use by runtime library writers (as opposed to end users), and the primary goals are high performance, interface portability, and expressiveness. GASNet stands for "Global-Address Space Networking".

The design of GASNet is partitioned into two layers to maximize porting ease without sacrificing performance: the lower level is a narrow but very general interface called the GASNet core API - the design is based heavily on Active Messages, and is implemented directly on top of each individual network architecture. The upper level is a wider and more expressive interface called the GASNet extended API, which provides high-level operations such as remote memory access and various collective operations.

GASNet
System diagram showing GASNet layers


We've written a network-independent reference implementation of the extended API purely in terms of the core API, which allows GASNet (and the GAS compiler) to quickly and easily be ported to a new network architecture by re-implementing only the minimal core API. GASNet is structured such that implementers can choose to additionally bypass certain functions in the reference implementation of the extended API and implement them directly on the hardware to improve performance of specific operations when hardware support is available (e.g. special network support for puts/gets or hardware-assisted broadcast).

Most clients will use calls to the extended API functions to implement the bulk of their communication work (thereby ensuring optimal performance across platforms). However the client is also permitted to use the core active message interface to implement non-trivial language-specific or compiler-specific communication operations which would not be appropriate in a language-independent API (e.g. implementing distributed language-level locks, distributed garbage collection, collective memory allocation, etc.). The AM features of the core provide a powerful extensibility mechanism which allows clients to implement a wide variety of specialized communication operations. 


GASNet Specification, v1.8:
    Acrobat PDF     Postscript      HTML      Text

For citations, please use:
U.C. Berkeley Tech Report (UCB/CSD-02-1207) (spec v1.1)

GASNet Spec extensions (work-in-progress, subject to change):

Download GASNet Implementation:

GASNet Full Source Release
(all conduits and platforms)
GASNet-1.28.0.tar.gz   (2.5 MB)
MD5 Hash = b44446d951d3d8954aa1570e3556ba61
Browse the archive
README, Change log, BSD license.
GASNet Portability Tools
(NO communication conduits, GASNet Tools only)
GASNet_Tools-1.28.0.tar.gz   (615 KB)
MD5 Hash = f66d61b32056cddbf24a35af5b8ffcbf
README-tools
Download Mirror 1    Download Mirror 2
GIT Repository

The full version of GASNet includes support for the following networks:

and has been tested on a number of systems (see README for a complete list):

Work continues on GASNet implementations for other high-performance networks, and code contributions are appreciated (please send email if you're interested). Future releases will add a further-tuned collectives implementation and numerous other improvements to the existing native conduits. Independent implementations of the GASNet specification are also encouraged.

GASNet Performance Results

GASNet Bug Database


Publications/Presentations:


Systems/Projects using GASNet

Production GASNet clients

Experimental GASNet clients

Other Related Links

The GASNet project is funded by the DOE Office of Science, through the Exascale Computing Project (ECP); and by the Department of Defense.

Contact and Support information:

Bug reports and Feature Requests : Please do NOT send bug reports or code via email. Use our Bugzilla server for reporting any bugs in GASNet. You may find an instant solution to your problem by searching the bug database!

GASNet mailing lists

List
Subscribers
Purpose
public GASNet users list
Join here
General questions or inquiries regarding the installation or use of GASNet.
GASNet developers (multi-institution)
Development forum: internal design discussions, etc.
gasnet-announce@lbl.gov
public, read-only list
Join here
GASNet release announcements (<5 messages / year)

We are interested in supporting GASNet on as wide a variety of HPC systems as possible. If your system or network is not supported and you are willing to let us use your resources for development, please contact us!

We very much appreciate your feedback. Thank you for using GASNet!


Page last updated Wednesday February 08, 2017 SourceForge.net Logo