wichtounet / dll Goto Github PK
View Code? Open in Web Editor NEWFast Deep Learning Library (DLL) for C++ (ANNs, CNNs, RBMs, DBNs...)
License: MIT License
Fast Deep Learning Library (DLL) for C++ (ANNs, CNNs, RBMs, DBNs...)
License: MIT License
I want to use below options:
-DETL_CUBLAS_MODE
-DETL_CUDNN_MODE
So, I need to install cuBLAS & cuDNN.
What is the version of those packages?
In the most recent release, @ is included in the folder name.
: etl -> etl @ f1e4c22
Because of this, I can not download the folder in Ubuntu.
Please fix the folder name.
Hi!
Thanks to you, I have made the build environment and have compiled some examples (mnist_cnn.cpp, mnist_mlp.cpp).
However, auto encoder examples (mnist_ae.cpp, mnist_deep_ae.cpp) doesn't be compiled with following errors:
clang++-3.9 -std=c++1y -I/home/kjlee/lib/dll/include -I/home/kjlee/lib/dll/Catch/include -I/home/kjlee/lib/dll/etl/include -I/home/kjlee/lib/dll/etl/lib/include -I/home/kjlee/lib/dll/mnist/include -I/home/kjlee/lib/dll/cifar-10/include -I/home/kjlee/lib/dll/nice-svm/include -lpthread mnist_ae.cpp
In file included from mnist_ae.cpp:10:
In file included from /home/kjlee/lib/dll/include/dll/datasets.hpp:143:
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:98:88: error: missing default argument on parameter 'parameters'
auto make_mnist_ae_generator_train(size_t start = 0, size_t limit = 0, Parameters&&... parameters){
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:140:9: note: in instantiation of function template specialization 'dll::make_mnist_ae_generator_train<dll::batch_size<256>, dll::scale_pre<255> >' requested
here
make_mnist_ae_generator_train(0UL, 60000UL, std::forward(parameters)...),
^
mnist_ae.cpp:17:25: note: in instantiation of function template specialization 'dll::make_mnist_ae_dataset<dll::batch_size<256>, dll::scale_pre<255> >' requested here
auto dataset = dll::make_mnist_ae_dataset(dll::batch_size<256>{}, dll::scale_pre<255>{});
^
In file included from mnist_ae.cpp:10:
In file included from /home/kjlee/lib/dll/include/dll/datasets.hpp:143:
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:98:88: error: missing default argument on parameter 'parameters'
auto make_mnist_ae_generator_train(size_t start = 0, size_t limit = 0, Parameters&&... parameters){
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:98:88: error: missing default argument on parameter 'parameters'
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:99:12: note: in instantiation of function template specialization 'dll::make_mnist_ae_generator_train<unsigned long &, dll::batch_size<256>,
dll::scale_pre<255> >' requested here
return make_mnist_ae_generator_train("mnist", start, limit, std::forward(parameters)...);
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:140:9: note: in instantiation of function template specialization 'dll::make_mnist_ae_generator_train<dll::batch_size<256>, dll::scale_pre<255> >' requested
here
make_mnist_ae_generator_train(0UL, 60000UL, std::forward(parameters)...),
^
mnist_ae.cpp:17:25: note: in instantiation of function template specialization 'dll::make_mnist_ae_dataset<dll::batch_size<256>, dll::scale_pre<255> >' requested here
auto dataset = dll::make_mnist_ae_dataset(dll::batch_size<256>{}, dll::scale_pre<255>{});
^
In file included from mnist_ae.cpp:10:
In file included from /home/kjlee/lib/dll/include/dll/datasets.hpp:143:
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:98:88: error: missing default argument on parameter 'parameters'
auto make_mnist_ae_generator_train(size_t start = 0, size_t limit = 0, Parameters&&... parameters){
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:98:88: error: missing default argument on parameter 'parameters'
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:112:87: error: missing default argument on parameter 'parameters'
auto make_mnist_ae_generator_test(size_t start = 0, size_t limit = 0, Parameters&&... parameters){
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:141:9: note: in instantiation of function template specialization 'dll::make_mnist_ae_generator_test<dll::batch_size<256>, dll::scale_pre<255> >' requested
here
make_mnist_ae_generator_test(0UL, 10000UL, std::forward(parameters)...));
^
mnist_ae.cpp:17:25: note: in instantiation of function template specialization 'dll::make_mnist_ae_dataset<dll::batch_size<256>, dll::scale_pre<255> >' requested here
auto dataset = dll::make_mnist_ae_dataset(dll::batch_size<256>{}, dll::scale_pre<255>{});
^
In file included from mnist_ae.cpp:10:
In file included from /home/kjlee/lib/dll/include/dll/datasets.hpp:143:
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:112:87: error: missing default argument on parameter 'parameters'
auto make_mnist_ae_generator_test(size_t start = 0, size_t limit = 0, Parameters&&... parameters){
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:112:87: error: missing default argument on parameter 'parameters'
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:113:12: note: in instantiation of function template specialization 'dll::make_mnist_ae_generator_test<unsigned long &, dll::batch_size<256>,
dll::scale_pre<255> >' requested here
return make_mnist_ae_generator_test("mnist", start, limit, std::forward(parameters)...);
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:141:9: note: in instantiation of function template specialization 'dll::make_mnist_ae_generator_test<dll::batch_size<256>, dll::scale_pre<255> >' requested
here
make_mnist_ae_generator_test(0UL, 10000UL, std::forward(parameters)...));
^
mnist_ae.cpp:17:25: note: in instantiation of function template specialization 'dll::make_mnist_ae_dataset<dll::batch_size<256>, dll::scale_pre<255> >' requested here
auto dataset = dll::make_mnist_ae_dataset(dll::batch_size<256>{}, dll::scale_pre<255>{});
^
In file included from mnist_ae.cpp:10:
In file included from /home/kjlee/lib/dll/include/dll/datasets.hpp:143:
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:112:87: error: missing default argument on parameter 'parameters'
auto make_mnist_ae_generator_test(size_t start = 0, size_t limit = 0, Parameters&&... parameters){
^
/home/kjlee/lib/dll/include/dll/datasets/mnist_ae.hpp:112:87: error: missing default argument on parameter 'parameters'
10 errors generated.
Please help me.
I'm sorry to have to ask too many questions.
I'm a hardware engineer who researches about A.I. chip.
I really want to use your DLL framework for my research, but I have some trouble in making compile environment.
My environments is:
OS: Ubuntu 14.04
g++: 4.9
clang++: 3.4 (Installing clang++3.7 in Ubuntu 14.04 is hard..I try to various way but it doesn't work)
CUDA: cuda-7.5
cuDNN: v5 for cuda-7.5
2 GPU
My Makefile is:
DLL_HOME = /home/kjlee/lib/dll
CUDA_HOME = /usr/local/cuda-8.0CLANG = clang++
CXXFLAGS += -std=c++14
LDFLAGS += -lpthread##########################################################
DLL
##########################################################
CPPFLAGS += -I${DLL_HOME}/include
CPPFLAGS += -I${DLL_HOME}/Catch/include
CPPFLAGS += -I${DLL_HOME}/etl/include
CPPFLAGS += -I${DLL_HOME}/etl/lib/include
CPPFLAGS += -I${DLL_HOME}/mnist/include
CPPFLAGS += -I${DLL_HOME}/cifar-10/include
CPPFLAGS += -I${DLL_HOME}/nice-svm/includeDLLFLAGS += -DETL_PARALLEL
DLLFLAGS += -DETL_VECTORIZE_FULL
##DLLFLAGS += -DETL_BLAS_MODE
DLLFLAGS += -DETL_CUBLAS_MODE
DLLFLAGS += -DETL_CUDNN_MODE
##DLLFLAGS += -DETL_EGBLAS_MODE##########################################################
CUDA
##########################################################
CPPFLAGS += -I${CUDA_HOME}/include
LDFLAGS += -L${CUDA_HOME}/lib64 -lcublas -lcudart##########################################################
MAKE
##########################################################
all:main:
${CLANG} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DLLFLAGS} mnist_ae.cpp
I want to know your environment.
If you use Ubuntu 14.04, please let me know how to install clang++3.7.
Thanks.
Build issue? Any advice appreciated, thanks.
root@mail:~/dll/dll# make
-e \x1b[31;01m[release_debug]\x1b[0m Compile \x1b[35;01mprocessor/src/processor.cpp\x1b[0m
In file included from etl/include/etl/vectorization.hpp:59:0,
from etl/include/etl/etl.hpp:29,
from include/dll/rbm/dyn_rbm_impl.hpp:10,
from include/dll/rbm/dyn_rbm.hpp:10,
from include/dll/rbm/rbm.hpp:16,
from include/dll/processor/processor.hpp:20,
from processor/include/parse_utils.hpp:16,
from processor/src/processor.cpp:20:
etl/include/etl/avx512_vectorization.hpp:504:15: error: explicit specialization in non-namespace scope ‘struct etl::avx512_vec’
template <>
^
etl/include/etl/avx512_vectorization.hpp:505:56: error: template-id ‘mul<true>’ in declaration of primary template
ETL_INLINE_VEC_512 mul<true>(__m512 lhs, __m512 rhs) {
^
etl/include/etl/avx512_vectorization.hpp:514:25: error: too many template-parameter-lists
ETL_INLINE_VEC_512D mul(__m512d lhs, __m512d rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:521:15: error: explicit specialization in non-namespace scope ‘struct etl::avx512_vec’
template <>
^
etl/include/etl/avx512_vectorization.hpp:522:59: error: template-id ‘mul<true>’ in declaration of primary template
ETL_INLINE_VEC_512D mul<true>(__m512d lhs, __m512d rhs) {
^
etl/include/etl/avx512_vectorization.hpp:531:24: error: too many template-parameter-lists
ETL_INLINE_VEC_512 div(__m512 lhs, __m512 rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:538:15: error: explicit specialization in non-namespace scope ‘struct etl::avx512_vec’
template <>
^
etl/include/etl/avx512_vectorization.hpp:539:24: error: ‘__always_inline__’ attribute ignored [-Werror=attributes]
ETL_INLINE_VEC_512 div<true>(__m512 lhs, __m512 rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:539:24: error: ‘__gnu_inline__’ attribute ignored [-Werror=attributes]
etl/include/etl/avx512_vectorization.hpp:539:24: error: ‘__artificial__’ attribute ignored [-Werror=attributes]
etl/include/etl/avx512_vectorization.hpp:539:24: error: expected ‘;’ at end of member declaration
etl/include/etl/avx512_vectorization.hpp:539:27: error: expected unqualified-id before ‘<’ token
ETL_INLINE_VEC_512 div<true>(__m512 lhs, __m512 rhs) {
^
etl/include/etl/avx512_vectorization.hpp:548:25: error: too many template-parameter-lists
ETL_INLINE_VEC_512D div(__m512d lhs, __m512d rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:555:15: error: explicit specialization in non-namespace scope ‘struct etl::avx512_vec’
template <>
^
etl/include/etl/avx512_vectorization.hpp:556:25: error: ‘__always_inline__’ attribute ignored [-Werror=attributes]
ETL_INLINE_VEC_512D div<true>(__m512d lhs, __m512d rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:556:25: error: ‘__gnu_inline__’ attribute ignored [-Werror=attributes]
etl/include/etl/avx512_vectorization.hpp:556:25: error: ‘__artificial__’ attribute ignored [-Werror=attributes]
etl/include/etl/avx512_vectorization.hpp:556:25: error: expected ‘;’ at end of member declaration
etl/include/etl/avx512_vectorization.hpp:556:25: error: redeclaration of ‘__m512d etl::avx512_vec::div’
etl/include/etl/avx512_vectorization.hpp:539:24: note: previous declaration ‘__m512 etl::avx512_vec::div’
ETL_INLINE_VEC_512 div<true>(__m512 lhs, __m512 rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:556:28: error: expected unqualified-id before ‘<’ token
ETL_INLINE_VEC_512D div<true>(__m512d lhs, __m512d rhs) {
^
etl/include/etl/avx512_vectorization.hpp: In static member function ‘static __m512 etl::avx512_vec::mul(__m512, __m512)’:
etl/include/etl/avx512_vectorization.hpp:505:53: error: unused parameter ‘rhs’ -Werror=unused-parameter]
ETL_INLINE_VEC_512 mul<true>(__m512 lhs, __m512 rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp: In static member function ‘static __m512d etl::avx512_vec::mul(__m512d, __m512d)’:
etl/include/etl/avx512_vectorization.hpp:522:56: error: unused parameter ‘rhs’ -Werror=unused-parameter]
ETL_INLINE_VEC_512D mul<true>(__m512d lhs, __m512d rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp: At global scope:
etl/include/etl/avx512_vectorization.hpp:634:1: error: ‘ETL_OUT_VEC_512’ does not name a type; did you mean ‘ETL_OUT_VEC_512D’?
ETL_OUT_VEC_512 avx512_vec::mul<true>(__m512 lhs, __m512 rhs) {
^~~~~~~~~~~~~~~
ETL_OUT_VEC_512D
etl/include/etl/avx512_vectorization.hpp:643:18: error: template-id ‘mul<true>’ for ‘__m512d etl::avx512_vec::mul(__m512d, __m512d)’ does not match any template declaration
ETL_OUT_VEC_512D avx512_vec::mul<true>(__m512d lhs, __m512d rhs) {
^~~~~~~~~~
etl/include/etl/avx512_vectorization.hpp:522:25: note: candidates are: static __m512d etl::avx512_vec::mul(__m512d, __m512d)
ETL_INLINE_VEC_512D mul<true>(__m512d lhs, __m512d rhs) {
^~~~~~~~~
etl/include/etl/avx512_vectorization.hpp:505:24: note: static __m512 etl::avx512_vec::mul(__m512, __m512)
ETL_INLINE_VEC_512 mul<true>(__m512 lhs, __m512 rhs) {
^~~~~~~~~
etl/include/etl/avx512_vectorization.hpp:497:24: note: template<bool Complex> static __m512 etl::avx512_vec::mul(__m512, __m512)
ETL_INLINE_VEC_512 mul(__m512 lhs, __m512 rhs) {
^~~
etl/include/etl/avx512_vectorization.hpp:652:1: error: ‘ETL_OUT_VEC_512’ does not name a type; did you mean ‘ETL_OUT_VEC_512D’?
ETL_OUT_VEC_512 avx512_vec::div<true>(__m512 lhs, __m512 rhs) {
^~~~~~~~~~~~~~~
ETL_OUT_VEC_512D
etl/include/etl/avx512_vectorization.hpp:661:33: error: expected initializer before ‘<’ token
ETL_OUT_VEC_512D avx512_vec::div<true>(__m512d lhs, __m512d rhs) {
^
cc1plus: all warnings being treated as errors
Makefile:172: recipe for target 'release_debug/processor/src/processor.cpp.o' failed
make: *** [release_debug/processor/src/processor.cpp.o] Error 1
root@mail:~/dll/dll# g++ --version
g++ (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hi,
I am using the following make file to compile example/src/mnist_ae.cpp.
DLL_HOME = /home/tcn/Downloads/dll/
2 CUDA_HOME = /usr/local/cuda
3
4 CLANG = g++
5 CXXFLAGS += -std=c++14
6 LDFLAGS += -lpthread
7
8 ##########################################################
9 #DLL
10 ##########################################################
11 CPPFLAGS += -I${DLL_HOME}/include
12 CPPFLAGS += -I${DLL_HOME}/Catch/include
13 CPPFLAGS += -I${DLL_HOME}/etl/include
14 CPPFLAGS += -I${DLL_HOME}/etl/lib/include
15 CPPFLAGS += -I${DLL_HOME}/mnist/include
16 CPPFLAGS += -I${DLL_HOME}/cifar-10/include
17 CPPFLAGS += -I${DLL_HOME}/nice-svm/include
18
19 DLLFLAGS += -DETL_PARALLEL
20 DLLFLAGS += -DETL_VECTORIZE_FULL
21 ##DLLFLAGS += -DETL_BLAS_MODE
22 DLLFLAGS += -DETL_CUBLAS_MODE
23 DLLFLAGS += -DETL_CUDNN_MODE
24 #DLLFLAGS += -DETL_EGBLAS_MODE
25
26 ##########################################################
27 #CUDA
28 ##########################################################
29 CPPFLAGS += -I${CUDA_HOME}/include
30 LDFLAGS += -L${CUDA_HOME}/lib64 -lcublas -lcudart
31
32 ##########################################################
33 #MAKE
34 ##########################################################
35 all:
36
37 main:
38 ${CLANG} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DLLFLAGS} mnist_ae.cpp
However, it has the following the link error:mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x45): undefined reference to cudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0xec): undefined reference to
cudnnSetTensor4dDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x119): undefined reference to cudnnGetErrorString' /tmp/ccwc5ErW.o: In function
cudnnTensorStruct* etl::impl::cudnn::create_tensor_flat<etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&)':
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x1c): undefined reference to cudnnCreateTensorDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0x45): undefined reference to
cudnnGetErrorString'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0xec): undefined reference to cudnnSetTensor4dDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0x119): undefined reference to
cudnnGetErrorString'
Seems that it cannot link to cuda. However, my cuda is located at /usr/local/cuda. And my machine has a tensorflow, and it can link to cuda and run.
Can you help me rule out the problem?
Thanks.
How I can resolve captcha?
for example https://github.com/aero2a/kape-
Will you keep update?
Dll is a good deep learning lib.
I compile the dll on Mac with clang-900.0.39.2, but I get the following errors:
dll/etl/include/etl/impl/std/fft.hpp:638:22: error: use of undeclared identifier 'M_PIl'; did you mean 'P_PID'?
dll/etl/include/etl/op/unary/exp.hpp:62:19: error: no member named 'exp' in 'etl::no_vec'
dll/etl/include/etl/op/unary/log.hpp:62:19: error: no member named 'log' in 'etl::no_vec'
dll/etl/include/etl/expr/unary_expr.hpp:169:34: error: no matching member function for call to 'load'
any solutions?
Hello.
When I use -DETL_BLAS_MODE flag to compile, I get these error. I have already installed liblapack.
clang++-4.0 -DETL_PARALLEL -DETL_VECTORIZE_FUL -DETL_BLAS_MODE -std=c++1z -lpthread -llapack -lblas main.cpp
In file included from main.cpp:8:
In file included from dll/neural/conv_layer.hpp:11:
In file included from dll/neural/dyn_conv_layer.hpp:10:
In file included from dll/neural/dyn_conv_layer_impl.hpp:11:
In file included from dll/neural_layer.hpp:15:
In file included from dll/etl/etl.hpp:108:
In file included from dll/etl/expr/gemm_expr.hpp:15:
dll/etl/impl/blas/gemm.hpp:952:32: error: use of undeclared identifier 'mkl_get_max_threads'
auto mkl_threads = mkl_get_max_threads();
^
dll/etl/impl/blas/gemm.hpp:954:13: error: use of undeclared identifier 'mkl_set_num_threads'
mkl_set_num_threads(1);
^
dll/etl/impl/blas/gemm.hpp:1250:32: error: use of undeclared identifier 'mkl_get_max_threads'
auto mkl_threads = mkl_get_max_threads();
^
dll/etl/impl/blas/gemm.hpp:1252:13: error: use of undeclared identifier 'mkl_set_num_threads'
mkl_set_num_threads(1);
^
4 errors generated.
any solutions?
I want to use DLL with GPU.
So I install cuda-toolkit 7.5 & cudnn (corresponding version of cuda-toolkit 7.5).
I write down my Makefile as shown above (-DETL_CUBLAS_MODE -DETL_CUDNN_MODE).
However,
It make error when I execute make ae:
kjlee@ubuntu:
/Study/DLL/1_test$ make ae/Study/DLL/1_test$ vi Makefile
clang++-3.9 -std=c++14 -I/home/kjlee/lib/dll/include -I/home/kjlee/lib/dll/Catch/include -I/home/kjlee/lib/dll/etl/include -I/home/kjlee/lib/dll/etl/lib/include -I/home/kjlee/lib/dll/mnist/include -I/home/kjlee/lib/dll/cifar-10/include -I/home/kjlee/lib/dll/nice-svm/include -I/home/kjlee/lib/cuda-7.5/include -lpthread -L/home/kjlee/lib/cuda-7.5/lib -L/home/kjlee/lib/cuda-7.5/lib64 -lcublas -lcudart -DETL_PARALLEL -DETL_VECTORIZE_FULL mnist_ae.cpp
/usr/bin/ld: skipping incompatible /home/kjlee/lib/cuda-7.5/lib/libcudart.so when searching for -lcudart
kjlee@ubuntu:
kjlee@ubuntu:~/Study/DLL/1_test$ make ae
clang++-3.9 -std=c++14 -I/home/kjlee/lib/dll/include -I/home/kjlee/lib/dll/Catch/include -I/home/kjlee/lib/dll/etl/include -I/home/kjlee/lib/dll/etl/lib/include -I/home/kjlee/lib/dll/mnist/include -I/home/kjlee/lib/dll/cifar-10/include -I/home/kjlee/lib/dll/nice-svm/include -I/home/kjlee/lib/cuda-7.5/include -lpthread -L/home/kjlee/lib/cuda-7.5/lib -L/home/kjlee/lib/cuda-7.5/lib64 -lcublas -lcudart -DETL_PARALLEL -DETL_VECTORIZE_FULL -DETL_CUBLAS_MODE -DETL_CUDNN_MODE mnist_ae.cpp
/usr/bin/ld: skipping incompatible /home/kjlee/lib/cuda-7.5/lib/libcudart.so when searching for -lcudart
/tmp/mnist_ae-95cfa4.o: In functionvoid etl::impl::cudnn::bias_add_2d<etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 1ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 1ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&)': mnist_ae.cpp:(.text._ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_[_ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_]+0x5b): undefined reference to
cudnnCreateTensorDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1[ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1]+0x9a): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_[_ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_]+0x241): undefined reference to
cudnnSetTensor4dDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1[ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1]+0x286): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_[_ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_]+0x479): undefined reference to
cudnnTransformTensor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1[ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1]+0x4be): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_[_ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1_]+0x704): undefined reference to
cudnnDestroyTensorDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1[ZN3etl4impl5cudnn11bias_add_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERKNS3_IfLS4_0ELm1EEERS5_EEvOT_OT0_OT1]+0x749): undefined reference tocudnnGetErrorString' /tmp/mnist_ae-95cfa4.o: In function
etl::impl::cudnn::cudnn_wrapper<cudnnTensorStruct*>::~cudnn_wrapper()':
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13cudnn_wrapperIP17cudnnTensorStructED2Ev[_ZN3etl4impl5cudnn13cudnn_wrapperIP17cudnnTensorStructED2Ev]+0x29): undefined reference tocudnnDestroyTensorDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13cudnn_wrapperIP17cudnnTensorStructED2Ev[_ZN3etl4impl5cudnn13cudnn_wrapperIP17cudnnTensorStructED2Ev]+0x65): undefined reference to
cudnnGetErrorString'
/tmp/mnist_ae-95cfa4.o: In functionetl::impl::cudnn::cudnn_handle::cudnn_handle()': mnist_ae.cpp:(.text._ZN3etl4impl5cudnn12cudnn_handleC2Ev[_ZN3etl4impl5cudnn12cudnn_handleC2Ev]+0x11): undefined reference to
cudnnCreate'
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn12cudnn_handleC2Ev[_ZN3etl4impl5cudnn12cudnn_handleC2Ev]+0x43): undefined reference tocudnnGetErrorString' /tmp/mnist_ae-95cfa4.o: In function
etl::impl::cudnn::cudnn_handle::~cudnn_handle()':
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn12cudnn_handleD2Ev[_ZN3etl4impl5cudnn12cudnn_handleD2Ev]+0x10): undefined reference tocudnnDestroy' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn12cudnn_handleD2Ev[_ZN3etl4impl5cudnn12cudnn_handleD2Ev]+0x4c): undefined reference to
cudnnGetErrorString'
/tmp/mnist_ae-95cfa4.o: In functioncudnnTensorStruct* etl::impl::cudnn::create_tensor<etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, (cpp::detail::enabler_t)0>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&)': mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x1b): undefined reference to
cudnnCreateTensorDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x4d): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x145): undefined reference to
cudnnSetTensor4dDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn13create_tensorIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x177): undefined reference tocudnnGetErrorString' /tmp/mnist_ae-95cfa4.o: In function
cudnnTensorStruct* etl::impl::cudnn::create_tensor<etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&, (cpp::detail::enabler_t)0>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&)':
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x1b): undefined reference tocudnnCreateTensorDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x4d): undefined reference to
cudnnGetErrorString'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x145): undefined reference tocudnnSetTensor4dDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x177): undefined reference to
cudnnGetErrorString'
/tmp/mnist_ae-95cfa4.o: In functionvoid etl::impl::cudnn::activation<etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&, cudnnActivationMode_t)': mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x53): undefined reference to
cudnnCreateActivationDescriptor'
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x8f): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x1df): undefined reference to
cudnnSetActivationDescriptor'
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x224): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x41f): undefined reference to
cudnnActivationForward'
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x464): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x5a5): undefined reference to
cudnnDestroyActivationDescriptor'
mnist_ae.cpp:(.text._ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t[_ZN3etl4impl5cudnn10activationIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERS5_EEvOT_OT0_21cudnnActivationMode_t]+0x5ea): undefined reference tocudnnGetErrorString' /tmp/mnist_ae-95cfa4.o: In function
cudnnTensorStruct* etl::impl::cudnn::create_tensor_flat<etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&)':
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x1b): undefined reference tocudnnCreateTensorDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0x4d): undefined reference to
cudnnGetErrorString'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x12d): undefined reference tocudnnSetTensor4dDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0x15f): undefined reference to
cudnnGetErrorString'
/tmp/mnist_ae-95cfa4.o: In functioncudnnTensorStruct* etl::impl::cudnn::create_tensor_flat<etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul>&)': mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0x1b): undefined reference to
cudnnCreateTensorDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x4d): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT_]+0x12d): undefined reference to
cudnnSetTensor4dDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn18create_tensor_flatIRNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEEEEP17cudnnTensorStructOT]+0x15f): undefined reference tocudnnGetErrorString' /tmp/mnist_ae-95cfa4.o: In function
void etl::impl::cudnn::bias_batch_mean_2d<etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 1ul>&>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, etl::dyn_matrix_impl<float, (etl::order)0, 1ul>&)':
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn18bias_batch_mean_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERNS3_IfLS4_0ELm1EEEEEvOT_OT0[ZN3etl4impl5cudnn18bias_batch_mean_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERNS3_IfLS4_0ELm1EEEEEvOT_OT0]+0xe2): undefined reference tocudnnConvolutionBackwardBias' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn18bias_batch_mean_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERNS3_IfLS4_0ELm1EEEEEvOT_OT0_[_ZN3etl4impl5cudnn18bias_batch_mean_2dIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEERNS3_IfLS4_0ELm1EEEEEvOT_OT0_]+0x11e): undefined reference to
cudnnGetErrorString'
/tmp/mnist_ae-95cfa4.o: In functioncudnnTensorStruct* etl::impl::cudnn::create_tensor_front<etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&, (cpp::detail::enabler_t)0>(etl::dyn_matrix_impl<float, (etl::order)0, 2ul> const&)': mnist_ae.cpp:(.text._ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x1b): undefined reference to
cudnnCreateTensorDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x4d): undefined reference tocudnnGetErrorString' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x139): undefined reference to
cudnnSetTensor4dDescriptor'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn19create_tensor_frontIRKNS_15dyn_matrix_implIfLNS_5orderE0ELm2EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x16b): undefined reference tocudnnGetErrorString' /tmp/mnist_ae-95cfa4.o: In function
cudnnTensorStruct* etl::impl::cudnn::create_tensor<etl::dyn_matrix_impl<float, (etl::order)0, 1ul>&, (cpp::detail::enabler_t)0>(etl::dyn_matrix_impl<float, (etl::order)0, 1ul>&)':
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x1b): undefined reference tocudnnCreateTensorDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x4d): undefined reference to
cudnnGetErrorString'
mnist_ae.cpp:(.text.ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT[ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT]+0x133): undefined reference tocudnnSetTensor4dDescriptor' mnist_ae.cpp:(.text._ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_[_ZN3etl4impl5cudnn13create_tensorIRNS_15dyn_matrix_implIfLNS_5orderE0ELm1EEELN3cpp6detail9enabler_tE0EEEP17cudnnTensorStructOT_]+0x165): undefined reference to
cudnnGetErrorString'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [ae] error 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.