Hacker News new | past | comments | ask | show | jobs | submit login

In my understanding, Eigen uses its internal routines unless you point it to external BLAS/LAPACK libraries[0]?

Eigen's internal structures and features doesn't map well to traditional BLAS/LAPACK structures anyway.

[0]: https://eigen.tuxfamily.org/dox/TopicUsingBlasLapack.html




My bad, should have looked it up before posting, thanks! afaik, LAPACK is highly architecture-adapted / optimized, so it makes sense to "decouple" the two, leaving it to the user to use it for highly performance critical binaries.


You're welcome, no problem; we're just discussing here.

BLAS/LAPACK is very optimized and it's recommended to compile on (or for) target for best performance, however they're developed for a very long time, and somewhat old-fashioned in terms of ergonomics and internal flow.

OTOH, Eigen is very modern, very easy to optimize (just pass -O3, and relevant -march -mtune to gcc), and you're screaming at 98% speed of BLAS/LAPACK.

I've used it extensively in my Ph.D., and TensorFlow is also using Eigen. It's very easy and practical to use, and it's very very fast. It makes abusing (ehrm making full use of) your processor easy and strangely enjoyable.

Some older benchmarks and current performance monitoring pages can be found at https://eigen.tuxfamily.org/index.php?title=Benchmark




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: