Elsevier

Parallel Computing

Volume 24, Issue 14, December 1998, Pages 1947-1980
Parallel Computing

Practical aspects
BSPlib: The BSP programming library

https://doi.org/10.1016/S0167-8191(98)00093-3Get rights and content
Under a Creative Commons license
open archive

Abstract

BSPlib is a small communications library for bulk synchronous parallel (BSP) programming which consists of only 20 basic operations. This paper presents the full definition of BSPlib in C, motivates the design of its basic operations, and gives examples of their use. The library enables programming in two distinct styles: direct remote memory access (DRMA) using put or get operations, and bulk synchronous message passing (BSMP). Currently, implementations of BSPlib exist for a variety of modern architectures, including massively parallel computers with distributed memory, shared memory multiprocessors, and networks of workstations. BSPlib has been used in several scientific and industrial applications; this paper briefly describes applications in benchmarking, Fast Fourier Transforms (FFTs), sorting, and molecular dynamics.

Keywords

Bulk synchronous parallel
Parallel communications library
One-sided communication

Cited by (0)