[SciPy-dev] Do we care about the LAPACK C interface?

Robert Kern robert.kern at gmail.com
Fri Nov 7 22:50:26 EST 2008


On Fri, Nov 7, 2008 at 21:42, David Cournapeau <cournape at gmail.com> wrote:
> On Sat, Nov 8, 2008 at 8:43 AM, Robert Kern <robert.kern at gmail.com> wrote:
>> On Fri, Nov 7, 2008 at 17:27, Travis E. Oliphant <oliphant at enthought.com> wrote:
>>>
>>> Hi all,
>>>
>>> I'm sitting here in a BOF with Clint Whaley (the author of ATLAS).  He
>>> is looking for information about people that care about the C interface
>>> to LAPACK.  Do we care?
>>>
>>> I'm not clear on that.  Don't we just use the FORTRAN interfaces to ATLAS?
>>>
>>> If I hear from you soon, I can give Clint the information before I leave
>>> the BOF.
>>
>> Query: Are you talking about just the C interface to LAPACK or the C
>> interface to the BLAS, too? I definitely want to keep the BLAS C
>> interface.
>
> I agree cblas is more interesting than clapack. In theory, we could
> wrap more cblas into numpy, without the need of any fortran compiler.
> There is also technical difference between clapack and cblas: clapack
> interface is a fortran-like interfance (everything passed by
> reference, same name than lapack), contrary to cblas which is more C.
> This makes clapack quite confusing, actually, and not always even
> usable at the same time as LAPACK (because of name collision).
>
>> It would be nice if there were a C interface to the entire
>> LAPACK, but I don't think that ATLAS (or anyone else) provides that
>> currently.
>
> I am  not 100 % positive, but I think the accelerate framework offers
> a clapack interface. AMD, too, may offer a clapack interface. It is
> not always obvious whereas a given interface is lapack or clapack
> (since the names are the same).

I don't think that's what we're talking about, here. The CLAPACK that
you are talking about is already accomplished, and is just the result
of f2c'ing the Fortran LAPACK sources; it is available here:

  http://netlib.org/clapack/

That is what is in OS X's Accelerate.framework, too.

The C interface to LAPACK is a new effort by ATLAS (at least) along
the same lines as the C interface to BLAS (pass-by-value for integer
arguments, etc.). It is not yet complete, but you can see the current
state in ATLAS/interfaces/lapack/C/src/ in the ATLAS 3.9.4 source
tarball.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco



More information about the SciPy-Dev mailing list