Closed neubig closed 6 years ago
I can reproduce this error.
Output of cmake
:
cmake .. -DEIGEN3_INCLUDE_DIR=../eigen/ -DENABLE_CPP_EXAMPLES=ON -DBACKEND=cuda
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BACKEND: cuda
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda (found version "9.0")
CUDA_LIBRARIES: /usr/local/cuda/lib64/libcudart_static.a;-lpthread;dl;/usr/lib/x86_64-linux-gnu/librt.so
-- Found CUDNN (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libcudnn.so)
-- Successfully include CUDNN flags
-- Eigen dir is /tmp/dynet/eigen
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/dynet/build
So CUDA 9 and cudnn are found.
Here's the error message running make VERBOSE=1
:
di36zem@1b6ed7580408:/tmp/dynet/build$ make VERBOSE=1
/usr/bin/cmake -H/tmp/dynet -B/tmp/dynet/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /tmp/dynet/build/CMakeFiles /tmp/dynet/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/tmp/dynet/build'
make -f dynet/CMakeFiles/dynet.dir/build.make dynet/CMakeFiles/dynet.dir/depend
make[2]: Entering directory '/tmp/dynet/build'
[ 1%] Building NVCC (Device) object dynet/CMakeFiles/dynet.dir/dynet_generated_gpu-merge3.cu.o
cd /tmp/dynet/build/dynet/CMakeFiles/dynet.dir && /usr/bin/cmake -E make_directory /tmp/dynet/build/dynet/CMakeFiles/dynet.dir//.
cd /tmp/dynet/build/dynet/CMakeFiles/dynet.dir && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING=Release -D generated_file:STRING=/tmp/dynet/build/dynet/CMakeFiles/dynet.dir//./dynet_generated_gpu-merge3.cu.o -D generated_cubin_file:STRING=/tmp/dynet/build/dynet/CMakeFiles/dynet.dir//./dynet_generated_gpu-merge3.cu.o.cubin.txt -P /tmp/dynet/build/dynet/CMakeFiles/dynet.dir//dynet_generated_gpu-merge3.cu.o.cmake
-- Removing /tmp/dynet/build/dynet/CMakeFiles/dynet.dir//./dynet_generated_gpu-merge3.cu.o
/usr/bin/cmake -E remove /tmp/dynet/build/dynet/CMakeFiles/dynet.dir//./dynet_generated_gpu-merge3.cu.o
-- Generating dependency file: /tmp/dynet/build/dynet/CMakeFiles/dynet.dir//dynet_generated_gpu-merge3.cu.o.NVCC-depend
/usr/local/cuda/bin/nvcc -M -D__CUDACC__ /tmp/dynet/build/dynet/gpu-merge3.cu -o /tmp/dynet/build/dynet/CMakeFiles/dynet.dir//dynet_generated_gpu-merge3.cu.o.NVCC-depend -ccbin /usr/bin/cc -m64 -Ddynet_EXPORTS -Xcompiler ,\"-fPIC\" -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_52,code=compute_52 -std=c++11 -DVERBOSE -DEIGEN_USE_GPU -DHAVE_CUDA -DHAVE_CUDNN -O2 --compiler-options -fPIC -DNVCC -I/usr/local/cuda/include -I/tmp/dynet -I/tmp/dynet/external/easyloggingpp/src -I/usr/local/cuda/include -I/usr/include -I/tmp/dynet/eigen -I/tmp/dynet/build
In file included from /usr/local/cuda/include/common_functions.h:50:0,
from /usr/local/cuda/include/cuda_runtime.h:115,
from <command-line>:0:
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Macros.h:403:85: note: in expansion of macro ‘__CUDACC_VER__’
&& ( !defined(__NVCC__) || !EIGEN_ARCH_ARM_OR_ARM64 || (defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000) )
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Macros.h:417:104: note: in expansion of macro ‘__CUDACC_VER__’
#if EIGEN_MAX_CPP_VER>=14 && (__cplusplus > 199711L && defined(__CUDACC_VER__) && (EIGEN_COMP_CLANG || __CUDACC_VER__ >= 70500))
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/util/Macros.h:816:59: note: in expansion of macro ‘__CUDACC_VER__’
#if EIGEN_COMP_MSVC_STRICT && (EIGEN_COMP_MSVC < 1900 || __CUDACC_VER__) // for older MSVC versions, as well as 1900 && CUDA 8, using the base operator is sufficient (cf Bugs 1000, 1324)
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/Core:230:33: note: in expansion of macro ‘__CUDACC_VER__’
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 70500
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:389:31: note: in expansion of macro ‘__CUDACC_VER__’
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined __CUDA_ARCH__ && __CUDA_ARCH__ >= 530
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:396:63: note: in expansion of macro ‘__CUDACC_VER__’
#if defined(EIGEN_HAS_CUDA_FP16) && defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:409:31: note: in expansion of macro ‘__CUDACC_VER__’
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined __CUDA_ARCH__ && __CUDA_ARCH__ >= 530
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:431:31: note: in expansion of macro ‘__CUDACC_VER__’
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined __CUDA_ARCH__ && __CUDA_ARCH__ >= 300
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:438:31: note: in expansion of macro ‘__CUDACC_VER__’
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined __CUDA_ARCH__ && __CUDA_ARCH__ >= 300
^
/usr/local/cuda/include/crt/common_functions.h:64:24: error: token ""__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
#define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported. Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:526:31: note: in expansion of macro ‘__CUDACC_VER__’
#if defined __CUDACC_VER__ && __CUDACC_VER__ >= 80000 && defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 530
^
CMake Error at dynet_generated_gpu-merge3.cu.o.cmake:203 (message):
Error generating
/tmp/dynet/build/dynet/CMakeFiles/dynet.dir//./dynet_generated_gpu-merge3.cu.o
dynet/CMakeFiles/dynet.dir/build.make:98: recipe for target 'dynet/CMakeFiles/dynet.dir/dynet_generated_gpu-merge3.cu.o' failed
make[2]: *** [dynet/CMakeFiles/dynet.dir/dynet_generated_gpu-merge3.cu.o] Error 1
make[2]: Leaving directory '/tmp/dynet/build'
CMakeFiles/Makefile2:85: recipe for target 'dynet/CMakeFiles/dynet.dir/all' failed
make[1]: *** [dynet/CMakeFiles/dynet.dir/all] Error 2
make[1]: Leaving directory '/tmp/dynet/build'
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
I used the following version of eigen
as it is described in the current version of dynets
README.md
:
hg clone https://bitbucket.org/eigen/eigen/ -r 346ecdb
After that I used the latest version of eigen
- the compilation also failed. Then I used the revision version where CUDA 9 was first introduced to eigen
: here, compilation also failed with:
In file included from /tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/Core:433:0,
from /tmp/dynet/eigen/unsupported/Eigen/CXX11/Tensor:14,
from /tmp/dynet/dynet/devices.h:10,
from /tmp/dynet/dynet/dynet.h:17,
from /tmp/dynet/dynet/cfsm-builder.h:15,
from /tmp/dynet/dynet/cfsm-builder.cc:1:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h: In member function ‘Eigen::half::operator bool() const’:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:103:13: error: ‘x’ was not declared in this scope
return (x & 0x7fff) != 0;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h: In member function ‘Eigen::half& Eigen::half::operator=(const Eigen::half&)’:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:143:5: error: ‘x’ was not declared in this scope
x = other.x;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:143:15: error: ‘const struct Eigen::half’ has no member named ‘x’
x = other.x;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h: In function ‘Eigen::half Eigen::half_impl::operator-(const Eigen::half&)’:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:228:10: error: ‘struct Eigen::half’ has no member named ‘x’
result.x = a.x ^ 0x8000;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:228:16: error: ‘const struct Eigen::half’ has no member named ‘x’
result.x = a.x ^ 0x8000;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h: In function ‘Eigen::half_impl::__half_raw Eigen::half_impl::raw_uint16_to_half(short unsigned int)’:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:281:5: error: ‘Eigen::half_impl::__half_raw {aka struct __half}’ has no member named ‘x’
h.x = x;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h: In function ‘Eigen::half_impl::__half_raw Eigen::half_impl::float_to_half_rtne(float)’:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:308:5: error: ‘Eigen::half_impl::__half_raw {aka struct __half}’ has no member named ‘x’
o.x = static_cast<unsigned short>(0x0u);
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:319:7: error: ‘Eigen::half_impl::__half_raw {aka struct __half}’ has no member named ‘x’
o.x = (f.u > f32infty.u) ? 0x7e00 : 0x7c00; // NaN->qNaN and Inf->Inf
Ahh, it looks like the instructions on README.md are a little bit stale. Could you try following the instructions here? http://dynet.readthedocs.io/en/latest/install.html#installing-dynet-for-c
The only difference is the version of Eigen that you install I think.
Ok, I used:
hg clone https://bitbucket.org/eigen/eigen/ -r 699b659
Here's the error log:
[ 6%] Building CXX object dynet/CMakeFiles/dynet.dir/cfsm-builder.cc.o
In file included from /tmp/dynet/dynet/cfsm-builder.cc:1:
In file included from /tmp/dynet/dynet/cfsm-builder.h:15:
In file included from /tmp/dynet/dynet/dynet.h:17:
In file included from /tmp/dynet/dynet/devices.h:10:
In file included from /tmp/dynet/eigen/unsupported/Eigen/CXX11/Tensor:14:
In file included from /tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/Core:433:
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:103:13: error:
use of undeclared identifier 'x'
return (x & 0x7fff) != 0;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:143:5: error:
use of undeclared identifier 'x'
x = other.x;
^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:143:15: error:
no member named 'x' in 'Eigen::half'
x = other.x;
~~~~~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:228:10: error:
no member named 'x' in 'Eigen::half'
result.x = a.x ^ 0x8000;
~~~~~~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:228:16: error:
no member named 'x' in 'Eigen::half'
result.x = a.x ^ 0x8000;
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:281:5: error:
no member named 'x' in '__half'
h.x = x;
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:308:5: error:
no member named 'x' in '__half'
o.x = static_cast<unsigned short>(0x0u);
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:319:7: error:
no member named 'x' in '__half'
o.x = (f.u > f32infty.u) ? 0x7e00 : 0x7c00; // NaN->qNaN and Inf->Inf
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:328:9: error:
no member named 'x' in '__half'
o.x = static_cast<unsigned short>(f.u - denorm_magic.u);
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:337:9: error:
no member named 'x' in '__half'
o.x = static_cast<unsigned short>(f.u >> 13);
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:341:5: error:
no member named 'x' in '__half'
o.x |= static_cast<unsigned short>(sign >> 16);
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:358:12: error:
no member named 'x' in '__half'
o.u = (h.x & 0x7fff) << 13; // exponent/mantissa bits
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:370:13: error:
no member named 'x' in '__half'
o.u |= (h.x & 0x8000) << 16; // sign bit
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:378:13: error:
no member named 'x' in 'Eigen::half'
return (a.x & 0x7fff) == 0x7c00;
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:384:13: error:
no member named 'x' in 'Eigen::half'
return (a.x & 0x7fff) > 0x7c00;
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:393:10: error:
no member named 'x' in 'Eigen::half'
result.x = a.x & 0x7FFF;
~~~~~~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:393:16: error:
no member named 'x' in 'Eigen::half'
result.x = a.x & 0x7FFF;
~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:580:10: error:
no member named 'x' in 'Eigen::half'
result.x = a.x & 0x7FFF;
~~~~~~ ^
/tmp/dynet/eigen/unsupported/Eigen/CXX11/../../../Eigen/src/Core/arch/CUDA/Half.h:580:16: error:
no member named 'x' in 'Eigen::half'
result.x = a.x & 0x7FFF;
~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
dynet/CMakeFiles/dynet.dir/build.make:137: recipe for target 'dynet/CMakeFiles/dynet.dir/cfsm-builder.cc.o' failed
make[2]: *** [dynet/CMakeFiles/dynet.dir/cfsm-builder.cc.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'dynet/CMakeFiles/dynet.dir/all' failed
make[1]: *** [dynet/CMakeFiles/dynet.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
OK, thanks. It looks like Eigen is indeed not playing well with CUDA 9.0. We'll have to investigate further.
Hi,I met exactly the same problem when trying to compile DyNet with cuda9.0. The error log is similar with that "struct Eigen::half has no member named 'X' "or "undeclared 'X'". Do you know how to figure out this problem? Thanks!
Which versions of Eigen and Dynet are you using?
The version of eigen is 3.3.90, a git mirror on github. The version of DyNet is 2.0.
I have gotten a report that DyNet doesn't compile with CUDA 9.0, but haven't confirmed myself.