Page 1 of 1

Choice between BLACS and MPI as interface

PostPosted: Wed Oct 31, 2012 1:09 pm
by fletchjp
I have some code which uses both ScaLAPACK and PARPACK. I originally wrote it in the days when PVM was the thing to use and then converted it to use MPI, but retained the BLACS interface to PARPACK.

Is there any point to using BLACS now? I have the PARPACK as defined in the latest arpack-ng package which can build the MPI interface but does not have an option to build the BLACS version although the source code is there.

I either need to make the BLACS version of the PARPACK library or else convert my user code calls from BLACS to MPI.

BLACS is defined as a standard interface to use - see http://www.netlib.org/blacs/ - but does that make sense now? Is MPI the defacto standard anyway?

I know that ScaLAPACK contains BLACS.

I have tried to search for discussion of this topic on this list, but have not found anything.

John

Re: Choice between BLACS and MPI as interface

PostPosted: Wed Oct 31, 2012 3:38 pm
by rodney
John,

At this point, it would probably be best to choose MPI as the interface rather than the BLACS.

Rodney

Re: Choice between BLACS and MPI as interface

PostPosted: Fri Nov 02, 2012 9:33 am
by fletchjp
I think I have been confused here, as ScaLAPACK uses BLACS anyway, and I need ScaLAPACK calls in my code as well as Parpack calls.

I have found this reference in the archive where someone was attempting to make ScaLAPACK work with MPI instead of BLACS:

archives/scalapack/msg00065.html

John

Re: Choice between BLACS and MPI as interface

PostPosted: Mon Nov 05, 2012 6:31 am
by fletchjp
I need to add a warning to this thread.

The parpack library is built from the distribution of arpack-ng as follows

Code: Select all
./configure --with-mpi


This means what it says, it builds not only the parpack code for MPI but also includes blas, lapack and mpi in the library. I tried turning the blas option off and configure will not run.

These options are fine if that is what you want e.g. for parpack on its own.

I want to use parpack with ScaLAPACK as well and I do not need the parpack library to also include extra things. In particular, there is a compatibility problem with the mpi include.

So be warned, if you want to combine parpack with ScaLAPACK.

My solution has been to compile and link only those routines from parpack which I need. That leaves me free to use whatever mpi, blas and lapack I wish.

John