[SciPy-dev] more 64 Bit testing (was linspace)

Arnd Baecker arnd.baecker at web.de
Tue Dec 6 03:03:24 CST 2005


For the icc situation (Intel compiler on Itanium) I get
(basically the same as yesterday + the new ones) those listed below.

I don't know about the quality of the intel compilers,
but the amount of warnings (1438 +  3025 remarks),
just for the core, is discouraging.
At the end of this mail I also attach the result of
  cat build_log_scipy_new_core.txt  | grep warning
(only those related to arraytypes.inc and ufuncobject.c).

For full scipy things get even more problematic with icc
as cephes does not compile due to the
  double NAN = 1.0/0.0 - 1.0/0.0;
definitions leading to an error (see at the end for the 3 errors of this
type).
How should one define NAN when using icc?

Commenting out the build of special in Lib/setup.py
the next problem sits in

compilation aborted for build/src/Lib/interpolate/dfitpackmodule.c (code
2)
error: Command "icc -fno-strict-aliasing -OPT:Olimit=0 -DNDEBUG -g -O3
-Wall -Wstrict-prototypes -fPIC -fPIC -Ibuild/src
-I/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/include
-I/home/baecker/python/include/python2.4 -c
build/src/Lib/interpolate/dfitpackmodule.c -o
build/temp.linux-ia64-2.4/build/src/Lib/interpolate/dfitpackmodule.o"
failed with exit status 2

Here icc does not like thoses places with:

build/src/Lib/interpolate/dfitpackmodule.c(2976): error: expected a ";"
         int calc_lwrk1(void) {

In code like
       int calc_lwrk1(void) {
         int u = nxest-kx-1;
         int v = nyest-ky-1;
         int km = MAX(kx,ky)+1;
         int ne = MAX(nxest,nyest);
         int bx = kx*v+ky+1;
         int by = ky*u+kx+1;
         int b1,b2;
         if (bx<=by) {b1=bx;b2=bx+v-ky;}
         else {b1=by;b2=by+u-kx;}
         return u*v*(2+b1+b2)+2*(u+v+km*(m+ne)+ne-kx-ky)+b2+1;
       }

Is this code f2py generated??

Ok, kicking out interpolate in Lib/setup.py ...
I finally get to some place, where magically g77 is
called, despite
  python setup.py config --fcompiler=intel install --prefix=$DESTDIR
I will retry this with additional options for the fortran side.
 a) python setup.py config --compiler=intel config_fc --fcompiler=intel
 b) Maybe setting
      export F77=ifort
      export CC=icc
      export CXX=icc
    (will report later)

Any advice on how to attack these various issues is very welcome!

Best, Arnd


======================================================================
ERROR: Test of put
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/tests/test_ma.py",
line 277, in check_testPut
    x[[1,4]] = [10,40]
  File
"/home/baecker/python//newscipy/lib/python2.4/site-packages/scipy/base/ma.py",
line 799, in __setitem__
    d[index] = value
IndexError: index (1) out of range (0<=index<=4) in dimension 0

======================================================================
ERROR: check_simple
(scipy.base.shape_base.test_shape_base.test_apply_along_axis)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/tests/test_shape_base.py",
line 13, in check_simple
    assert_array_equal(apply_along_axis(len,0,a),len(a)*ones(shape(a)[1]))
  File
"/home/baecker/python//newscipy/lib/python2.4/site-packages/scipy/base/shape_base.py",
line 36, in apply_along_axis
    outarr[ind] = res
IndexError: index (0) out of range (0<=index<=9) in dimension 0

======================================================================
FAIL: check_nd (scipy.base.index_tricks.test_index_tricks.test_grid)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/tests/test_index_tricks.py",
line 30, in check_nd
    assert_array_almost_equal(c[0][-1,:],ones(10,'d'),11)
  File
"/home/baecker/python//newscipy/lib/python2.4/site-packages/scipy/test/testing.py",
line 758, in assert_array_almost_equal
    assert cond,\
AssertionError:
Arrays are not almost equal (mismatch 100.0%):
        Array 1: [-0.555555555556 -0.555555555556 -0.555555555556
-0.555555555556
 -0.555555555556 -0.555555555556 -0.555555555556 -0.555...
        Array 2: [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]


======================================================================
FAIL: check_basic
(scipy.base.function_base.test_function_base.test_cumprod)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/tests/test_function_base.py",
line 163, in check_basic
    1320, 6600, 26400],ctype))
  File
"/home/baecker/python//newscipy/lib/python2.4/site-packages/scipy/test/testing.py",
line 733, in assert_array_equal
    assert cond,\
AssertionError:
Arrays are not equal (mismatch 57.1428571429%):
        Array 1: [  1.   2.  20.   0.   0.   0.   0.]
        Array 2: [  1.0000000000000000e+00   2.0000000000000000e+00
2.0000000000000000e+01
   2.2000000000000000e+02   1.32000000000000...


======================================================================
FAIL: check_basic
(scipy.base.function_base.test_function_base.test_cumsum)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/tests/test_function_base.py",
line 122, in check_basic
    assert_array_equal(cumsum(a), array([1,3,13,24,30,35,39],ctype))
  File
"/home/baecker/python//newscipy/lib/python2.4/site-packages/scipy/test/testing.py",
line 733, in assert_array_equal
    assert cond,\
AssertionError:
Arrays are not equal (mismatch 57.1428571429%):
        Array 1: [  1.   3.  13.  11.  17.   5.   9.]
        Array 2: [  1.   3.  13.  24.  30.  35.  39.]


======================================================================
FAIL: Test add, sum, product.
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/baecker/python/newscipy/lib/python2.4/site-packages/scipy/base/tests/test_ma.py",
line 163, in check_testAddSumProd
    self.failUnless (eq(scipy.add.accumulate(x), add.accumulate(x)))
AssertionError

----------------------------------------------------------------------
Ran 157 tests in 1.590s

FAILED (failures=4, errors=2)
Out[3]: <unittest.TextTestRunner object at 0x20000000018801d0>






build/src/scipy/base/src/arraytypes.inc(5007): warning #1338: arithmetic
on pointer to void or function type
build/src/scipy/base/src/arraytypes.inc(5447): warning #1338: arithmetic
on pointer to void or function type
build/src/scipy/base/src/arraytypes.inc(5887): warning #1338: arithmetic
on pointer to void or function type
build/src/scipy/base/src/arraytypes.inc(7151): warning #181: argument is
incompatible with corresponding format string conversion
build/src/scipy/base/src/arraytypes.inc(7171): warning #181: argument is
incompatible with corresponding format string conversion
build/src/scipy/base/src/arraytypes.inc(10381): warning #1338: arithmetic
on pointer to void or function type
scipy/base/src/arrayobject.c(3725): warning #1338: arithmetic on pointer
to void or function type
build/src/scipy/base/__multiarray_api.c(6): warning #1418: external
definition with no prior declaration
scipy/base/src/multiarraymodule.c(4391): warning #1418: external
definition with no prior declaration
icc: Command line warning: ignoring option '-O'; no argument required
build/src/scipy/base/src/umathmodule.c(56): warning #1419: external
declaration in primary source file
scipy/base/src/ufuncobject.c(1164): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1167): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1432): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1483): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1746): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1758): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1811): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1821): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1841): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1907): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1951): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1962): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(1984): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(2051): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(2138): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(2145): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(2195): warning #1338: arithmetic on pointer
to void or function type
scipy/base/src/ufuncobject.c(2592): warning #1338: arithmetic on pointer
to void or function type
build/src/scipy/base/__ufunc_api.c(6): warning #1418: external definition
with no prior declaration
build/src/scipy/base/src/umathmodule.c(8073): warning #1418: external
definition with no prior declaration
icc: Command line warning: ignoring option '-O'; no argument required
scipy/base/src/_compiled_base.c(353): warning #1418: external definition
with no prior declaration
icc: Command line warning: ignoring option '-O'; no argument required
scipy/corelib/fftpack_lite/fftpack.c(1207): warning #1418: external
definition with no prior declaration



-----------

Cephes:

Lib/special/cephes/const.c(92): error: floating-point operation result is
out of range
  double INFINITY = 1.0/0.0;  /* 99e999; */

Lib/special/cephes/const.c(97): warning #1418: external definition with no
prior declaration
  double NAN = 1.0/0.0 - 1.0/0.0;

Lib/special/cephes/const.c(97): error: floating-point operation result is
out of range
  double NAN = 1.0/0.0 - 1.0/0.0;

Lib/special/cephes/const.c(97): error: floating-point operation result is
out of range
  double NAN = 1.0/0.0 - 1.0/0.0;

Lib/special/cephes/const.c(102): warning #1418: external definition with
no prior declaration
  double NEGZERO = -0.0;




More information about the Scipy-dev mailing list