Dear Eigen Maintainers,

I noticed that Eigen's current documentation only lists a simplicial LDLT 
sparse-direct solver; I spent my last several months building a header-only C++ 
(optionally multithreaded) supernodal Cholesky/LDL^T/LDL^H sparse-direct solver 
(which also implements high-performance Determinantal Point Process sampling 
with similar techniques) and am curious if it would be seen as a good fit for 
an unsupported Eigen module. The solver achieves as much as 1 TF in 
double-precision on my 16-core skylake workstation.

The current project is described here:
https://hodgestar.com/catamari/
I released v0.1 a few days ago, but I have improved the performance in 'master' 
substantially since then.

My assumption is that the biggest hurdle will be due to the solver (catamari) 
being implemented in C++14, and that Eigen is currently restricted to C++03. 
And, while catamari optionally incorporates OpenMP task scheduling for the 
multithreaded parallelism, this support is only enabled if an appropriate 
preprocessor directive is defined (CATAMARI_OPENMP).

Any advice would be appreciated.

Sincerely,
Jack Poulson

Reply via email to