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....@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 >