[petsc-dev] OpenMP support

Gerard Gorman g.gorman at imperial.ac.uk
Mon Feb 13 09:28:23 CST 2012


Hi

I have been working with Lawrence Mitchell and Michele Weiland at EPCC
to add OpenMP support to the mat/vec classes and we are at the stage
that we would like to give other other people a chance to play with it.

Lawrence put a branch on bitbucket if you want to browse:
https://bitbucket.org/wence/petsc-dev-omp/overview

I think that there is a lot in there that needs
discussion(/modification), so I propose that we try to break this into a
number of discussions/steps (also I do not want to write a several page
email).

I am making the assumption here that OpenMP is interesting enough to
want to put in PETSc. Other than the garden variety multicore, it can
also be used on Intel MIC. Does this need further discussion?

As a first step - can we add OpenMP support to PETSc conf? Lawrence made
a first pass at this:
https://bitbucket.org/wence/petsc-dev-omp/src/52afd5fd2c25/config/PETSc/packages/openmp.py
It does need extending because it will fail in it is current state for a
number of compilers. I am guessing we would have to reimplement
something like ax_openmp or similar...what is the right thing to do here?

Regarding cmake - I only recently learned cmake myself and I have been
using:
FIND_PACKAGE(OpenMP) (i.e. cmake does all the heavy lifting in
FindOpenMP.cmake which it provides). However, as PETSc does not appear
to use the find_package feature I am not sure what approach should be
adopted for PETSc. Suggestions?

Cheers
Gerard




More information about the petsc-dev mailing list