Hi, Maybe I'm wrong but I think the following options are missing if you want to use C++:
--with-cxx=(g++ or icc....) --with-clanguage=cxx Christophe > > Message: 2 > Date: Fri, 11 Apr 2014 03:26:09 -0500 > From: Lei Shi <[email protected]> > To: [email protected] > Subject: [petsc-users] Failed to compile the PETsc-dev with cuda, > mpicc can not recognize c++ key word in thrust and cusp > Message-ID: > <CAEV8= > [email protected]> > Content-Type: text/plain; charset="utf-8" > > Hi guys, > > I tried to compile petsc-dev with cuda5, but failed. I think the problem > is the PETsc-dev with cuda, mpicc can not recognize c++ key word in thrust > and cusp. Please help me out. here is my option file > > configure_options = [ > > > '--with-shared-libraries=0', > > > '--with-mpi-dir=/media/public/MPICH3/mpich-install/', > > > '--with-cuda=1', > > > '--with-cuda-dir=/usr/local/cuda', > > > '--with-cudac=/usr/local/cuda/bin/nvcc', > > > '--with-cuda-arch=sm_20', > > > '--with-cusp-dir=/usr/local/cuda/include/cusp', > > > '--with-thrust=1', > > > '--with-cusp=1', > > > '--with-debugging=0', > > > '--with-precision=double', > > > 'COPTFLAGS=-O3', > > > 'CXXOPTFLAGS=-O3', > > > 'FOPTFLAGS=-O3', > > > ] > > and the error i got > > ------------------------------------------------------------------------------------------- > > =============================================================================== > > > Configuring PETSc to compile on your system > > > > =============================================================================== > > > TESTING: alternateConfigureLibrary from > PETSc.packages.petsc4py(config/PETSc/packages/petsc4py.py:65) > \ > Compilers: > > > C Compiler: /media/public/MPICH3/mpich-install/bin/mpicc -Wall > -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -O3 > > CUDA Compiler: /usr/local/cuda/bin/nvcc -O -arch=sm_20 > > > C++ Compiler: /media/public/MPICH3/mpich-install/bin/mpicxx -Wall > -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -O3 > > Linkers: > > > Static linker: /usr/bin/ar cr > > > Dynamic linker: /usr/bin/ar > > > make: > > > MPI: > > > Includes: -I/media/public/MPICH3/mpich-install/include > > > BLAS/LAPACK: -llapack -lblas > > > X: > > > Library: -lX11 > > > pthread: > > > Library: -lpthread > > > valgrind: > > > cuda: > > > Includes: -I/usr/local/cuda/include > > > Library: -Wl,-rpath,/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 > -lcufft -lcublas -lcudart -lcusparse > > Arch: -arch=sm_20 > > > cusp: > > > Includes: -I/usr/local/cuda/include/cusp/ > -I/usr/local/cuda/include/cusp/include > > thrust: > > > sowing: > > > c2html: > > > PETSc: > > > PETSC_ARCH: arch-cuda5-cg-opt > > > PETSC_DIR: /home/leishi/work/development/3rd_party/petsc/petsc > > > Clanguage: C > > > Memory alignment: 16 > > > Scalar type: real > > > Precision: double > > > shared libraries: disabled > > > > xxx=========================================================================xxx > > > Configure stage complete. Now build PETSc libraries with (gnumake build): > > > make PETSC_DIR=/home/leishi/work/development/3rd_party/petsc/petsc > PETSC_ARCH=arch-cuda5-cg-opt all > > > xxx=========================================================================xxx > > > Using C/C++ compile: /media/public/MPICH3/mpich-install/bin/mpicc -c -Wall > -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -O3 > -I/home/leishi/work/development/3rd_party/pet\ > sc/petsc/include > > -I/home/leishi/work/development/3rd_party/petsc/petsc/arch-cuda5-cg-opt/include > -I/usr/local/cuda/include -I/usr/local/cuda/include/cusp/ > -I/usr/local/cuda/include/cus\ > p/include -I/media/public/MPICH3/mpich-install/include > > > mpicc -show: gcc -I/media/public/MPICH3/mpich-install/include > -L/media/public/MPICH3/mpich-install/lib -lmpich -lopa -lmpl -lrt -lpthread > > Using CUDA compile: /usr/local/cuda/bin/nvcc -O -arch=sm_20 -c > --compiler-options=-Wall -Wwrite-strings -Wno-strict-aliasing > -Wno-unknown-pragmas -O3 -I/home/leishi/work/development/3\ > rd_party/petsc/petsc/include > > -I/home/leishi/work/development/3rd_party/petsc/petsc/arch-cuda5-cg-opt/include > -I/usr/local/cuda/include -I/usr/local/cuda/include/cusp/ > -I/usr/local/cuda\ > /include/cusp/include -I/media/public/MPICH3/mpich-install/include > > > ----------------------------------------- > > > Using C/C++ linker: /media/public/MPICH3/mpich-install/bin/mpicc > > > Using C/C++ flags: -Wall -Wwrite-strings -Wno-strict-aliasing > -Wno-unknown-pragmas -O3 > > ----------------------------------------- > > > Using libraries: > -L/home/leishi/work/development/3rd_party/petsc/petsc/arch-cuda5-cg-opt/lib > -lpetsc -llapack -lblas -lX11 -lpthread -Wl,-rpath,/usr/local/cuda/lib64 > -L/usr/local/cuda\ > /lib64 -lcufft -lcublas -lcudart -lcusparse -lm > -L/media/public/MPICH3/mpich-install/lib > -L/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/usr/lib/x86_64-linux-gnu > -L/lib/x86_64-linux-gnu -L/usr/\ > lib/gcc/x86_64-linux-gnu/4.8 -lmpichcxx -lstdc++ -ldl -lmpich -lopa -lmpl > -lrt -lpthread -lgcc_s -ldl > > ------------------------------------------ > > > Using mpiexec: /media/public/MPICH3/mpich-install/bin/mpiexec > > > ========================================== > > > Building PETSc using GNU Make with 18 build threads > > > ========================================== > > > make[2]: Entering directory > `/home/leishi/work/development/3rd_party/petsc/petsc' > > > Use "/usr/bin/make V=1" to see the verbose compile lines. > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/arch.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/fhost.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/fuser.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/memc.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/mpiu.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/psleep.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/sortd.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/sorti.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/str.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/sortip.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/pbarrier.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/pdisplay.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/ctable.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/psplit.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/select.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/mpimesg.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/sseenabled.o > > > CC arch-cuda5-cg-opt/obj/src/sys/utils/mpitr.o > > > > In file included from /usr/local/cuda/include/cusp/detail/config.h:24:0, > > > from /usr/local/cuda/include/cusp/complex.h:63, > > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscmath.h:145, > > > from > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscsys.h:366, > > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/include/petsc-private/petscimpl.h:8, > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/src/sys/objects/options.c:14: > > > /usr/local/cuda/include/thrust/version.h:69:1: error: unknown type name > ?namespace? > > /usr/local/cuda/include/thrust/version.h:70:1: error: expected ?=?, ?,?, > ?;?, ?asm? or ?__attribute__? before ?{? token > > In file included from > > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscmath.h:145:0, > > > from > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscsys.h:366, > > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/include/petsc-private/petscimpl.h:8, > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/src/sys/objects/options.c:14: > > > /usr/local/cuda/include/cusp/complex.h:70:19: fatal error: complex: No such > file or directory > > compilation terminated. > > > CC arch-cuda5-cg-opt/obj/src/sys/objects/state.o > > > CC arch-cuda5-cg-opt/obj/src/sys/objects/aoptions.o > > > CC arch-cuda5-cg-opt/obj/src/sys/objects/subcomm.o > > > In file included from /usr/local/cuda/include/cusp/detail/config.h:24:0, > > > from /usr/local/cuda/include/cusp/complex.h:63, > > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscmath.h:145, > > > from > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscsys.h:366, > > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/src/sys/objects/init.c:10: > > > /usr/local/cuda/include/thrust/version.h:69:1: error:* unknown type name > ?namespace? * > > /usr/local/cuda/include/thrust/version.h:70:1: error: expected ?=?, ?,?, > ?;?, ?asm? or ?__attribute__? before ?{? token > > In file included from > > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscmath.h:145:0, > > > from > /home/leishi/work/development/3rd_party/petsc/petsc/include/petscsys.h:366, > > > from > > /home/leishi/work/development/3rd_party/petsc/petsc/src/sys/objects/init.c:10: > > > /usr/local/cuda/include/cusp/complex.h:70:19: fatal error: complex: No such > file or directory > > > > make: *** [all] Error 1 > > Sincerely Yours, > > Lei Shi > --------- > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140411/4831a810/attachment.html > > > > ------------------------------ > > _______________________________________________ > petsc-users mailing list > [email protected] > https://lists.mcs.anl.gov/mailman/listinfo/petsc-users > > > End of petsc-users Digest, Vol 64, Issue 26 > ******************************************* > > ---------------------------- > Confidencialidad: > Este mensaje y sus ficheros adjuntos se dirige exclusivamente a su > destinatario y puede contener información privilegiada o confidencial. Si > no es vd. el destinatario indicado, queda notificado de que la utilización, > divulgación y/o copia sin autorización está prohibida en virtud de la > legislación vigente. Si ha recibido este mensaje por error, le rogamos que > nos lo comunique inmediatamente respondiendo al mensaje y proceda a su > destrucción. > > Disclaimer: > This message and its attached files is intended exclusively for its > recipients and may contain confidential information. If you received this > e-mail in error you are hereby notified that any dissemination, copy or > disclosure of this communication is strictly prohibited and may be > unlawful. In this case, please notify us by a reply and delete this email > and its contents immediately. > ---------------------------- > >
