Skip to content
Compare
Choose a tag to compare

This is a bug fix release. In particular,

  • it fixes unbuffered communication with bsp_hpput and bsp_hpget when the target and the origin are on the same process
    (Thanks to Thomas Koopman who found and reported the bug);
  • it improves portability of the configure script to platforms which do not have /bin/sh as alias for bash;
  • the bspcc and bspcxx compiler frontend scripts can now also take shared object (.so) files as input.
Compare
Choose a tag to compare

This release adds

  • BSC - A Bulk Synchronous Collectives Library
  • Bompiprobe - A command line tool to find tuning parameters for the BSPonMPI runtime.

and addresses two performance bugs

  • Default compilation mode is now Release mode instead of Debug.
  • The transition between the latency-optimal and the throughput-optimal total-exchanges is now much smoother, which can lead to significant speedups on imbalanced communication patterns. An application that benefits from this fix is, for example, bsplu from BSPedupack.

This release has been tested on macOS Mojave, CentOS 7, FreeBSD 12, Debian 9, Ubuntu 18.04, and Windows 10. It has also been tested on the Top500 supercomputer Cartesius from SURFsara using Intel MPI 5.0.3 and on Cori from NERSC using Cray MPI.

Acknowledgements I would like to thank Pierre Leca for extending the unit test suite and Rob Bisseling for testing on Cori and making available some compute time on Cartesius.

Errata

  • FreeBSD 12: The first line of the configure script must be changed to "#!/usr/local/bin/bash"
  • Ubuntu 18.04 and Debian 9: The first line of the configure script must be changed to "#!/bin/bash"
Compare
Choose a tag to compare
Pre-release

This release adds a parallel collectives library and a benchmarking tool, and fixes two important performance bugs.
This release candidate improves the bompiprobe tool.

Compare
Choose a tag to compare
Pre-release

This release adds a parallel collectives library and a benchmarking tool, and fixes two important performance bugs.

Compare
Choose a tag to compare
Pre-release

This release adds a parallel collectives library and a benchmarking tool, and fixes two important performance bugs.

Compare
Choose a tag to compare

This is a complete rewrite of BSPonMPI v0.2/v0.3. It conforms better to the original BSPlib specification by Hill et al. (1998) but optionally also provides MulticoreBSP for C compatibility. Better internal parameter checking should make debugging of BSPlib programs easier. What MPI communication routines -- MPI_Alltoall, MPI_Irecv/MPI_Irsend, or MPI_Put/MPI_Fence -- are used is configurable in order to allow adaptation to the MPI implementation. Compression of request meta-data ensures better scalability of communication patterns with many small requests. This release has been tested on macOS Mojave, CentOS 7, FreeBSD 12.0, Debian 9, Ubuntu 18.04, and Windows 10. It has also been tested on the Top500 supercomputer Cartesius from SURFsara using Intel MPI 5.0.3 and IBM Platform MPI 9.1.4 on up to 512 cores (16 nodes). It has also been reported to work on Cori from NERSC using Cray MPI.

Acknowledgements I would like to thank Rob Bisseling who has tested BSPonMPI v1.0 on Cori and made some compute time on Cartesius available for extensive testing.