[petsc-users] installing petsc via spack on ac922 (a summit like system)

Cameron Smith smithc11 at rpi.edu
Tue Mar 10 08:27:02 CDT 2020


That makes sense.  Thank you.

-Cameron

On 3/10/20 9:25 AM, Satish Balay wrote:
> PETSc configure attempts to check for compiler libraries [so that one
> can mix and use c,c++,fortran codes with a c linker] by running
> compilers in verbose mode - and parsing the output. [i.e checkCLibraries(), checkFortranLibraries() ..]
> 
> Here IBM compiler is using different library internally based on 'xlc -V' vs 'xlc -fopenmp -V'. For most other compilers - its just an additional library [with corresponding include file]
> 
> So -fopenmp needs to be set before this step [checkCLibraries()] in configure.
> 
> PETSc configure treats -with-openmp as an additional package - and process this option after the above checkCLibraries() check.
> 
> However CFLAGS etc get processed and set before the call to checkCLibraries().
> 
> My suggestion is a workaround to get -fopenmp option set before checkCLibraries() are called.
> 
> Satish
> 
> On Tue, 10 Mar 2020, Cameron Smith wrote:
> 
>> Thank you.  I'll give that a shot.
>>
>> Out of curiosity, how does passing the openmp flags relate to the
>> '--with-openmp' option described here:
>>
>> https://www.mcs.anl.gov/petsc/documentation/installation.html
>>
>> under 'Installing packages that utilize OpenMP'?  Is this just passing the
>> openmp flags into compile/link commands of the packages that petsc builds
>> (via, --download-<package> options) and not to the petsc compile/link?
>>
>> -Cameron
>>
>> On 3/10/20 9:01 AM, Satish Balay wrote:
>>> BTW: You might be able to do the same via spack.
>>>
>>> spack install petsc at 3.7.7 ~hdf5 ~hypre ~superlu-dist cflags=-fopenmp
>>> fflags=-fopenmp cxxflags=-fopenmp
>>>
>>> Satish
>>>
>>> On Tue, 10 Mar 2020, Satish Balay via petsc-users wrote:
>>>
>>>> Cameron,
>>>>
>>>> You can try changing following petsc configure options and see if that
>>>> works.. [i.e build petsc manually]
>>>>
>>>> CFLAGS=-fopenmp FFLAGS=-fopenmp CXXFLAGS=-fopenmp
>>>>
>>>> Satish
>>>>
>>>> On Tue, 10 Mar 2020, Cameron Smith wrote:
>>>>
>>>>> Thank you Mark.
>>>>>
>>>>> The configure.log is attached.
>>>>>
>>>>> Please let me know if any other info is needed.
>>>>>
>>>>> -Cameron
>>>>>
>>>>> On 3/10/20 7:31 AM, Mark Adams wrote:
>>>>>> Hi Cameron,
>>>>>>
>>>>>> This can go on the list and we always want the configure.log file.
>>>>>>
>>>>>> I build on Summit, but have not used the XL compilers. I've built 3.7.7
>>>>>> with
>>>>>> GNU and PGI. (XGC usually wants PGI)
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Mar 9, 2020 at 11:27 PM Cameron Smith <smithc11 at rpi.edu
>>>>>> <mailto:smithc11 at rpi.edu>> wrote:
>>>>>>
>>>>>>       Hello,
>>>>>>
>>>>>>       I'm installing petsc 3.7.7 on a summit like system with the
>>>>>>       following
>>>>>>       spack spec:
>>>>>>
>>>>>>       petsc at 3.7.7 ~hdf5 ~hypre ~superlu-dist
>>>>>>
>>>>>>       with the XL 16.1.1 compiler and Spectrum MPI 10.3 .  This install
>>>>>>       produces a `/path/to/petsc/install/lib/petsc/conf/petscvariables`
>>>>>>       file
>>>>>>       that contains '-lxlomp_ser' in the 'PETSC_EXTERNAL_LIB_BASIC' and
>>>>>>       'PETSC_WITH_EXTERNAL_LIB' variables.
>>>>>>
>>>>>>       The application I'm building, XGC, has a makefile based build system
>>>>>>       that includes '/path/to/petsc/install/lib/petsc/conf/variables'
>>>>>>       which in
>>>>>>       turn includes '/lib/petsc/conf/petscvariables'.
>>>>>>
>>>>>>        From what I can tell, xlomp_ser is a serial implementation of the
>>>>>>       openmp library.  When XGC links this library it satisfies the openmp
>>>>>>       symbols XGC wants and at run time results in openmp API calls like
>>>>>>       'omp_get_max_threads()' returning 1 regardless of the
>>>>>>       OMP_NUM_THREADS
>>>>>>       setting.
>>>>>>
>>>>>>       Do you know how I can build petsc, with or without spack, and avoid
>>>>>>       this
>>>>>>       library being listed in 'lib/petsc/conf/petscvariables'?
>>>>>>
>>>>>>       If this should go to a petsc mailing list or git repo issues page I
>>>>>>       can
>>>>>>       send it there.
>>>>>>
>>>>>>       Thank-you,
>>>>>>       Cameron
>>>>>>
>>>>>
>>>>>
>>>>
>>
>>


More information about the petsc-users mailing list