[petsc-dev] Sequential external packages and MPI
Jed Brown
jed at jedbrown.org
Thu Aug 22 03:21:20 CDT 2019
"Smith, Barry F. via petsc-dev" <petsc-dev at mcs.anl.gov> writes:
>> Our Metis wrapper is marked as a sequential one, but since you are linking libmetis with MPI, this is problematic for some configurations.
>
> What is your work flow? Are you using --prefix to compile particular combinations of external packages and put them in the prefix directory ? Then you can make PETSc builds and just use --with-xxx-dir=/prefixlocation to use them when building PETSc?
>
> With this model you can use the sequential compilers for the sequential libraries and the MPI ones for the MPI libraries for example
>
> ./configure --download-metis --with-mpi=0 --prefix=/home/bsmith/myprebuilts
>
> ./configure --download-parmetis --with-metis-dir=/home/bsmith/myprebuilts --prefix=/home/bsmith/myprebuilts
>
> For a sequential PETSc build that uses metis then
>
> ./configure --with-metis-dir=/home/bsmith/myprebuilts ....--with-mpi=0
>
> For a parallel PETSc build
>
> /configure --with-metis-dir=/home/bsmith/myprebuilts --with-parmetis-dir=/home/bsmith/myprebuilts.
What if Pierre were to pull out the underlying compilers to configure
without mpicc wrappers, something like
./configure CC=gcc CXX=g++ --with-mpi-include=... --with-mpi-lib=...
Packages that don't framework.require MPI shouldn't be linked to MPI.
More information about the petsc-dev
mailing list