Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile Issue with high_dim_filter.so On Nvidia TX1: modified_permutohedral.cc error: 'feature' was not declared in this scope #45

Open
kaisark opened this issue Sep 25, 2018 · 1 comment

Comments

@kaisark
Copy link

kaisark commented Sep 25, 2018

Hi. I ran into a modified_permutohedral.cc compile issue with Nvidia TX1 (Ubuntu 16). I am running Tensorflow 1.5 and Keras 2.2.2. I am compiling the gpu_version (USE_GPU := 1) with CUDA 8.


modified_permutohedral.cc:359:22: error: 'feature' was not declared in this scope
const float * f = (feature + k * num_dimensions);
^
modified_permutohedral.cc: In member function 'void ModifiedPermutohedral::sseCompute(tensorflow::Tensor&, const tensorflow::Tensor&, int, bool, bool) const':
modified_permutohedral.cc:622:51: error: 'seqCompute_cpu' was not declared in this scope
seqCompute_cpu( out, in, value_size, reverse, add);


(cv40py35) nvidia@tegra-ubuntu:~/cviz/crfasrnn_keras/src/cpp$ make
nvcc -std=c++11 -c -o cudacode.o high_dim_filter.cu -I/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include -I/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/external/nsync/public -D_GLIBCXX_USE_CXX11_ABI=1 -x cu -Xcompiler -fPIC --expt-relaxed-constexpr -D FILTER_GPU=1
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(56): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(80): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(100): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(192): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(216): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(236): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(52): warning: integer conversion resulted in a change of sign

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(147): warning: integer conversion resulted in a change of sign

nvcc -std=c++11 -c -o modified_permutohedral.o modified_permutohedral.cu -I/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include -I/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/external/nsync/public -D_GLIBCXX_USE_CXX11_ABI=1 -x cu -Xcompiler -fPIC --expt-relaxed-constexpr -D FILTER_GPU=1
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(56): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(80): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(100): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(192): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(216): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(236): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(52): warning: integer conversion resulted in a change of sign

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(147): warning: integer conversion resulted in a change of sign

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(56): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(80): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(100): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(192): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(216): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(236): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(52): warning: integer conversion resulted in a change of sign

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(147): warning: integer conversion resulted in a change of sign

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/generated_message_reflection.h(689): warning: variable "unused" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(56): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(80): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(100): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(192): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(216): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h(236): warning: variable "temp" was set but never used

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(52): warning: integer conversion resulted in a change of sign

/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/google/protobuf/arena_impl.h(147): warning: integer conversion resulted in a change of sign

g++ -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0 -shared -fPIC -I/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include -O2 -I/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow/include/external/nsync/public -o high_dim_filter.so high_dim_filter.cc modified_permutohedral.cc cudacode.o modified_permutohedral.o -L/home/nvidia/.virtualenvs/cv40py35/lib/python3.5/site-packages/tensorflow -ltensorflow_framework -L/usr/local/cuda/lib64 -lcuda -lcudart -D FILTER_GPU=1
modified_permutohedral.cc: In member function 'void ModifiedPermutohedral::init_cpu(const float*, int, int)':
modified_permutohedral.cc:359:22: error: 'feature' was not declared in this scope
const float * f = (feature + k * num_dimensions);
^
modified_permutohedral.cc: In member function 'void ModifiedPermutohedral::sseCompute(tensorflow::Tensor&, const tensorflow::Tensor&, int, bool, bool) const':
modified_permutohedral.cc:622:51: error: 'seqCompute_cpu' was not declared in this scope
seqCompute_cpu( out, in, value_size, reverse, add);
^
Makefile:50: recipe for target 'high_dim_filter.so' failed
make: *** [high_dim_filter.so] Error 1

@kaisark
Copy link
Author

kaisark commented Sep 26, 2018

I was able to check out Master and compile the CPU version successfully on AWS P2 instance (Ubuntu 16, tensorflow-gpu==1.8.0, Keras==2.0.8). I think there might be some typo issues ("features" vs "feature") with modified_permutohedral.cc in the GPU Branch of the project.

When can we expect a full all-GPU version of the project??? Thanks.

labels


(dl4cv) ubuntu@ip-172-31-0-76:~/cviz/crfasrnn_keras$ python run_demo.py
/home/ubuntu/.virtualenvs/dl4cv/lib/python3.5/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
Using TensorFlow backend.
2018-09-26 01:55:30.210201: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-09-26 01:55:33.592871: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-09-26 01:55:33.593295: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties:
name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235
pciBusID: 0000:00:1e.0
totalMemory: 11.17GiB freeMemory: 11.10GiB
2018-09-26 01:55:33.593328: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2018-09-26 01:55:36.321800: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-09-26 01:55:36.321853: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929] 0
2018-09-26 01:55:36.321867: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0: N
2018-09-26 01:55:36.324623: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10763 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant