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.<div>
<br></div><div><div><font face="courier new, monospace"> def configureLibrary(self):</font></div><div><font face="courier new, monospace"> ''' Checks for -fopenmp compiler flag'''</font></div><div>
<font face="courier new, monospace"> ''' Needs to check if OpenMP actually exists and works '''</font></div><div><font face="courier new, monospace"> self.setCompilers.pushLanguage('C')</font></div>
<div><font face="courier new, monospace"> # </font></div><div><font face="courier new, monospace"> for flag in ["-fopenmp", # Gnu</font></div><div><font face="courier new, monospace"> "-h omp", # Cray</font></div>
<div><font face="courier new, monospace"> "-mp", # Portland Group</font></div><div><font face="courier new, monospace"> "-Qopenmp", # Intel windows</font></div><div>
<font face="courier new, monospace"> "-openmp", # Intel</font></div><div><font face="courier new, monospace"> " ", # Empty, if compiler automatically accepts openmp</font></div>
<div><font face="courier new, monospace"> "-xopenmp", # Sun</font></div><div><font face="courier new, monospace"> "+Oopenmp", # HP</font></div><div><font face="courier new, monospace"> "-qsmp", # IBM XL C/c++</font></div>
<div><font face="courier new, monospace"> "/openmp" # Microsoft Visual Studio</font></div><div><font face="courier new, monospace"> ]:</font></div><div><font face="courier new, monospace"> if self.setCompilers.checkCompilerFlag(flag):</font></div>
<div><font face="courier new, monospace"> ompflag = flag</font></div><div><font face="courier new, monospace"> break</font></div></div><div><br></div>