[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