[petsc-users] consistence of PETSC/SLEPC with MPI, BLACS, SCALAPACK calls...

Giacomo Mulas gmulas at oa-cagliari.inaf.it
Mon Nov 27 03:12:25 CST 2017


I am using, within the same C code, both SLEPC/PETSC and Scalapack/Blacs. 
On the big parallel machine on which I do production runs, I compiled
SLEPC/PETSC with the "--known-64-bit-blas-indices" and
"--with-64-bit-indices" options, linking them with the ilp64 version of the
Intel MKL libraries, while on the workstation on which I do the development
I use the standard libraries provided by the (debian, in my case) packaging
system.  For Slepc/Petsc themselves I just use the PETSC data types and this
automagically defines integers of the appropriate size on both machines.

However, when using BLACS, Scalapack and MPI directly in the same code, I
will obviously need to use consistent function definitions for them as well. 
Do I need to set up some complicated independent #ifdef machinery for this
or are there some appropriate PETSC data types that I can use that will
ensure this consistency?  Of course I am including slepc/petsc include
files, so all PETSC data types are defined according to the local
PETSC/SLEPC options.  Can some PETSC developer give me some hint on how to
make my MPI, BLACS, SCALAPACK (and PBLAS etc.) calls clean and consistent
with this? Perhaps even referring to some examples in the PETSC source code
that I can read and take as a reference for this.

Thanks in advance


Giacomo Mulas <gmulas at oa-cagliari.inaf.it>

INAF - Osservatorio Astronomico di Cagliari
via della scienza 5 - 09047 Selargius (CA)

tel.   +39 070 71180255
mob. : +39 329  6603810

"When the storms are raging around you, stay right where you are"
                          (Freddy Mercury)

More information about the petsc-users mailing list