liblapack3gf is a Fortran library. I have a vague idea of how to call such 
things from C, but there are problems with char and row versus column major 
order. I tried a little bit to just use this, but didn't get anywhere with it.

Lapacke is the latest official netlib way of calling lapack from C, which takes 
care of such issues. Basically, it is the latest version of the old clapack 
library originally used in this addon. The calling conventions are 
unfortunately different, but it has the advantage of allowing for row-major, 
which makes the plumbing a little bit simpler. My only complaint about it is, 
as you say, if your system doesn't come with it, you have to build it. Using 
cmake-gui, the build is painless. I kept the files local so they don't 
interfere with other stuff.

Distributing a shared object is troublesome, as the dependencies can get 
complicated. It looked like someone compiled the blas into the lapack.so 
distributed with the original addon, but name collisions kept me from getting 
that right in clapack or standard lapack-3.4.2.

Unfortunately, the installed linux lapack is of an older vintage, and not 
compatible with liblapacke, so, until debian catches up with lapack, you have 
to build it locally. It does link against the atlas blas though, if you want 
that functionality.

-Scott



> I debian, the package liblapack3 which provide liblapack3gf.
> Several other package such as python depend on this package.
> There is additional package liblapacke which depends on liblapack3
> but not installed in my computer.  Can you confirm which of
> these packages corresponds to your shared library?  Is it
> possible to just use linux distro provided package instead
> building it from source?

Вт, 26 фев 2013, Scott Locklin писал(а):

>> I'm in the process of modifying the lapack addon for 64 bit linux. I had a 
>> very hard time building working shared libraries with the old CLAPACK source 
>> (last major update ... 1994 or so), so this is oriented towards the modern 
>> LAPACKE C interface. LAPACKE is part of the main Lapack distribution, and so 
>> it should be available everywhere, though I have no Mac or Windows machines 
>> to test there.
>>
>> The most important piece, geev, is working. gesvd kinda sorta works. Fixing 
>> the rest should be rote plumbing; I'll get to it in the next week or two.
>>
>> I'm still pretty weak at writing J expressions, so if there are any 
>> comments, in particular in the lcall function in lapack.ijs, I'd appreciate 
>> it!
>>  
>> https://github.com/locklin/j-lapacke
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to