This software provides a networking layer that is low-level and not dependent on any particular programming language.
The GASNet has a two-layer structure that optimizes porting ease without sacrificing performance. The lower layer is the narrow but highly general GASNet core API, based heavily on Active Messages, and implemented directly on each network architecture. The upper layer is the broader and more expressive GASNet extended API, providing remote memory access and various collective operations.
The extended API reference implementation is entirely network-independent, allowing for quick and easy porting of GASNet (and the GAS compiler) to a new network architecture by re-implementing only the minimal core API. GASNet is structured so that implementers can choose to bypass certain functions in the reference implementation of the extended API and instead implement them directly on the hardware to achieve optimal performance for specific operations when hardware support is provided.
The extended API functions are used by most clients to perform the bulk of their communication work, thereby ensuring optimal performance across platforms. However, the client can also use the core active message interface to implement non-trivial language-specific or compiler-specific communication operations that would not be suitable in a language-independent API.
The AM features of the core offer a robust extensibility mechanism that allows clients to implement a wide variety of specialized communication operations. In summary, GASNet is a powerful and versatile networking layer that achieves high-performance communication primitives in parallel global address space SPMD languages.
Version 1.14.0: N/A