#1 Problem with dgesv and IBM JIT compiler

closed
nobody
None
5
2003-02-04
2002-10-21
Michael Haggerty
No

The Dgesv.dgesv routine from JLAPACK 0.6 doesn't work
consistently correctly under IBM's Linux JRE with the
following version:

$ java -version
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build
1.3.0)
Classic VM (build 1.3.0, J2RE 1.3.0 IBM build
cx130-20010626 (JIT enabled: jitc))

Apparently it is a bad interaction with the JIT
compiler because the routine gives a correct answer the
first time it is called but eventually starts giving
incorrect answers. I have appended a small test
program written in Jython that demonstrates the
problem. The program solves a 3x3 matrix equation
10001 times using Dgesv.dgesv and prints the results of
the first and last attempts. The answers should be
identical but are not. The first result is correct.

$ jython jlapack_test.py
Result first attempt: 0
v[0] = -0.08293070351379606
v[1] = 0.09266920225961406
v[2] = -0.001722128614625683

Result 10000th attempt: 0
v[0] = 22.200877727061638
v[1] = 1749.617616670161
v[2] = 1.302740822326132

For this project, turning off the JIT is not an
option. Nor is switching to another JRE. Therefore
our ability to use JLAPACK depends on finding a way
around this bug.

Let me know if there is any more information that I can
give you to help diagnose this problem.

Yours,
Michael

Discussion

  • Jython script demonstrating error

     
    Attachments
  • Keith Seymour
    Keith Seymour
    2003-02-04

    • status: open --> closed
     
  • Keith Seymour
    Keith Seymour
    2003-02-04

    Logged In: YES
    user_id=472440

    This does in fact seem to be a bug with the IBM
    jit in version 1.3 since upgrading to 1.4 works.
    However, for those who do not want to or cannot
    upgrade to 1.4, the attached jar file works with
    1.3.

     
  • Keith Seymour
    Keith Seymour
    2003-02-04

    Logged In: YES
    user_id=472440

    Regarding my previous comment, the jar file
    could not be attached here because it was
    too large. So I uploaded the file to the
    "Downloads" area under the Support release.
    The file name is "jla_ibm13.tgz".