On Tue, Jan 20, 2009 at 06:13, John Peterson <jwpeterson@...> wrote:
> On Tue, Jan 20, 2009 at 7:58 AM, Roy Stogner <roystgnr@...> wrote:
>>
>> On Tue, 20 Jan 2009, Petry Stefan wrote:
>>
>>> is der anybody who has used the Intel Math Kernel Library for
>>> solving equationsystem? If yes, can anybody tell me how I can use
>>> this with libMesh  systemmatrix?
>>
>> You can't use it directly, but the linear algebra packages libMesh
>> links to can use it. Compile PETSc with the Intel MKL, then compile
>> libMesh with your PETSC_DIR/PETSC_ARCH pointing to that PETSc build.
Unfortunately, having a fast BLAS doesn't make as much difference as
you might hope for sparse linear algebra due to memory bandwidth
limitations when the working set doesn't fit in L1. It's still worth
telling PETSc to use the BLAS, Lapack, and ScaLapack from MKL, but
it's not likely to make a big difference. The most useful part of MKL
for us is probably the sparse direct solver called PARDISO. (The
iterative stuff in MKL is pretty weak compared to PETSc.) PARDISO
uses a shared memory model which I guess is the reason it's not an
option in PETSc. As an alternative, I would suggest trying MUMPS and
UMFPACK which you can get with
download{blacs,scalapack,mumps,umfpack}.
> It might be kind of a fun project to reimplement some of the
> DenseMatrix member functions to use Lapack/BLAS routines.
Keep in mind that it's pretty common for these matrices to be so small
that BLAS will be slower.
Jed
