[Numpy-discussion] BLAS and LAPACK ABI questions (mostly OSX related)

Sturla Molden sturla.molden at gmail.com
Sun Jun 8 20:36:57 EDT 2014


NumPy seems to define BLAS and LAPACK functions with gfortran ABI:

https://github.com/numpy/numpy/blob/master/numpy/linalg/umath_linalg.c.src#L289

extern float
FNAME(sdot)(int *n,
            float *sx, int *incx,
            float *sy, int *incy);

What happens on OS X where Accelerate Framework uses f2c ABI?  SciPy has C
wrappers for Accelerate to deal with this. Should NumPy adopt those as
well?

And while we are at it, why are LAPACK subroutines declared to return int?
I thought a Fortran subroutine should map to a void function in C. From the
same file:

extern int
FNAME(dgesv)(int *n, int *nrhs,
             double a[], int *lda,
             int ipiv[],
             double b[], int *ldb,
             int *info);


Sturla




More information about the NumPy-Discussion mailing list