Reproducible Basic Linear Algebra Subroutines (ReproBLAS)
James Demmel, University of California, Berkeley
Usage Details
James Demmel, Wen Rui LiauGetting the same answer when you run a program more than once is important for debugging and correctness, but is no longer guaranteed on parallel computers that may compute sums of floating point numbers in different orders from run to run, because round-off errors make addition nonassociative. The BLAS (Basic Linear Algebra Subroutines) are a standard library of common operations like matrix-multiply, and the BLAS Standard Committee is considering a version of the BLAS that guarantees bit-wise reproducibility from run to run. This position would involve implementing, measuring and improving the performance, and applying a proposed implementation of this new standard.
The intern would be responsible for first learning about the existing algorithm and prototype implementation of reproducible summation and (some of) the ReproBLAS, and the new draft BLAS standard. Second, the intern would reimplement the existing ReproBLAS to match the standard, add missing routines, and evaluate and tune performance on target architectures. Third, the intern would modify selected LAPACK and ScaLAPACK library routines to use the ReproBLAS, and evaluate their reproducibility and performance.