<div dir="ltr"><div>Jacob,</div><div>  Do you need to add  'CUDAFLAGS=-ccbin xlc++' to specify the host compiler for CUDA? Note in cuda.py I added</div><div><br></div><div><div style="color:rgb(0,0,0);font-family:Menlo,Monaco,"Courier New",monospace;font-size:14px;line-height:21px;white-space:pre"><div>    <span style="color:rgb(175,0,219)">if</span> <span style="color:rgb(0,0,255)">self</span>.compilers.cxxdialect <span style="color:rgb(0,0,255)">in</span> [<span style="color:rgb(163,21,21)">'C++11'</span>,<span style="color:rgb(163,21,21)">'C++14'</span>]: <span style="color:rgb(0,128,0)">#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)</span></div><div>      <span style="color:rgb(0,0,255)">self</span>.setCompilers.CUDAFLAGS += <span style="color:rgb(163,21,21)">' -std='</span> + <span style="color:rgb(0,0,255)">self</span>.compilers.cxxdialect.lower()</div></div></div><div><br></div><div> In your configure.log, there are </div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>#define PETSC_HAVE_CXX_DIALECT_CXX11 1</div><div>#define PETSC_HAVE_CXX_DIALECT_CXX14 1</div></blockquote><div><br></div><div>I guess without -ccbin, nvcc uses gcc by default and your gcc does not support C++14.</div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">--Junchao Zhang</div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 13, 2020 at 1:25 PM Jacob Faibussowitsch <<a href="mailto:jacob.fai@gmail.com">jacob.fai@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">Hello All,<div><br></div><div>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 “<a href="http://test.cc" target="_blank">test.cc</a>":</div><div><br></div><div>#include <stdlib.h><br><br>int main(int argc, char **argv)<br>{                                                                                                   <br>  int i = 1;<br>  i += argc;<br>  return(i);<br>}<br><br></div><div>With mpicc -std=c++14 <a href="http://test.cc" target="_blank">test.cc</a> produces zero errors. </div><div>------------------------------------------------------------------------</div><div><br></div><div>Modules loaded:</div><div><br></div><div>module load xl/2020.11.12-cuda-11.1.1                                                               <br>module load spectrum-mpi<br>module load cuda/11.1.1<br>module load python/3.8.2<br>module load cmake<br>module load valgrind<br>module load lapack<br><br></div><div>My configure commands:</div><div><br></div><div>./configure  --with-cc=mpicc --with-cxx=mpiCC --with-fc=mpifort --with-cuda --with-debugging=1 PETSC_ARCH=arch-linux-c-debug</div><div><br></div><div>The error:</div><div><br></div><div>TESTING: findMPIInc from config.packages.MPI(config/BuildSystem/config/packages/MPI.py:636)         *******************************************************************************<br>         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):<br>-------------------------------------------------------------------------------<br>Bad compiler flag: -I/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-rolling-release/include<br>*******************************************************************************</div><div><br></div><div>The actual configure.log error:</div><div><br></div><div>Executing: nvcc -c -o /var/tmp/petsc-2v0k4k61/config.setCompilers/conftest.o -I/var/tmp/petsc-2v0k4\<br>k61/config.setCompilers -I/var/tmp/petsc-2v0k4k61/config.types  -g -std=c++14 -I/usr/tce/packages/s\<br>pectrum-mpi/ibm/spectrum-mpi-rolling-release/include  -Wno-deprecated-gpu-targets /var/tmp/petsc-2v\<br>0k4k61/config.setCompilers/<a href="http://conftest.cu" target="_blank">conftest.cu</a> <br>Possible ERROR while running compiler:<br>stderr:<br>nvcc warning : The -std=c++14 flag is not supported with the configured host compiler. Flag will be\<br> ignored.<br>Source:<br>#include "confdefs.h"<br>#include "conffix.h"<br><br>int main() {<br>;<br>  return 0;<br>}<br>                  Rejecting compiler flag -I/usr/tce/packages/spectrum-mpi/ibm/spectrum-mpi-rolling-release/include  due to <br>nvcc warning : The -std=c++14 flag is not supported with the configured host compiler. Flag will be ignored.</div><div><br></div><div><br></div><div><div>
<div dir="auto" style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><div>Best regards,<br><br>Jacob Faibussowitsch<br>(Jacob Fai - booss - oh - vitch)<br>Cell: (312) 694-3391</div></div>

</div>

</div></div><div style="overflow-wrap: break-word;"><div></div></div></blockquote></div>