Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-270

Wrapper layer for F2J translations of BLAS/LAPACK

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.1
    • None
    • None
    • None

    Description

      This is part of the proposal to integrate MTJ, netlib-java and commons-math which has been well received on the developers' list, @see http://www.nabble.com/commons-math,-matrix-toolkits-java-and-consolidation-tt23537813.html

      This depends on issue MATH-269.

      Netlib-java provides a wrapper layer around Java implementations of BLAS and LAPACK, the industry standard APIs for linear algebra calculation. This functionality would be of great benefit to commons-math both internally and as part of the public API.

      A major advantage of using netlib-java rather than direct access to Java translations of BLAS/LAPACK is that natively optimised implementations can be configured at runtime. For most normal desktop machines, the performance difference is negligible (hey, Java is seriously fast these days!), but for machines with custom hardware and BLAS/LAPACK implementations (e.g. GPU, FPGA, otherwise parallel) the performance difference can be orders of magnitude.

      The idea would be that commons-math would define an API and use it internally for linear algebra calculations. The decision to make this part of the public API can be decided afterward.

      The author of netlib-java (i.e. me!) is more than happy to release this code under an Apache licence, however the APIs are copyright the authors of BLAS/LAPACK and therefore BSD licenced (which I understand is compatible).

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              fommil Sam Halliday
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: