ATLAS/LAPACK cgels_() not re-entrant?

Bug #670298 reported by Richard Furse
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
atlas (Ubuntu)
New
Undecided
Unassigned

Bug Description

Looks like the current build of ATLAS + Netlib LAPACK might not be threadsafe (64bit 3.6.0-24ubuntu1).

I've been running multiple calls to cgels() in parallel on a multicore system (12 ht cores, 24 threads) and have finally noticed that the results returned aren't consistent when multiple threads run it at the same time. Putting a mutex lock around cgels() fixes the problem, so I guess it isn't reentrant.

I'm not sure whether the bug is in ATLAS, LAPACK or something weird in the Ubuntu build. The ATLAS and LAPACK docs both suggest that the libraries should be threadsafe, though ATLAS recommends some compile switches be set. Is it possible this hasn't been done? I had a go at building from source but couldn't make the linkage with LAPACK work.

For clarity, I'm calling "cgels_()", which I think is the correct Fortran-style entry point into LAPACK through the CLAPACK interface.

I've had great results with ATLAS in general for several years - this is a very specific problem. I'm reasonably confident the issue isn't in my code because it runs fine using the cgels() provided by Intel MKL on Windows - but as always it's possible I'm doing something stupid ;-)

Any help appreciated...

Revision history for this message
Sylvestre Ledru (sylvestre) wrote :

3.6.0 is outdated. Could you try with the 3.8.3 release ?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.