[petsc-dev] Building PETSc on LLNL Lassen

Stefano Zampini stefano.zampini at gmail.com
Mon Dec 14 02:35:10 CST 2020


While we are discussing this dialect stuff, do we still want to test for
gnu++{11|14} extensions before testing for c++{11|14} ? We get warnings
when using KOKKOS since it replaces gnu++14 with c++14. What is the added
value of using gnu++{11|14}?

Il giorno lun 14 dic 2020 alle ore 08:21 Barry Smith <bsmith at petsc.dev> ha
scritto:

>
>   So two configure sins. Setting values running configure without logging
> them into configure.log and setting values without testing them with
> configure tests :-)
>
>   We need to finally deal properly with setting -cbin in configure; just
> defaulting causes all kinds of undebuggable problems. Why can't we also
> just set it to the C++ compiler? Is it because it cannot handle the MPI c++
> compiler so it needs to be set to the underlying C++ compiler?
>
>   Barry
>
>   It is also strange that Jacob's configure.log seems to believe the IBM
> compiler is a GNU compiler (but because of poor logging configure does not
> log this information; fix coming in a MR soon).
>
> On Dec 13, 2020, at 6:32 PM, Junchao Zhang <junchao.zhang at gmail.com>
> wrote:
>
> Jacob,
>   Do you need to add  'CUDAFLAGS=-ccbin xlc++' to specify the host
> compiler for CUDA? Note in cuda.py I added
>
> if self.compilers.cxxdialect in ['C++11','C++14']: #nvcc is a C++
> compiler so it is always good to add -std=xxx. It is even crucial when
> using thrust complex (see MR 2822)
> self.setCompilers.CUDAFLAGS += ' -std=' + self
> .compilers.cxxdialect.lower()
>
>  In your configure.log, there are
>
> #define PETSC_HAVE_CXX_DIALECT_CXX11 1
> #define PETSC_HAVE_CXX_DIALECT_CXX14 1
>
>
> I guess without -ccbin, nvcc uses gcc by default and your gcc does not
> support C++14.
>
> --Junchao Zhang
>
>
> On Sun, Dec 13, 2020 at 1:25 PM Jacob Faibussowitsch <jacob.fai at gmail.com>
> wrote:
>
>> Hello All,
>>
>> Does anyone have any experience building petsc with cuda support on
>> Lassen? I’ve been having trouble building with ibm xl compilers +
>> spectrum-mpi + nvcc. NVCC seems to not like -std=c++14 argument,
>> complaining that its configured host compiler doesn’t support it, but
>> compiling the following “test.cc":
>>
>> #include <stdlib.h>
>>
>> int main(int argc, char **argv)
>> {
>>
>>   int i = 1;
>>   i += argc;
>>   return(i);
>> }
>>
>> With mpicc -std=c++14 test.cc produces zero errors.
>> ------------------------------------------------------------------------
>>
>> Modules loaded:
>>
>> module load xl/2020.11.12-cuda-11.1.1
>>
>> module load spectrum-mpi
>> module load cuda/11.1.1
>> module load python/3.8.2
>> module load cmake
>> module load valgrind
>> module load lapack
>>
>> My configure commands:
>>
>> ./configure  --with-cc=mpicc --with-cxx=mpiCC --with-fc=mpifort
>> --with-cuda --with-debugging=1 PETSC_ARCH=arch-linux-c-debug
>>
>> The error:
>>
>> TESTING: findMPIInc from
>> config.packages.MPI(config/BuildSystem/config/packages/MPI.py:636)
>>   *******************************************************************************
>>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for
>> details):
>>
>> -------------------------------------------------------------------------------
>> Bad compiler flag:
>> -I/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-rolling-release/include
>>
>> *******************************************************************************
>>
>> The actual configure.log error:
>>
>> Executing: nvcc -c -o
>> /var/tmp/petsc-2v0k4k61/config.setCompilers/conftest.o
>> -I/var/tmp/petsc-2v0k4\
>> k61/config.setCompilers -I/var/tmp/petsc-2v0k4k61/config.types  -g
>> -std=c++14 -I/usr/tce/packages/s\
>> pectrum-mpi/ibm/spectrum-mpi-rolling-release/include  -Wno-deprecated-gpu-targets
>> /var/tmp/petsc-2v\
>> 0k4k61/config.setCompilers/conftest.cu
>> Possible ERROR while running compiler:
>> stderr:
>> nvcc warning : The -std=c++14 flag is not supported with the configured
>> host compiler. Flag will be\
>>  ignored.
>> Source:
>> #include "confdefs.h"
>> #include "conffix.h"
>>
>> int main() {
>> ;
>>   return 0;
>> }
>>                   Rejecting compiler flag
>> -I/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-rolling-release/include  due
>> to
>> nvcc warning : The -std=c++14 flag is not supported with the configured
>> host compiler. Flag will be ignored.
>>
>>
>> Best regards,
>>
>> Jacob Faibussowitsch
>> (Jacob Fai - booss - oh - vitch)
>> Cell: (312) 694-3391
>>
>
>

-- 
Stefano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20201214/d334e458/attachment-0001.html>


More information about the petsc-dev mailing list