ceccocats/tkDNN

make error

Closed this issue · 12 comments

Error limit reached.
100 errors detected in the compilation of "/home/dir/tkDNN/src/kernels/normalize.cu".
Compilation terminated.
CMake Error at kernels_generated_normalize.cu.o.cmake:280 (message):
Error generating file
/home/dir/tkDNN/build/CMakeFiles/kernels.dir/src/kernels/./kernels_generated_normalize.cu.o

make[2]: *** [CMakeFiles/kernels.dir/build.make:3732: CMakeFiles/kernels.dir/src/kernels/kernels_generated_normalize.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:90

Can you give further details? How did you get this error? On which board/OS?

Ok cool, then I'm closing the issue.

I am getting the same error, can anyone help me with this issue.
Screenshot from 2021-10-11 12-21-05

Screenshot from 2021-10-11 12-22-40

I added the screenshots of the tensorrt, cudnn and, cuda version

Any help is very much appreciated. Thanks in advance :)

tensorrt-8 isn't supported at the moment,it is a work in progress ,the latest supported tensorrt version by tkDNN is 7.x

Thank you for the information. But the tensorrt 7.2.x packages are supported only for ubuntu 18.04. I am using ubuntu 20.04. I read some nvidia forums, and couldn't find a way to run 7.2 on ubuntu 20.04. Can you please suggest a way to make this work? Thanks in advance :)

Tensorrt 7.2 works on Ubuntu 20.04 ,I use it with cuda 10.2 and cuddn 8.1.1 on Ubuntu 20.04 ,just make sure to use the tar packages

If tar packages are not an option,you could try using the dockerfile in the repo to set up your own docker environment

Thanks for the information. I am using docker now and it's working great. The versions of cuda, tensorrt in my host system and the docker image are different, can you please explain how these different versions are managed by the nvidia docker.

Thanks in advance.

This article could maybe help you https://towardsdatascience.com/how-to-properly-use-the-gpu-within-a-docker-container-4c699c78c6d1 ,but yeah you can manage multiple versions of cuda on the same machine ,this article could help you on that https://towardsdatascience.com/installing-multiple-cuda-cudnn-versions-in-ubuntu-fcb6aa5194e2

Sorry for the trouble. I am having a problem with c++, opencv code.

// filename: verify_opencv_cuda.cpp

#include <iostream>
using namespace std;

#include <opencv2/core.hpp>
using namespace cv;

#include <opencv2/cudaarithm.hpp>
using namespace cv::cuda;

int main()
{
    cout << cv::cuda::getDevice() << endl;
    return 0;
}

This is the code I am trying to run and I am getting the following error.

/tmp/ccFNNOtj.o: In function `main':
verify_opencv_cuda.cpp:(.text+0x5): undefined reference to `cv::cuda::getDevice()'
collect2: error: ld returned 1 exit status

I am running the code using the following command

g++ verify_opencv_cuda.cpp -I /usr/local/include/opencv4/

Am I missing something here. Even though I have some experience with c++, I have no experience with c++ libraries and how to use them while compiling. I am using visual studio code with remote container extension to run this code.

When I checked the cv::cuda namespace there is no function name getDevice (refer to the image below):
Screenshot from 2021-10-15 23-18-25

Any help would be greatly helpful. Can someone provide a good resource on how to use cmake to automate the compilation and running the code. Thanks in advance :)

my guess is that you aren't linking opencv libraries properly