[SciPy-Dev] suitesparse vs scipy

Ralf Gommers ralf.gommers at googlemail.com
Tue Aug 30 15:04:18 EDT 2011


On Tue, Aug 30, 2011 at 6:59 PM, Jack Howarth <howarth at bromo.med.uc.edu>wrote:

> On Tue, Aug 30, 2011 at 01:32:09PM +0000, Pauli Virtanen wrote:
> > Tue, 30 Aug 2011 08:55:15 -0400, Jack Howarth wrote:
> > [clip]
> > > On x86_64-apple-darwin11, building scypy 0.9.0 against python2.7
> > > using the clang compilers and gfortran from FSF gcc 4.6.1, I get the
> following
> > > testsuite results...
> > [clip]
> > > ======================================================================
> > > FAIL: test_dot (test_blas.TestFBLAS1Simple)
> > > ----------------------------------------------------------------------
> > > Traceback (most recent call last):
> > >   File
> > >   "/sw/lib/python2.7/site-packages/scipy/lib/blas/tests/test_blas.py",
> > >   line 67, in test_dot
> > >     assert_almost_equal(f([3,-4,5],[2,5,1]),-9)
> > >   File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line
> > >   468, in assert_almost_equal
> > >     raise AssertionError(msg)
> > > AssertionError:
> > > Arrays are not almost equal to 7 decimals
> > >  ACTUAL: 0.0
> > >  DESIRED: -9
> >
> > Does Numpy's test suite pass?
>
> On x86_64-apple-darwin10, numpy passes its testsuite...
>
> [frodo:~] howarth% python2.7
> Python 2.7.2 (default, Aug  4 2011, 09:22:24)
> [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import numpy
> >>> numpy.test()
> Running unit tests for numpy
> NumPy version 1.6.0
> NumPy is installed in /sw/lib/python2.7/site-packages/numpy
> Python version 2.7.2 (default, Aug  4 2011, 09:22:24) [GCC 4.2.1 (Apple
> Inc. build 5666) (dot 3)]
> nose version 1.1.2
> ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................../sw/lib/python2.7/site-packages/numpy/core/numeric.py:1920:
> RuntimeWarning: invalid value encountered in absolute
>  return all(less_equal(absolute(x-y), atol + rtol * absolute(y)))
>
> ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................K.................................................................................................K......................K................................................................................................................................................................................................................................................................................................................................................................................................
>
>  .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
>
>  ..................................................................................................................................................................S..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
>
>  ...........................................................................................
> ----------------------------------------------------------------------
> Ran 3529 tests in 34.328s
>
> OK (KNOWNFAIL=3, SKIP=1)
> <nose.result.TextTestResult run=3529 errors=0 failures=0>
> >>>
>
> whereas on x86_64-apple-darwin11 (building with clang), numpy fails...
>

None of those failures is a problem, nor is it relevant to your problem with
scipy.

If anyone feels like writing a patch to disable those test_special_values on
all platforms except linux, that would be appreciated.

Ralf



> [GCC 4.2.1 Compatible Apple Clang 2.1 (tags/Apple/clang-163.7.1)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import numpy
> >>> numpy.test()
> Running unit tests for numpy
> NumPy version 1.6.0
> NumPy is installed in /sw/lib/python2.7/site-packages/numpy
> Python version 2.7.2 (default, Jul 21 2011, 22:39:54) [GCC 4.2.1 Compatible
> Apple Clang 2.1 (tags/Apple/clang-163.7.1)]
> nose version 1.1.2
>
> ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F.........................................................................................................................................................................................................................................................................................................................................................................................................................K...................................
>  ..............................................................K......................K...........FFFFFFF...F./sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py:364:
> RuntimeWarning: invalid value encountered in sqrt
>  z = np.sqrt(np.array(np.complex(-np.inf, np.nan)))
>
> ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
>
>  ..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................S..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
>
>  ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................
> ======================================================================
> FAIL: Test basic arithmetic function errors
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/numpy/testing/decorators.py", line
> 215, in knownfailer
>    return f(*args, **kwargs)
>  File "/sw/lib/python2.7/site-packages/numpy/core/tests/test_numeric.py",
> line 321, in test_floating_exceptions
>    lambda a,b:a/b, ft_tiny, ft_max)
>  File "/sw/lib/python2.7/site-packages/numpy/core/tests/test_numeric.py",
> line 271, in assert_raises_fpe
>    "Type %s did not raise fpe error '%s'." % (ftype, fpeerr))
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 34, in
> assert_
>    raise AssertionError(msg)
> AssertionError: Type <type 'numpy.complex64'> did not raise fpe error ''.
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>, 1,
> inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>, -1,
> inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>, 0.0,
> inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>,
> -0.0, inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>, inf,
> inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>,
> -inf, inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>, nan,
> inf, inf, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array((inf+infj))
>
> ======================================================================
> FAIL: test_umath_complex.TestCsqrt.test_special_values(<ufunc 'sqrt'>,
> -inf, 1, 0.0, inf)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>  File "/sw/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
>    self.test(*self.arg)
>  File
> "/sw/lib/python2.7/site-packages/numpy/core/tests/test_umath_complex.py",
> line 578, in check_complex_value
>    assert_equal(f(z1), z2)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 256,
> in assert_equal
>    return assert_array_equal(actual, desired, err_msg, verbose)
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 707,
> in assert_array_equal
>    verbose=verbose, header='Arrays are not equal')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 605,
> in assert_array_compare
>    chk_same_position(x_id, y_id, hasval='nan')
>  File "/sw/lib/python2.7/site-packages/numpy/testing/utils.py", line 588,
> in chk_same_position
>    raise AssertionError(msg)
> AssertionError:
> Arrays are not equal
>
> x and y nan location mismatch:
>  x: array([ nan+infj])
>  y: array(infj)
>
> ----------------------------------------------------------------------
> Ran 3529 tests in 38.236s
>
> FAILED (KNOWNFAIL=3, SKIP=1, failures=9)
> <nose.result.TextTestResult run=3529 errors=0 failures=9>
>
> In both cases (darwin10 and darwin11), the blas used is from
> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate.
>
> http://developer.apple.com/performance/accelerateframework.html
>
> I doubt the system blas is at fault and more likely this is an issue with
> the clang compilers. I know python required an explicit
> addition of -fwrapv since its test for that option is confused by clang.
> Perhaps numpy/scipy requires -fwrapv as well?
>         Jack
>
> >
> > Either the BLAS you linked Scipy against is broken, or there are some
> > compatibility problems due to compilers or mixing compiler versions.
> >
> > You could check which libraries your `fblas.so` and `cblas.so` in the
> > Scipy installation are linked against. I've never used OSX, though,
> > so I do not know how to do this there. You can see the same information
> > in the beginning of the build logs, though.
> >
> > Maybe someone who is more familiar than me with OSX knows more.
> >
> > --
> > Pauli Virtanen
> >
> > _______________________________________________
> > SciPy-Dev mailing list
> > SciPy-Dev at scipy.org
> > http://mail.scipy.org/mailman/listinfo/scipy-dev
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20110830/08ba283f/attachment.html>


More information about the SciPy-Dev mailing list