Great job,dfm!
But I meet some problem when seting up the environment. first I run "python setup.py install", which is not work. Then I try "python setup.py build_ext --inplace", still failed. It seems that the cuda version is not match. May I ask you if there is a limit of the version of tf or cuda?
How can I solve the problem?
Wish your help!
The version I use is:
Tensorflow: 2.6
cuda: 11.3
the log is:
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from tfinterp/ops/linear/interp.h:5:0,
from tfinterp/ops/linear/linear_op.h:5,
from tfinterp/ops/linear/linear_op.cc:6:
tfinterp/ops/linear/cuda_utils.h: In function ‘tfinterp::CudaLaunchConfig tfinterp::GetCudaLaunchConfig(int, const Eigen::GpuDevice&)’:
tfinterp/ops/linear/cuda_utils.h:45:11: error: ‘const struct Eigen::GpuDevice’ has no member named ‘getNumCudaMultiProcessors’
d.getNumCudaMultiProcessors() d.maxCudaThreadsPerMultiProcessor(),
^
tfinterp/ops/linear/cuda_utils.h:45:43: error: ‘const struct Eigen::GpuDevice’ has no member named ‘maxCudaThreadsPerMultiProcessor’
d.getNumCudaMultiProcessors() d.maxCudaThreadsPerMultiProcessor(),
^
tfinterp/ops/linear/cuda_utils.h:47:51: error: ‘const struct Eigen::GpuDevice’ has no member named ‘maxCudaThreadsPerBlock’
const int thread_per_block = std::min(1024, d.maxCudaThreadsPerBlock());
^
tfinterp/ops/linear/cuda_utils.h:50:13: error: ‘const struct Eigen::GpuDevice’ has no member named ‘getNumCudaMultiProcessors’
d.getNumCudaMultiProcessors());
^
In file included from tfinterp/ops/linear/linear_op.cc:1:0:
tfinterp/ops/linear/linear_op.cc: In lambda function:
tfinterp/ops/linear/linear_op.cc:167:7: error: ‘InterpOp’ does not name a type
InterpOp<GPUDevice, type>)
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(float);
^
tfinterp/ops/linear/linear_op.cc:167:25: error: expected primary-expression before ‘,’ token
InterpOp<GPUDevice, type>)
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, __VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(float);
^
tfinterp/ops/linear/linear_op.cc:169:14: error: expected primary-expression before ‘float’
REGISTER_GPU(float);
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(float);
^
tfinterp/ops/linear/linear_op.cc:169:14: error: expected ‘;’ before ‘float’
REGISTER_GPU(float);
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new __VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(float);
^
tfinterp/ops/linear/linear_op.cc:167:31: error: expected unqualified-id before ‘>’ token
InterpOp<GPUDevice, type>)
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, VA_ARGS__)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(float);
^
tfinterp/ops/linear/linear_op.cc: In lambda function:
tfinterp/ops/linear/linear_op.cc:167:7: error: ‘InterpOp’ does not name a type
InterpOp<GPUDevice, type>)
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, __VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(double);
^
tfinterp/ops/linear/linear_op.cc:167:25: error: expected primary-expression before ‘,’ token
InterpOp<GPUDevice, type>)
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(double);
^
tfinterp/ops/linear/linear_op.cc:170:14: error: expected primary-expression before ‘double’
REGISTER_GPU(double);
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new __VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, VA_ARGS__)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(double);
^
tfinterp/ops/linear/linear_op.cc:170:14: error: expected ‘;’ before ‘double’
REGISTER_GPU(double);
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, __VA_ARGS)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(double);
^
tfinterp/ops/linear/linear_op.cc:167:31: error: expected unqualified-id before ‘>’ token
InterpOp<GPUDevice, type>)
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’
return new VA_ARGS(context); \
^
/share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’
REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS__)
^
tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’
REGISTER_KERNEL_BUILDER( \
^
tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’
REGISTER_GPU(double);
^
error: command 'gcc' failed with exit status 1
Hi - I don't have the capacity to maintain this project anymore so I'm not sure I can help with this (which looks like a core compatibility issue). Sorry!
Great job,dfm! But I meet some problem when seting up the environment. first I run "python setup.py install", which is not work. Then I try "python setup.py build_ext --inplace", still failed. It seems that the cuda version is not match. May I ask you if there is a limit of the version of tf or cuda? How can I solve the problem? Wish your help!
The version I use is:
Tensorflow: 2.6 cuda: 11.3 the log is:
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ In file included from tfinterp/ops/linear/interp.h:5:0, from tfinterp/ops/linear/linear_op.h:5, from tfinterp/ops/linear/linear_op.cc:6: tfinterp/ops/linear/cuda_utils.h: In function ‘tfinterp::CudaLaunchConfig tfinterp::GetCudaLaunchConfig(int, const Eigen::GpuDevice&)’: tfinterp/ops/linear/cuda_utils.h:45:11: error: ‘const struct Eigen::GpuDevice’ has no member named ‘getNumCudaMultiProcessors’ d.getNumCudaMultiProcessors() d.maxCudaThreadsPerMultiProcessor(), ^ tfinterp/ops/linear/cuda_utils.h:45:43: error: ‘const struct Eigen::GpuDevice’ has no member named ‘maxCudaThreadsPerMultiProcessor’ d.getNumCudaMultiProcessors() d.maxCudaThreadsPerMultiProcessor(), ^ tfinterp/ops/linear/cuda_utils.h:47:51: error: ‘const struct Eigen::GpuDevice’ has no member named ‘maxCudaThreadsPerBlock’ const int thread_per_block = std::min(1024, d.maxCudaThreadsPerBlock()); ^ tfinterp/ops/linear/cuda_utils.h:50:13: error: ‘const struct Eigen::GpuDevice’ has no member named ‘getNumCudaMultiProcessors’ d.getNumCudaMultiProcessors()); ^ In file included from tfinterp/ops/linear/linear_op.cc:1:0: tfinterp/ops/linear/linear_op.cc: In lambda function: tfinterp/ops/linear/linear_op.cc:167:7: error: ‘InterpOp’ does not name a type InterpOp<GPUDevice, type>) ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(float); ^ tfinterp/ops/linear/linear_op.cc:167:25: error: expected primary-expression before ‘,’ token InterpOp<GPUDevice, type>) ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, __VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(float); ^ tfinterp/ops/linear/linear_op.cc:169:14: error: expected primary-expression before ‘float’ REGISTER_GPU(float); ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(float); ^ tfinterp/ops/linear/linear_op.cc:169:14: error: expected ‘;’ before ‘float’ REGISTER_GPU(float); ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new __VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(float); ^ tfinterp/ops/linear/linear_op.cc:167:31: error: expected unqualified-id before ‘>’ token InterpOp<GPUDevice, type>) ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, VA_ARGS__) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:169:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(float); ^ tfinterp/ops/linear/linear_op.cc: In lambda function: tfinterp/ops/linear/linear_op.cc:167:7: error: ‘InterpOp’ does not name a type InterpOp<GPUDevice, type>) ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, __VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(double); ^ tfinterp/ops/linear/linear_op.cc:167:25: error: expected primary-expression before ‘,’ token InterpOp<GPUDevice, type>) ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(double); ^ tfinterp/ops/linear/linear_op.cc:170:14: error: expected primary-expression before ‘double’ REGISTER_GPU(double); ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new __VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, VA_ARGS__) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(double); ^ tfinterp/ops/linear/linear_op.cc:170:14: error: expected ‘;’ before ‘double’ REGISTER_GPU(double); ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER, kernel_builder, __VA_ARGS) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(double); ^ tfinterp/ops/linear/linear_op.cc:167:31: error: expected unqualified-id before ‘>’ token InterpOp<GPUDevice, type>) ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1476:24: note: in definition of macro ‘REGISTER_KERNEL_BUILDER_UNIQ’ return new VA_ARGS(context); \ ^ /share/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:1460:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER_UNIQ_HELPER’ REGISTER_KERNEL_BUILDER_UNIQ_HELPER(COUNTER__, kernel_builder, VA_ARGS__) ^ tfinterp/ops/linear/linear_op.cc:165:3: note: in expansion of macro ‘REGISTER_KERNEL_BUILDER’ REGISTER_KERNEL_BUILDER( \ ^ tfinterp/ops/linear/linear_op.cc:170:1: note: in expansion of macro ‘REGISTER_GPU’ REGISTER_GPU(double); ^ error: command 'gcc' failed with exit status 1