Skip to content
This repository was archived by the owner on Nov 10, 2017. It is now read-only.
This repository was archived by the owner on Nov 10, 2017. It is now read-only.

SVD fails in multi-threaded operation #64

@jonnywray

Description

@jonnywray

We noticed a threading issue with some of our code that uses MTJ and I've isolated the issue to SVD failing under certain conditions.

  • By failing I mean that the same calculation returns different values depending on the thread it is running in
  • The errors do not occur with the F2J libraries
  • The errors occur on OSX, Windows and Linux with the reference libraries
  • The errors do not occur with the default Debian system libraries (https://packages.debian.org/wheezy/liblapack3)
  • The errors do occur with the Debian ATLAS system libraries (https://packages.debian.org/wheezy/libatlas3-base)
  • OSX system libraries work
  • We've not tested system libraries on Windows

The project https://bitbucket.org/jwray/matrix-library-investigation contains isolated, minimum code illustrating the issue. It's calculating the pseudo-inverse as that's where we noticed the issue.

There are two test class and one of them illustrates the issue with multi-threading. The test fails as above but will pass if the size of the thread pool is set to 1.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions