Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to analyze some well-used scientific codes that make heavy use of LAPACK. I.e. I'm looking for codes that both spend a lot of time within LAPACK functions and use LAPACK non-trivially (i.e. calling more than just DGEMM). I would be interested in applications that use either sequential LAPACK or ScaLAPACK or any other implementation that exposes the same interface.

What are some good examples that are easy to obtain? Ideally they would be open source or available-on-request.

share|improve this question
I suspect that any well-used scientific code that makes heavy use of LAPACK is not going to be easily accessible, from personal experience. I will be very interested if there are indeed easily accessible codes, since I'll want to study them as well. – Geoff Oxberry Feb 26 '12 at 20:00
Performance analysis or some other? – Aron Ahmadia Feb 26 '12 at 21:24
@AronAhmadia my goal is to determine if the community uses the various specialized storage types (general, triangular, symmetric, hessenberg, ...) effectively – MRocklin Feb 26 '12 at 23:20
@GeoffOxberry Yeah, I'm afraid of this. There must be some good projects out there though. I'm personally familiar with the Weather Research and Forecasting code (WRF). It uses LAPACK and is generally available upon request. – MRocklin Feb 26 '12 at 23:22
Now I'm confused. When you say accessible, do you mean that the source code is easy to read, or easy to obtain? And by heavy use, do you mean 'uses a lot of LAPACK function calls', or 'spends most of its time in a LAPACK function call'. Also, do you want to include ScaLAPACK in your search, since the more computationally demanding codes are parallel? – Aron Ahmadia Feb 26 '12 at 23:50
up vote 3 down vote accepted

It's hard to know where to start, as there are so many codes out there using LAPACK and your criteria are a bit… subjective (“use LAPACK non-trivially”). I'll throw in some pointers:

  • you can find here an old survey of LAPACK users, which gives some information into who uses it, and what are they using it for
  • most quantum chemistry codes out there use LAPACK for their linear algebra (CPMD, CP2K, octopus, to cite only a few open-source codes)
  • you could also go to the packages list of your favorite Linux distro, and check out what packages depend on lapack
share|improve this answer

ATLAS does a pretty brutal group of grinding metrics on LAPACK and BLAS. You might be able to snag some code out of there that meets your needs.

I might also suggest checking out Numpy and Scipy as both have very large unit-tests that likely span large parts of that phase-space. Additionally, they provide hooks down to the LAPACK functions if you want to call those directly on arrays of your creation.

Another tack to the problem is possibly searching Github for the LAPACK calls of interest, and seeing what code surfaces!

share|improve this answer

Have a look at the RADAU IIA solver by E. Hairer ( It uses LAPACK as a backbone for an implicit Runge-Kutta method for ODEs.

share|improve this answer

I wrote an electromagnetic simulation code S4 which is limited entirely by the ability to solve a dense nonsymmetric eigenvalue problem (ZGEEV). The code is open source and written in C++.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.