Opinions on using LAPACK?
Hi,
before going into the actual question let me provide the background. I'm currently trying to implement a Chebychev-Jacobi smoother. For the latter I need to know the bounds of the spectrum of the problem matrix / operator. At least the spectral radius. A standard approach for this is using a few steps of CG iteration and then looking at the spectrum of the associated Arnoldi matrix. Let's call the latter T. T is symmetric and tridiagonal (and of low dimension). While the CG iterations are global and require communication, setup of T and computation of its spectrum can be performed sequentially be each MPI process individually. A standard approach for doing so would be to use one of the LAPACK routines such as e.g. DSTEV().
This leads me to my question(s). I'd like to be able to use LAPACK routines from within HyTeG.
- Would you go for the classical FORTRAN77 interface? This takes us (partially) to mixed language programming.
- In the above case would you implement a Fortran2003 conforming interface layer? Or would you delegate things like name-mangling to CMAKE?
- Can I call LAPACK already via Walberla?
- Or would you suggest to use a C-style interface? Like e.g. the on in MKL?
Another question would be how do I add external libraries to the CMAKE build process.
Cheers Marcus