[petsc-users] pets-3.1-p6 with CUDA: Unknown vector type: cuda!

Barry Smith bsmith at mcs.anl.gov
Thu Dec 9 18:08:36 CST 2010


On Dec 9, 2010, at 5:44 PM, Jakub Pola wrote:

> When I used your suggestion I got following error.
> 
> kuba at desktop:~/External/petsc-dev$ ./config/configure.py --with-cc=gcc
> --with-fc=gfortran --download-f-blas-lapack=1 --download-mpich=1
> --with-cuda=1 --with-debug=no --with-cups=1 --with-thrust=1

    --with-cusp  NOT --with-cups

> ===============================================================================
>             Configuring PETSc to compile on your
> system                       
> ===============================================================================
> TESTING: checkInclude from
> config.headers(config/BuildSystem/config/headers.py:82)
> *******************************************************************************
>         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log
> for details):
> -------------------------------------------------------------------------------
> PETSc CUDA support requires the CUSP and Thrust packages
> Rerun configure using --with-cusp-dir and --with-thrust-dir
> *******************************************************************************
> 
> 
> Dnia 2010-12-09, czw o godzinie 17:29 -0600, Satish Balay pisze:
>> Try removing options:
>> --with-cusp-dir=/usr/local/cuda/include/cusp/ --with-thrust-dir=/usr/local/cuda/include/thrust
>> [and use --with-cups=1 --with-thrust=1]
>> 
>> As they are in default location - configure picks them automatically. But
>> since they are incorrectly specified - the 'default cuda path'  gets
>> the configure tests going - but this path causes grief later..
>> 
>>> In file included from /usr/local/cuda/include/cusp/detail/config.h:24,
>>>                 from /usr/local/cuda/include/cusp/memory.h:20,
>> 
>> 
>> Thats suspporsed to system memory.h - not cups/memory.h
>> 
>> Satish
>> 
>> On Fri, 10 Dec 2010, Jakub Pola wrote:
>> 
>>> Hi again,
>>> 
>>> I downloaded Petsc 3.1.0 as well as thrust 1.4.0 and cusp 0.2.0
>>> I have problems with compiling the library. I did following steps:
>>> 
>>> configured pets: 
>>> 
>>> ./config/configure.py --with-cc=gcc --with-fc=gfortran
>>> --download-f-blas-lapack=1 --download-mpich=1 --with-cuda=1
>>> --with-debug=no --with-cusp-dir=/usr/local/cuda/include/cusp/
>>> --with-thrust-dir=/usr/local/cuda/include/thrust
>>> 
>>> then make:
>>> make PETSC_DIR=/home/kuba/External/petsc-dev
>>> PETSC_ARCH=arch-linux-gnu-c-debug all
>>> 
>>> here I have problems because compilator says that 
>>> /usr/local/cuda/include/thrust/iterator/iterator_traits.h:34: fatal
>>> error: iterator: No such file or directory
>>> 
>>> But actually it is as a symbolic link:
>>> ls -l /usr/local/cuda/include/ 
>>> gives 
>>> lrwxrwxrwx 1 root root     34 2010-12-09 23:44 thrust
>>> -> /home/kuba/External/thrust/thrust/
>>> 
>>> and 
>>> 
>>> kuba at desktop:~/External/thrust/thrust/iterator$ ls -l
>>> razem 96
>>> -rw-r--r-- 1 kuba kuba  7666 2010-12-09 21:30 constant_iterator.h
>>> -rw-r--r-- 1 kuba kuba  6959 2010-12-09 21:30 counting_iterator.h
>>> drwxr-xr-x 3 kuba kuba  4096 2010-12-09 21:30 detail
>>> -rw-r--r-- 1 kuba kuba  4376 2010-12-09 21:30 iterator_adaptor.h
>>> -rw-r--r-- 1 kuba kuba  8282 2010-12-09 21:30 iterator_categories.h
>>> -rw-r--r-- 1 kuba kuba 14279 2010-12-09 21:30 iterator_facade.h
>>> -rw-r--r-- 1 kuba kuba  2066 2010-12-09 21:30 iterator_traits.h
>>> -rw-r--r-- 1 kuba kuba  6880 2010-12-09 21:30 permutation_iterator.h
>>> -rw-r--r-- 1 kuba kuba  7055 2010-12-09 21:30 reverse_iterator.h
>>> -rw-r--r-- 1 kuba kuba 10089 2010-12-09 21:30 transform_iterator.h
>>> -rw-r--r-- 1 kuba kuba  7348 2010-12-09 21:30 zip_iterator.h
>>> kuba at desktop:~/External/thrust/thrust/iterator$ 
>>> 
>>> 
>>> Have somebody faced this kind of problem?
>>> 
>>> 
>>> 
>>> 
>>> Here it is compilation log to first error
>>> 
>>> kuba at desktop:~/External/petsc-dev$ make
>>> PETSC_DIR=/home/kuba/External/petsc-dev
>>> PETSC_ARCH=arch-linux-gnu-c-debug all
>>> ==========================================
>>> 
>>> See documentation/faq.html and documentation/bugreporting.html
>>> for help with installation problems. Please send EVERYTHING
>>> printed out below when reporting problems
>>> 
>>> To subscribe to the PETSc announcement list, send mail to 
>>> majordomo at mcs.anl.gov with the message: 
>>> subscribe petsc-announce
>>> 
>>> To subscribe to the PETSc users mailing list, send mail to 
>>> majordomo at mcs.anl.gov with the message: 
>>> subscribe petsc-users
>>> 
>>> ==========================================
>>> On czw, 9 gru 2010, 23:56:38 CET on desktop
>>> Machine characteristics: Linux desktop 2.6.35-22-generic #35-Ubuntu SMP
>>> Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux
>>> -----------------------------------------
>>> Using PETSc directory: /home/kuba/External/petsc-dev
>>> Using PETSc arch: arch-linux-gnu-c-debug
>>> -----------------------------------------
>>> PETSC_VERSION_RELEASE    0
>>> PETSC_VERSION_MAJOR      3
>>> PETSC_VERSION_MINOR      1
>>> PETSC_VERSION_SUBMINOR   0
>>> PETSC_VERSION_PATCH      6
>>> PETSC_VERSION_DATE       "Mar, 25, 2010"
>>> PETSC_VERSION_PATCH_DATE "unknown"
>>> PETSC_VERSION_HG         "unknown"
>>> PETSC_VERSION_DATE_HG    "unknown"
>>> PETSC_VERSION_(MAJOR,MINOR,SUBMINOR) \
>>> -----------------------------------------
>>> Using configure Options: --with-cc=gcc --with-fc=gfortran
>>> --download-f-blas-lapack=1 --download-mpich=1 --with-cuda=1
>>> --with-debug=no --with-cusp-dir=/usr/local/cuda/include/cusp/
>>> --with-thrust-dir=/usr/local/cuda/include/thrust
>>> Using configuration flags:
>>> #define INCLUDED_PETSCCONF_H
>>> #define IS_COLORING_MAX 65535
>>> #define STDC_HEADERS 1
>>> #define MPIU_COLORING_VALUE MPI_UNSIGNED_SHORT
>>> #define PETSC_UINTPTR_T uintptr_t
>>> #define PETSC_HAVE_PTHREAD 1
>>> #define PETSC_STATIC_INLINE static inline
>>> #define PETSC_REPLACE_DIR_SEPARATOR '\\'
>>> #define PETSC_RESTRICT  __restrict__
>>> #define PETSC_HAVE_MPI 1
>>> #define PETSC_USE_SINGLE_LIBRARY 1
>>> #define PETSC_USE_SOCKET_VIEWER 1
>>> #define PETSC_HAVE_THRUST 1
>>> #define PETSC_LIB_DIR
>>> "/home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/lib"
>>> #define PETSC_HAVE_FORTRAN 1
>>> #define PETSC_HAVE_SOWING 1
>>> #define PETSC_SLSUFFIX ""
>>> #define PETSC_FUNCTION_NAME_CXX __func__
>>> #define PETSC_HAVE_DOUBLE_ALIGN_MALLOC 1
>>> #define PETSC_UNUSED  
>>> #define PETSC_HAVE_CUDA 1
>>> #define PETSC_FUNCTION_NAME_C __func__
>>> #define PETSC_HAVE_C2HTML 1
>>> #define PETSC_HAVE_VALGRIND 1
>>> #define PETSC_HAVE_BUILTIN_EXPECT 1
>>> #define PETSC_DIR_SEPARATOR '/'
>>> #define PETSC_PATH_SEPARATOR ':'
>>> #define PETSC_HAVE_X11 1
>>> #define PETSC_HAVE_CUSP 1
>>> #define PETSC_Prefetch(a,b,c)  
>>> #define PETSC_HAVE_BLASLAPACK 1
>>> #define PETSC_HAVE_STRING_H 1
>>> #define PETSC_HAVE_SYS_TYPES_H 1
>>> #define PETSC_HAVE_ENDIAN_H 1
>>> #define PETSC_HAVE_SYS_PROCFS_H 1
>>> #define PETSC_HAVE_DLFCN_H 1
>>> #define PETSC_HAVE_STDINT_H 1
>>> #define PETSC_HAVE_LINUX_KERNEL_H 1
>>> #define PETSC_HAVE_TIME_H 1
>>> #define PETSC_HAVE_MATH_H 1
>>> #define PETSC_HAVE_STDLIB_H 1
>>> #define PETSC_HAVE_SYS_PARAM_H 1
>>> #define PETSC_HAVE_SYS_SOCKET_H 1
>>> #define PETSC_HAVE_UNISTD_H 1
>>> #define PETSC_HAVE_SYS_WAIT_H 1
>>> #define PETSC_HAVE_LIMITS_H 1
>>> #define PETSC_HAVE_SYS_UTSNAME_H 1
>>> #define PETSC_HAVE_NETINET_IN_H 1
>>> #define PETSC_HAVE_FENV_H 1
>>> #define PETSC_HAVE_FLOAT_H 1
>>> #define PETSC_HAVE_SEARCH_H 1
>>> #define PETSC_HAVE_SYS_SYSINFO_H 1
>>> #define PETSC_HAVE_SYS_RESOURCE_H 1
>>> #define PETSC_HAVE_SYS_TIMES_H 1
>>> #define PETSC_HAVE_NETDB_H 1
>>> #define PETSC_HAVE_MALLOC_H 1
>>> #define PETSC_HAVE_PWD_H 1
>>> #define PETSC_HAVE_FCNTL_H 1
>>> #define PETSC_HAVE_STRINGS_H 1
>>> #define PETSC_HAVE_MEMORY_H 1
>>> #define PETSC_TIME_WITH_SYS_TIME 1
>>> #define PETSC_HAVE_SYS_TIME_H 1
>>> #define PETSC_USING_F90 1
>>> #define PETSC_HAVE_RTLD_NOW 1
>>> #define PETSC_HAVE_RTLD_LOCAL 1
>>> #define PETSC_HAVE_RTLD_LAZY 1
>>> #define PETSC_C_STATIC_INLINE static inline
>>> #define PETSC_HAVE_FORTRAN_UNDERSCORE 1
>>> #define PETSC_HAVE_CXX_NAMESPACE 1
>>> #define PETSC_HAVE_RTLD_GLOBAL 1
>>> #define PETSC_C_RESTRICT  __restrict__
>>> #define PETSC_CXX_RESTRICT  __restrict__
>>> #define PETSC_CXX_STATIC_INLINE static inline
>>> #define PETSC_HAVE_LIBCUBLAS 1
>>> #define PETSC_HAVE_LIBCUDART 1
>>> #define PETSC_HAVE_LIBDL 1
>>> #define PETSC_HAVE_LIBFBLAS 1
>>> #define PETSC_HAVE_LIBFLAPACK 1
>>> #define PETSC_HAVE_ERF 1
>>> #define PETSC_HAVE_LIBCUFFT 1
>>> #define PETSC_HAVE_LIBRT 1
>>> #define PETSC_ARCH "arch-linux-gnu-c-debug"
>>> #define PETSC_VERSION_DATE_HG "Thu Dec 09 20:23:16 2010 +0100"
>>> #define PETSC_VERSION_BS_HG "47bec558f992b1828a074066eb6df9f5b106a6b6"
>>> #define PETSC_VERSION_HG "488e1fcaa13db132861c12416293551e6e00b14e"
>>> #define PETSC_DIR "/home/kuba/External/petsc-dev"
>>> #define PETSC_VERSION_BS_DATE_HG "Tue Dec 07 14:41:13 2010 -0600"
>>> #define HAVE_GZIP 1
>>> #define PETSC_CLANGUAGE_C 1
>>> #define PETSC_USE_EXTERN_CXX  
>>> #define PETSC_USE_ERRORCHECKING 1
>>> #define PETSC_MISSING_DREAL 1
>>> #define PETSC_SIZEOF_MPI_COMM 4
>>> #define PETSC_BITS_PER_BYTE 8
>>> #define PETSC_SIZEOF_MPI_FINT 4
>>> #define PETSC_SIZEOF_VOID_P 4
>>> #define PETSC_RETSIGTYPE void
>>> #define PETSC_HAVE_CXX_COMPLEX 1
>>> #define PETSC_SIZEOF_LONG 4
>>> #define PETSC_USE_FORTRANKIND 1
>>> #define PETSC_SIZEOF_SIZE_T 4
>>> #define PETSC_SIZEOF_CHAR 1
>>> #define PETSC_SIZEOF_DOUBLE 8
>>> #define PETSC_SIZEOF_FLOAT 4
>>> #define PETSC_HAVE_C99_COMPLEX 1
>>> #define PETSC_SIZEOF_INT 4
>>> #define PETSC_SIZEOF_LONG_LONG 8
>>> #define PETSC_SIZEOF_SHORT 2
>>> #define PETSC_HAVE_STRCASECMP 1
>>> #define PETSC_HAVE_POPEN 1
>>> #define PETSC_HAVE_SIGSET 1
>>> #define PETSC_HAVE_GETWD 1
>>> #define PETSC_HAVE_VSNPRINTF 1
>>> #define PETSC_HAVE_TIMES 1
>>> #define PETSC_HAVE_DLSYM 1
>>> #define PETSC_HAVE_SNPRINTF 1
>>> #define PETSC_HAVE_GETPWUID 1
>>> #define PETSC_HAVE_GETHOSTBYNAME 1
>>> #define PETSC_HAVE_SLEEP 1
>>> #define PETSC_HAVE_DLERROR 1
>>> #define PETSC_HAVE_FORK 1
>>> #define PETSC_HAVE_RAND 1
>>> #define PETSC_HAVE_GETTIMEOFDAY 1
>>> #define PETSC_HAVE_DLCLOSE 1
>>> #define PETSC_HAVE_UNAME 1
>>> #define PETSC_HAVE_GETHOSTNAME 1
>>> #define PETSC_HAVE_MKSTEMP 1
>>> #define PETSC_HAVE_SIGACTION 1
>>> #define PETSC_HAVE_DRAND48 1
>>> #define PETSC_HAVE_NANOSLEEP 1
>>> #define PETSC_HAVE_VA_COPY 1
>>> #define PETSC_HAVE_CLOCK 1
>>> #define PETSC_HAVE_ACCESS 1
>>> #define PETSC_HAVE_SIGNAL 1
>>> #define PETSC_HAVE_USLEEP 1
>>> #define PETSC_HAVE_GETRUSAGE 1
>>> #define PETSC_HAVE_VFPRINTF 1
>>> #define PETSC_HAVE_MEMALIGN 1
>>> #define PETSC_HAVE_GETDOMAINNAME 1
>>> #define PETSC_HAVE_TIME 1
>>> #define PETSC_HAVE_LSEEK 1
>>> #define PETSC_HAVE_SOCKET 1
>>> #define PETSC_HAVE_SYSINFO 1
>>> #define PETSC_HAVE_READLINK 1
>>> #define PETSC_HAVE_REALPATH 1
>>> #define PETSC_HAVE_DLOPEN 1
>>> #define PETSC_HAVE_MEMMOVE 1
>>> #define PETSC_HAVE__GFORTRAN_IARGC 1
>>> #define PETSC_SIGNAL_CAST  
>>> #define PETSC_HAVE_GETCWD 1
>>> #define PETSC_HAVE_VPRINTF 1
>>> #define PETSC_HAVE_BZERO 1
>>> #define PETSC_HAVE_GETPAGESIZE 1
>>> #define PETSC_LEVEL1_DCACHE_LINESIZE 64
>>> #define PETSC_LEVEL1_DCACHE_SIZE 32768
>>> #define PETSC_LEVEL1_DCACHE_ASSOC 8
>>> #define PETSC_USE_PROC_FOR_SIZE 1
>>> #define PETSC_HAVE_DYNAMIC_LIBRARIES 1
>>> #define PETSC_HAVE_SHARED_LIBRARIES 1
>>> #define PETSC_MEMALIGN 16
>>> #define PETSC_HAVE_FORTRAN_GET_COMMAND_ARGUMENT 1
>>> #define PETSC_HAVE_GFORTRAN_IARGC 1
>>> #define PETSC_HAVE_ISINF 1
>>> #define PETSC_HAVE_ISNAN 1
>>> #define PETSC_HAVE_MPI_COMM_C2F 1
>>> #define PETSC_HAVE_MPI_LONG_DOUBLE 1
>>> #define PETSC_HAVE_MPI_COMM_F2C 1
>>> #define PETSC_HAVE_MPI_FINT 1
>>> #define PETSC_HAVE_MPI_F90MODULE 1
>>> #define PETSC_HAVE_MPI_FINALIZED 1
>>> #define PETSC_HAVE_MPI_COMM_SPAWN 1
>>> #define PETSC_HAVE_MPI_WIN_CREATE 1
>>> #define PETSC_HAVE_MPIIO 1
>>> #define PETSC_HAVE_MPI_C_DOUBLE_COMPLEX 1
>>> #define PETSC_HAVE_MPI_ALLTOALLW 1
>>> #define PETSC_HAVE_MPI_IN_PLACE 1
>>> #define PETSC_USE_INFO 1
>>> #define PETSC_PETSC_USE_BACKWARD_LOOP 1
>>> #define PETSC_Alignx(a,b)   
>>> #define PETSC_USE_DEBUG 1
>>> #define PETSC_USE_LOG 1
>>> #define PETSC_IS_COLOR_VALUE_TYPE short
>>> #define PETSC_USE_CTABLE 1
>>> #define PETSC_USE_GDB_DEBUGGER 1
>>> #define PETSC_CUDA_EXTERN_C_BEGIN extern "C" {
>>> #define PETSC_CUDA_EXTERN_C_END }
>>> #define PETSC_HAVE_CUSP_SMOOTHED_AGGREGATION 1
>>> #define PETSC_BLASLAPACK_UNDERSCORE 1
>>> -----------------------------------------
>>> Using C/C++ include paths: -I/home/kuba/External/petsc-dev/include
>>> -I/home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/include
>>> -I/usr/local/cuda/include -I/usr/local/cuda/include/cusp/
>>> -I/usr/local/cuda/include/thrust/
>>> Using C/C++
>>> compiler: /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/bin/mpicc
>>> -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3   
>>> Using Fortran include/module paths:
>>> -I/home/kuba/External/petsc-dev/include
>>> -I/home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/include
>>> -I/usr/local/cuda/include -I/usr/local/cuda/include/cusp/
>>> -I/usr/local/cuda/include/thrust/
>>> Using Fortran
>>> compiler: /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/bin/mpif90 -Wall -Wno-unused-variable -g   
>>> -----------------------------------------
>>> Using C/C++
>>> linker: /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/bin/mpicc
>>> Using C/C++ flags: -Wall -Wwrite-strings -Wno-strict-aliasing
>>> -Wno-unknown-pragmas -g3
>>> Using Fortran
>>> linker: /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/bin/mpif90
>>> Using Fortran flags: -Wall -Wno-unused-variable -g
>>> -----------------------------------------
>>> Using libraries:
>>> -L/home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/lib  -lpetsc
>>> -lX11 -Wl,-rpath,/usr/local/cuda/lib -L/usr/local/cuda/lib -lcufft
>>> -lcublas -lcudart
>>> -Wl,-rpath,/home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/lib
>>> -lflapack -lfblas -L/usr/lib/gcc/i686-linux-gnu/4.4.5
>>> -L/usr/lib/i686-linux-gnu -ldl -lmpich -lopa -lmpl -lrt -lpthread
>>> -lgcc_s -lmpichf90 -lgfortran -lm -lm -lmpichcxx -lstdc++ -lmpichcxx
>>> -lstdc++ -ldl -lmpich -lopa -lmpl -lrt -lpthread -lgcc_s -ldl 
>>> ------------------------------------------
>>> Using
>>> mpiexec: /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/bin/mpiexec
>>> ==========================================
>>> /bin/rm -f
>>> -rf /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/lib/libpetsc*.*
>>> /bin/rm -f
>>> -f /home/kuba/External/petsc-dev/arch-linux-gnu-c-debug/include/petsc*.mod
>>> BEGINNING TO COMPILE LIBRARIES IN ALL DIRECTORIES
>>> =========================================
>>> libfast in: /home/kuba/External/petsc-dev/src
>>> libfast in: /home/kuba/External/petsc-dev/src/inline
>>> libfast in: /home/kuba/External/petsc-dev/src/sys
>>> libfast in: /home/kuba/External/petsc-dev/src/sys/viewer
>>> libfast in: /home/kuba/External/petsc-dev/src/sys/viewer/impls
>>> libfast in: /home/kuba/External/petsc-dev/src/sys/viewer/impls/socket
>>> In file included from /usr/local/cuda/include/cusp/detail/config.h:24,
>>>                 from /usr/local/cuda/include/cusp/memory.h:20,
>>> 
>>> from /home/kuba/External/petsc-dev/include/petscsys.h:1671,
>>>                 from send.c:3:
>>> /usr/local/cuda/include/thrust/version.h:69: error: expected ‘=’, ‘,’,
>>> ‘;’, ‘asm’ or ‘__attribute__’ before ‘thrust’
>>> In file included from /usr/local/cuda/include/cusp/memory.h:22,
>>> 
>>> from /home/kuba/External/petsc-dev/include/petscsys.h:1671,
>>>                 from send.c:3:
>>> /usr/local/cuda/include/thrust/iterator/iterator_traits.h:34: fatal
>>> error: iterator: No such file or directory
>>> compilation terminated.
>>> 
>>> 
>>> 
>>> Dnia 2010-12-09, czw o godzinie 20:47 +0100, Jed Brown pisze:
>>>> On Thu, Dec 9, 2010 at 20:44, Jakub Pola <jakub.pola at gmail.com> wrote:
>>>>        Petsc Release Version 3.1.0
>>>> 
>>>> You need petsc-dev for this.
>>> 
>>> 
>>> 
> 
> 



More information about the petsc-users mailing list