Dear Firedrakers, David has been helping me by implementing a way of assembling the inverse of a local tensor. This involves calling LAPACK routines, and we realised that the big problem is how to locate clapack, and how to link against it. The only approach we could think of was that scipy.linalg.lapack builds a clapack.so. Then, we could make our own header file that contains the interfaces to the LAPACK routines that we want to use, and compile aginst clapack.so. We really don't want to replicate some kind of CMAKE approach to locating libraries for COFFEE. What is the best way to do this? cheers --cjc
On 9 Feb 2015, at 18:11, Colin Cotter <colin.cotter@imperial.ac.uk> wrote:
Dear Firedrakers, David has been helping me by implementing a way of assembling the inverse of a local tensor. This involves calling LAPACK routines, and we realised that the big problem is how to locate clapack, and how to link against it.
The only approach we could think of was that scipy.linalg.lapack builds a clapack.so. Then, we could make our own header file that contains the interfaces to the LAPACK routines that we want to use, and compile aginst clapack.so. We really don't want to replicate some kind of CMAKE approach to locating libraries for COFFEE.
Use Eigen, which is header only? Lawrence
Hi Colin, I currently use Lapack (lapacke) and BLAS (cblas) to invert the columnwise banded matrices. See https://github.com/firedrakeproject/firedrake-helmholtzsolver/blob/master/so... I modified the PyOP2 Kernel class so that it can be passed headers and libraries to load at compile time: https://github.com/OP2/PyOP2/commit/c147a2aed5c414144119c0898afbf54c699a548a I guess this doesn't really help with your problem, since I still need to explicitly put down the names (and in my case the libraries are already in the search path), and they differ for example on my laptop and ARCHER. But if you find a solution for automatically loading the correct libraries, that would help in my code as well. Cheers, Eike -- Dr Eike Hermann Mueller Research Associate (PostDoc) Department of Mathematical Sciences University of Bath Bath BA2 7AY, United Kingdom +44 1225 38 5633 e.mueller@bath.ac.uk http://people.bath.ac.uk/em459/
On 9 Feb 2015, at 18:15, Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> wrote:
On 9 Feb 2015, at 18:11, Colin Cotter <colin.cotter@imperial.ac.uk> wrote:
Dear Firedrakers, David has been helping me by implementing a way of assembling the inverse of a local tensor. This involves calling LAPACK routines, and we realised that the big problem is how to locate clapack, and how to link against it.
The only approach we could think of was that scipy.linalg.lapack builds a clapack.so. Then, we could make our own header file that contains the interfaces to the LAPACK routines that we want to use, and compile aginst clapack.so. We really don't want to replicate some kind of CMAKE approach to locating libraries for COFFEE.
Use Eigen, which is header only?
Lawrence _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
participants (3)
- 
                
                Colin Cotter
- 
                
                Eike Mueller
- 
                
                Lawrence Mitchell