[petsc-users] Failed to compile the PETsc-dev with cuda, mpicc can not recognize c++ key word in thrust and cusp

Lei Shi stoneszone at gmail.com
Fri Apr 11 03:26:09 CDT 2014


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-0001.html>


More information about the petsc-users mailing list