Bulk: A modern C++ interface for bulk-synchronous parallel programs
The bulk-synchronous parallel (BSP) programming model gives a powerful method for implementing and describing parallel programs. In this article we present Bulk, a novel interface for writing BSP programs in the C++ programming language that leverages modern C++ features to allow for the implementation of safe and generic parallel algorithms for shared-memory, distributed-memory, and hybrid systems. This interface targets the next generation of BSP programmers who want to write fast, safe, clear and portable parallel programs. We discuss two applications: regular sample sort and the fast Fourier transform, both in terms of performance, and ease of parallel implementation.
|Lecture Notes in Computer Science|
|European Conference on Parallel Processing|
|Organisation||Algorithms and Complexity|
Buurlage, J, Bannink, T.R, & Bisseling, R.H. (2018). Bulk: A modern C++ interface for bulk-synchronous parallel programs. In Euro-Par 2018: Parallel Processing (pp. 519–532). doi:10.1007/978-3-319-96983-1_37