Hacker News new | ask | show | jobs
by arcanus 3954 days ago
For what problems? General statements like this are hard to back up, especially in the wild world of numerical linear algebra.

From my experience, there are currently no good distributed-memory open source sparse-direct solvers.

No good distributed-memory ILU implementation, either. Scalability is almost non-existant beyond 100 cores.

3 comments

I've used Blaze for machine learning applications, where I've relied on the performance of elementwise operations and dense matrix multiplication on a single machine (the results advertised in the benchmark). Eigen has more functionality, but in my experience is not always optimized as well as Blaze. Neither has support for distributed computing, but I believe this is a problem that HPX is trying to address: https://github.com/STEllAR-GROUP/hpx
That's because direct solvers can't scale. If you want to solve a large (distributed over hundreds of nodes) sparse linear algebra problem as fast as possible, decades of research have been poured into efficient techniques (Krylov methods, Multigrid, preconditioners) for solving them iteratively.
Can't scale in a weak, strong, or asymptotic complexity sense? And for what sorts of problems (I assume you're thinking of 2D and 3D PDEs discretized with local basis functions)?
Yes, I'm thinking of discretizations of elliptic 2D/3D PDEs. They don't scale in the weak or strong sense, and they can't hold O(n log n) asymptotic complexity due to fill-in from Cholesky/LU-style factorizations.