STRUMPACK vs EIGEN for Levenberg-Marquardt nonlinear least squares optimisation
The following documentation and data formed part of the work I carried out at LBNL from 2017 to 2018. The project described herein follows the integration of the STRUMPACK sparse linear solver library into CCTBX. Comparing solver’s various backends with EIGEN’s gives an indication of the applicability of each individual solver to the given problem (Levenberg-Marquardt nonlinear least-squares minimisation) to the observed data. Scalability comparisons are drawn to showcase which backend offers the best performance, allowing for future design decisions. The given code and documents are all available at ExaFEL.
Each different test data set receives its own analysis, as well as a distributed test using CORI. The following files represent part of the scalability analysis performed:
- Single node, MPI+OpenMP, $10^3$ images
- Single node, MPI+OpenMP, $5\times 10^3$ images
- Single node, MPI+OpenMP, $10^4$ images
- Multi node (CORI), MPI, $5\times 10^3$ images
Installation details and additional information can be found here.
For my other contributions to ExaFEL project, please visit the ExaFEL site.