warmspringwinds / pytorch-cpp

Pytorch C++ Library
369 stars 68 forks source link

ATen is out of date #8

Open samhodge opened 6 years ago

samhodge commented 6 years ago

I am getting:

4 errors generated. make[2]: [src/ATen/CMakeFiles/ATen.dir/ATen/CPUByteType.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... /Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/CPUCharType.cpp:1913:12: error: conversion from 'long' to 'at::Scalar' is ambiguous return THCharTensorsumall(self->tensor); ^~~~~~~~~~ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor AT_FORALL_SCALAR_TYPES(DEFINE_IMPLICIT_CTOR) ^ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/CPUCharType.cpp:1947:12: error: conversion from 'long' to 'at::Scalar' is ambiguous return THCharTensorprodall(self->tensor); ^~~~~~~~~~~ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor AT_FORALL_SCALAR_TYPES(DEFINE_IMPLICIT_CTOR) ^ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/CPUCharType.cpp:2002:12: error: conversion from 'long' to 'at::Scalar' is ambiguous return THCharTensortrace(self->tensor); ^~~~~~~~~ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor AT_FORALL_SCALAR_TYPES(DEFINE_IMPLICIT_CTOR) ^ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/CPUCharType.cpp:2534:12: error: conversion from 'long' to 'at::Scalar' is ambiguous return THCharTensordot(self->tensor, tensor_->tensor); ^~~~~~~~~~~~ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor AT_FORALL_SCALAR_TYPES(DEFINE_IMPLICIT_CTOR) ^ /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor /Volumes/Hodge/dev/pytorch-cpp/ATen/src/ATen/../ATen/Scalar.h:25:26: note: candidate constructor 4 errors generated.

I will test to see if that is fixed on the ATen master.

samhodge commented 6 years ago

It is fixed on the ATen master, works OK on Ubuntu, but OSX clang 8.0 and clang 9.0 not so much.

samhodge commented 6 years ago

OK when I use the aten from the master I get the following when building pytorch-cpp examples

HodgeFalysiMac2:build hodgefamily$ make -j8
Scanning dependencies of target opencv_realtime_webcam_human_segmentation
Scanning dependencies of target opencv_realtime_webcam_imagenet_classification
Scanning dependencies of target read_allocated_gpu_memory
Scanning dependencies of target pytorch_results_deviation
[ 12%] Building CXX object CMakeFiles/read_allocated_gpu_memory.dir/examples/read_allocated_gpu_memory.cpp.o
[ 25%] Building CXX object CMakeFiles/pytorch_results_deviation.dir/examples/pytorch_results_deviation.cpp.o
[ 50%] Building CXX object CMakeFiles/opencv_realtime_webcam_imagenet_classification.dir/examples/opencv_realtime_webcam_imagenet_classification.cpp.o
[ 50%] Building CXX object CMakeFiles/opencv_realtime_webcam_human_segmentation.dir/examples/opencv_realtime_webcam_human_segmentation.cpp.o
[ 62%] Linking CXX executable read_allocated_gpu_memory
[ 62%] Built target read_allocated_gpu_memory
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/pytorch_results_deviation.cpp:12:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:341:11: error: use of undeclared identifier
      'Threshold_updateOutput'
          Threshold_updateOutput(input, input, 0, 0, true) ;
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:478:15: error: use of undeclared identifier
      'SpatialDilatedConvolution_updateOutput'
              SpatialDilatedConvolution_updateOutput(input,
              ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:496:15: error: use of undeclared identifier
      'SpatialConvolutionMM_updateOutput'
              SpatialConvolutionMM_updateOutput(input,
              ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:583:11: error: use of undeclared identifier
      'BatchNormalization_updateOutput'
          BatchNormalization_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:717:11: error: use of undeclared identifier
      'SpatialMaxPooling_updateOutput'
          SpatialMaxPooling_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:791:11: error: use of undeclared identifier
      'SpatialAveragePooling_updateOutput'
          SpatialAveragePooling_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:888:20: error: no matching member function for call to
      'addmm_'
            output.addmm_(0, 1, input, parameters["weight"].t());
            ~~~~~~~^~~~~~
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/TensorMethods.h:705:25: note: candidate function
      not viable: no known conversion from 'int' to 'const at::Tensor' for 1st argument
inline Tensor & Tensor::addmm_(const Tensor & mat1, const Tensor & mat2, Scalar beta, Scalar alpha) {
                        ^
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/TensorMethods.h:708:25: note: candidate function
      not viable: no known conversion from 'int' to 'at::SparseTensor' for 1st argument
inline Tensor & Tensor::addmm_(SparseTensor mat1, const Tensor & mat2, Scalar beta, Scalar alpha) {
                        ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/pytorch_results_deviation.cpp:12:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1407:37: error: no matching member function for call to
      'tensorFromBlob'
        buffer_tensor = CPU(kFloat).tensorFromBlob(float_buffer, dims_int);
                        ~~~~~~~~~~~~^~~~~~~~~~~~~~
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/Type.h:117:10: note: candidate function not
      viable: no known conversion from 'vector<long>' to 'IntList' (aka 'ArrayRef<long long>') for 2nd
      argument
  Tensor tensorFromBlob(void * data, IntList sizes, const std::function<void(void*)> & deleter=no...
         ^
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/Type.h:118:10: note: candidate function not
      viable: requires at least 3 arguments, but 2 were provided
  Tensor tensorFromBlob(void * data, IntList sizes, IntList strides, const std::function<void(voi...
         ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/pytorch_results_deviation.cpp:12:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1489:7: error: use of undeclared identifier
      'SpatialUpSamplingBilinear_updateOutput'
      SpatialUpSamplingBilinear_updateOutput(input_tensor, output, output_height, output_width);
      ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1522:7: error: use of undeclared identifier
      'SpatialAveragePooling_updateOutput'
      SpatialAveragePooling_updateOutput(input_tensor,
      ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1541:7: error: use of undeclared identifier
      'SoftMax_updateOutput'
      SoftMax_updateOutput(input_tensor, output);
      ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/opencv_realtime_webcam_imagenet_classification.cpp:12:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:341:11: error: use of undeclared identifier
      'Threshold_updateOutput'
          Threshold_updateOutput(input, input, 0, 0, true) ;
          ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/opencv_realtime_webcam_human_segmentation.cpp:14:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:341:11: error: use of undeclared identifier
      'Threshold_updateOutput'
          Threshold_updateOutput(input, input, 0, 0, true) ;
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:478:15: error: use of undeclared identifier
      'SpatialDilatedConvolution_updateOutput'
              SpatialDilatedConvolution_updateOutput(input,
              ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:478:15: error: use of undeclared identifier
      'SpatialDilatedConvolution_updateOutput'
              SpatialDilatedConvolution_updateOutput(input,
              ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:496:15: error: use of undeclared identifier
      'SpatialConvolutionMM_updateOutput'
              SpatialConvolutionMM_updateOutput(input,
              ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:496:15: error: use of undeclared identifier
      'SpatialConvolutionMM_updateOutput'
              SpatialConvolutionMM_updateOutput(input,
              ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:583:11: error: use of undeclared identifier
      'BatchNormalization_updateOutput'
          BatchNormalization_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:583:11: error: use of undeclared identifier
      'BatchNormalization_updateOutput'
          BatchNormalization_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:717:11: error: use of undeclared identifier
      'SpatialMaxPooling_updateOutput'
          SpatialMaxPooling_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:717:11: error: use of undeclared identifier
      'SpatialMaxPooling_updateOutput'
          SpatialMaxPooling_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:791:11: error: use of undeclared identifier
      'SpatialAveragePooling_updateOutput'
          SpatialAveragePooling_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:791:11: error: use of undeclared identifier
      'SpatialAveragePooling_updateOutput'
          SpatialAveragePooling_updateOutput(input,
          ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:888:20: error: no matching member function for call to
      'addmm_'
            output.addmm_(0, 1, input, parameters["weight"].t());
            ~~~~~~~^~~~~~
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/TensorMethods.h:705:25: note: candidate function
      not viable: no known conversion from 'int' to 'const at::Tensor' for 1st argument
inline Tensor & Tensor::addmm_(const Tensor & mat1, const Tensor & mat2, Scalar beta, Scalar alpha) {
                        ^
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/TensorMethods.h:708:25: note: candidate function
      not viable: no known conversion from 'int' to 'at::SparseTensor' for 1st argument
inline Tensor & Tensor::addmm_(SparseTensor mat1, const Tensor & mat2, Scalar beta, Scalar alpha) {
                        ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:888:20: error: no matching member function for call to
      'addmm_'
            output.addmm_(0, 1, input, parameters["weight"].t());
            ~~~~~~~^~~~~~
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/TensorMethods.h:705:25: note: candidate function
      not viable: no known conversion from 'int' to 'const at::Tensor' for 1st argument
inline Tensor & Tensor::addmm_(const Tensor & mat1, const Tensor & mat2, Scalar beta, Scalar alpha) {
                        ^
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/TensorMethods.h:708:25: note: candidate function
      not viable: no known conversion from 'int' to 'at::SparseTensor' for 1st argument
inline Tensor & Tensor::addmm_(SparseTensor mat1, const Tensor & mat2, Scalar beta, Scalar alpha) {
                        ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/opencv_realtime_webcam_imagenet_classification.cpp:12:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1407:37: error: no matching member function for call to
      'tensorFromBlob'
        buffer_tensor = CPU(kFloat).tensorFromBlob(float_buffer, dims_int);
                        ~~~~~~~~~~~~^~~~~~~~~~~~~~
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/Type.h:117:10: note: candidate function not
      viable: no known conversion from 'vector<long>' to 'IntList' (aka 'ArrayRef<long long>') for 2nd
      argument
  Tensor tensorFromBlob(void * data, IntList sizes, const std::function<void(void*)> & deleter=no...
         ^
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/Type.h:118:10: note: candidate function not
      viable: requires at least 3 arguments, but 2 were provided
  Tensor tensorFromBlob(void * data, IntList sizes, IntList strides, const std::function<void(voi...
         ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/opencv_realtime_webcam_human_segmentation.cpp:14:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1407:37: error: no matching member function for call to
      'tensorFromBlob'
        buffer_tensor = CPU(kFloat).tensorFromBlob(float_buffer, dims_int);
                        ~~~~~~~~~~~~^~~~~~~~~~~~~~
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/Type.h:117:10: note: candidate function not
      viable: no known conversion from 'vector<long>' to 'IntList' (aka 'ArrayRef<long long>') for 2nd
      argument
  Tensor tensorFromBlob(void * data, IntList sizes, const std::function<void(void*)> & deleter=no...
         ^
/Volumes/Hodge/dev/pytorch-cpp/ATen/build/src/ATen/ATen/Type.h:118:10: note: candidate function not
      viable: requires at least 3 arguments, but 2 were provided
  Tensor tensorFromBlob(void * data, IntList sizes, IntList strides, const std::function<void(voi...
         ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/opencv_realtime_webcam_imagenet_classification.cpp:12:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1489:7: error: use of undeclared identifier
      'SpatialUpSamplingBilinear_updateOutput'
      SpatialUpSamplingBilinear_updateOutput(input_tensor, output, output_height, output_width);
      ^
In file included from /Volumes/Hodge/dev/pytorch-cpp/examples/opencv_realtime_webcam_human_segmentation.cpp:14:
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1489:7: error: use of undeclared identifier
      'SpatialUpSamplingBilinear_updateOutput'
      SpatialUpSamplingBilinear_updateOutput(input_tensor, output, output_height, output_width);
      ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1522:7: error: use of undeclared identifier
      'SpatialAveragePooling_updateOutput'
      SpatialAveragePooling_updateOutput(input_tensor,
      ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1522:7: error: use of undeclared identifier
      'SpatialAveragePooling_updateOutput'
      SpatialAveragePooling_updateOutput(input_tensor,
      ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1541:7: error: use of undeclared identifier
      'SoftMax_updateOutput'
      SoftMax_updateOutput(input_tensor, output);
      ^
/Volumes/Hodge/dev/pytorch-cpp/src/pytorch.cpp:1541:7: error: use of undeclared identifier
      'SoftMax_updateOutput'
      SoftMax_updateOutput(input_tensor, output);
      ^
11 errors generated.
make[2]: *** [CMakeFiles/pytorch_results_deviation.dir/examples/pytorch_results_deviation.cpp.o] Error 1
make[1]: *** [CMakeFiles/pytorch_results_deviation.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
11 errors generated.
11 errors generated.
make[2]: *** [CMakeFiles/opencv_realtime_webcam_human_segmentation.dir/examples/opencv_realtime_webcam_human_segmentation.cpp.o] Error 1
make[1]: *** [CMakeFiles/opencv_realtime_webcam_human_segmentation.dir/all] Error 2
make[2]: *** [CMakeFiles/opencv_realtime_webcam_imagenet_classification.dir/examples/opencv_realtime_webcam_imagenet_classification.cpp.o] Error 1
make[1]: *** [CMakeFiles/opencv_realtime_webcam_imagenet_classification.dir/all] Error 2
make: *** [all] Error 2

I have made some tiny edits to make it compliant with macOS See attached file. CMakeLists.txt

Any hints at how I can get around this?

samhodge commented 6 years ago

It seems the symbols are indeed there in some form

HodgeFalysiMac2:build hodgefamily$ nm ../ATen/build/src/ATen/libATen.1.dylib | c++filt | grep Threshold_updateOutput
0000000003386700 T _THNN_CudaDoubleThreshold_updateOutput
000000000336f510 T _THNN_CudaHalfThreshold_updateOutput
000000000337afb0 T _THNN_CudaThreshold_updateOutput
00000000007add10 T _THNN_DoubleThreshold_updateOutput
00000000007aadf0 T _THNN_FloatThreshold_updateOutput
samhodge commented 6 years ago

All of the tests pass for Aten apart from this one:

HodgeFalysiMac2:build hodgefamily$ ../ATen/build/src/ATen/test/scalar_tensor_test 
1
[ CPUFloatTensor{} ]
[ Tensor (empty) ]
 1
[ CPUFloatTensor{1} ]
 1
[ CPUFloatTensor{1,1} ]
 1
 1
[ CPUFloatTensor{2} ]
1
[ CUDAFloatTensor{} ]
[ Tensor (empty) ]
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: invalid argument 2: out of range at /Volumes/Hodge/dev/pytorch-cpp/ATen/src/THC/generic/THCTensor.c:23
Abort trap: 6
warmspringwinds commented 6 years ago

Hi @samhodge -- I didn't really test it on macos yet but I will have a look at this

Thank you for letting me know about these problems 👍

samhodge commented 6 years ago

@warmspringwinds You are welcome, thanks for the awesome work with pytorch-cpp, you have a massive fan in Adelaide South Australia. When you have something to test let me know.

warmspringwinds commented 6 years ago

@samhodge Yay, You are welcome :)

For the future, try to get a linux machine -- a lot of open source projects are having issues with clang

samhodge commented 6 years ago

I would be happy with gcc on Darwin but nvidia and nvcc pulled the pin. Unbuntu 16 is working fine on dual boot of the same hardware.

pharrellyhy commented 6 years ago

@samhodge Hi, can you list the commands for building ATen with CUDA on Ubuntu? I followed the installation guide but failed. Here is the error message I got.

-- Does not need to define long separately. -- std::exception_ptr is supported. -- NUMA is not available -- Turning off deprecation warning due to glog. -- Current compiler supports avx2 extention. Will build perfkernels. -- The BLAS backend of choice:MKL -- Checking for [mkl_gf_lp64 - mkl_gnu_thread - mkl_core - gomp - pthread - m - dl] -- Library mkl_gf_lp64: /home/pharrell/anaconda3/envs/pytorch-0.4.0/lib/libmkl_gf_lp64.so -- Library mkl_gnu_thread: /home/pharrell/anaconda3/envs/pytorch-0.4.0/lib/libmkl_gnu_thread.so -- Library mkl_core: /home/pharrell/anaconda3/envs/pytorch-0.4.0/lib/libmkl_core.so -- Library gomp: -fopenmp -- Library pthread: /usr/lib/x86_64-linux-gnu/libpthread.so -- Library m: /usr/lib/x86_64-linux-gnu/libm.so -- Library dl: /usr/lib/x86_64-linux-gnu/libdl.so -- Found system Eigen at /usr/include/eigen3 -- Could NOT find pybind11 (missing: pybind11_INCLUDE_DIR) -- Found CUDA: /usr/local/cuda (found suitable version "9.0", minimum required is "7.0") -- Caffe2: CUDA detected: 9.0 -- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc -- Caffe2: CUDA toolkit directory: /usr/local/cuda -- Caffe2: Header version is: 9.0 -- Found cuDNN: v7.0.5 (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so) -- Autodetected CUDA architecture(s): 6.1 -- Added CUDA NVCC flags for: -gencode;arch=compute_61,code=sm_61 CMake Error at /home/pharrell/codebase/github/ATen/cmake/public/utils.cmake:5 (set): set given invalid arguments for CACHE mode. Call Stack (most recent call first): /home/pharrell/codebase/github/ATen/cmake/Dependencies.cmake:410 (caffe2_update_option) CMakeLists.txt:78 (include)

CMake Error at /home/pharrell/codebase/github/ATen/cmake/public/utils.cmake:5 (set): set given invalid arguments for CACHE mode. Call Stack (most recent call first): /home/pharrell/codebase/github/ATen/cmake/Dependencies.cmake:427 (caffe2_update_option) CMakeLists.txt:78 (include)

-- Could NOT find CUB (missing: CUB_INCLUDE_DIR) -- Found CUDA with FP16 support, compiling with torch.cuda.HalfTensor -- Removing -DNDEBUG from compile flags -- Compiling with OpenMP support -- MAGMA not found. Compiling without MAGMA support -- Could not find hardware support for NEON on this machine. -- No OMAP3 processor on this machine. -- No OMAP4 processor on this machine. -- SSE2 Found -- SSE3 Found -- AVX Found -- AVX2 Found -- Atomics: using GCC intrinsics -- Found a library with BLAS API (mkl). -- Found a library with LAPACK API. (mkl) -- Found CUDA: /usr/local/cuda (found suitable version "9.0", minimum required is "5.5") -- Could NOT find MKLDNN (missing: MKLDNN_INCLUDE_DIR MKLDNN_LIBRARY) -- MKLDNN not found. Compiling without MKLDNN support -- Configuring build for SLEEF-v3.2 Target system: Linux-4.13.0-45-generic Target processor: x86_64 Host system: Linux-4.13.0-45-generic Host processor: x86_64 Detected C compiler: GNU @ /usr/bin/cc -- Using option -Wall -Wno-unused -Wno-attributes -Wno-unused-result -Wno-psabi -ffp-contract=off -fno-math-errno -fno-trapping-math to compile libsleef -- Building shared libs : OFF -- MPFR : /home/pharrell/anaconda3/lib/libmpfr.so -- MPFR header file in /home/pharrell/anaconda3/include -- GMP : /home/pharrell/anaconda3/lib/libgmp.so -- RUNNING_ON_TRAVIS : 0 -- COMPILER_SUPPORTS_OPENMP : 1 -- Configuring incomplete, errors occurred!