[petsc-dev] OpenMP compiler options
Jed Brown
jedbrown at mcs.anl.gov
Tue May 29 10:59:26 CDT 2012
On Tue, May 29, 2012 at 10:56 AM, Satish Balay <balay at mcs.anl.gov> wrote:
> Perhaps the 'empty' flag check should be at the begining of the list..
>
No, because most compilers ignore the pragmas when no options are given. I
do not know of any portable way, short of running code, to determine
whether a compiler used the OpenMP pragmas or ignored them.
>
> [we do have other places in configure where we fix the order in which
> flags are checked - due to similar conflicts between compilers]
>
> Satish
>
> On Tue, 29 May 2012, Jed Brown wrote:
>
> > The OpenMP flags do not definitively identify that OpenMP is used. In
> > particular, IBM XL interprets Cray's option "-h omp" as being equivalent
> to
> > "-soname omp", then silently ignores the Open MP pragmas. We can perhaps
> > "fix" this instance by moving -qsmp up in the list, but we may eventually
> > need to move it to compilerOptions.py.
> >
> > def configureLibrary(self):
> > ''' Checks for -fopenmp compiler flag'''
> > ''' Needs to check if OpenMP actually exists and works '''
> > self.setCompilers.pushLanguage('C')
> > #
> > for flag in ["-fopenmp", # Gnu
> > "-h omp", # Cray
> > "-mp", # Portland Group
> > "-Qopenmp", # Intel windows
> > "-openmp", # Intel
> > " ", # Empty, if compiler automatically accepts
> > openmp
> > "-xopenmp", # Sun
> > "+Oopenmp", # HP
> > "-qsmp", # IBM XL C/c++
> > "/openmp" # Microsoft Visual Studio
> > ]:
> > if self.setCompilers.checkCompilerFlag(flag):
> > ompflag = flag
> > break
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120529/f717e993/attachment.html>
More information about the petsc-dev
mailing list