ceccocats / tkDNN

Deep neural network library and toolkit to do high performace inference on NVIDIA jetson platforms
GNU General Public License v2.0
718 stars 209 forks source link

Support Jetpack 4.6 #257

Closed rodja closed 2 years ago

rodja commented 3 years ago

tkDNN seems not to be able to compile on Jetpack 4.6 (tested on Jetson Nano). After meeting the requirements with

sudo apt-get install libyaml-cpp-dev -y
pip3 install --upgrade pip
pip3 install --upgrade cmake

I get a lot of compilation errors:

mkdir build
cd build
cmake ../
cmake output

``` CMake Warning (dev) at CMakeLists.txt:21: Syntax Warning in cmake code at column 30 Argument not separated from preceding token by whitespace. This warning is for project developers. Use -Wno-dev to suppress it. -- Found CUDNN: /usr/lib/aarch64-linux-gnu/libcudnn.so -- Found CUDNN include: /usr/include -- Found NVINFER: /usr/lib/aarch64-linux-gnu/libnvinfer.so -- Found NVINFER include: /usr/include/aarch64-linux-gnu Eigen DIR: /usr/include/eigen3 install dir:/usr/local -- Configuring done -- Generating done -- Build files have been written to: /home/zauberzeug/tkDNN/build ```

make -j 6
[  1%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_upsample.cu.o
[  1%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_activation_elu.cu.o
[  1%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_activation_mish.cu.o
[  2%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_activation_leaky.cu.o
[  3%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_activation_logistic.cu.o
[  4%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_activation_relu_ceiling.cu.o
[  5%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_activation_sigmoid.cu.o
[  5%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_convert.cu.o
[  6%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_deformable_conv.cu.o
[  7%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_fill.cu.o
[  7%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_normalize.cu.o
[  8%] Building NVCC (Device) object CMakeFiles/kernels.dir/src/kernels/kernels_generated_pooling.cu.o
/home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(4): error: incomplete type is not allowed
further make output

``` /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(15): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(19): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(23): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(29): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(34): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(37): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(41): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(49): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLeakyRT.h(53): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(16): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(20): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(24): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(30): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(35): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(38): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(42): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(50): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationLogisticRT.h(54): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(15): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(19): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(23): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(29): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(34): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(37): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(41): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(49): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationReLUCeilingRT.h(53): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(16): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(20): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(24): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(30): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(35): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(38): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(42): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(50): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ActivationMishRT.h(54): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(15): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(19): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(23): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(29): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(34): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(37): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(41): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(50): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(54): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(20): error: identifier "DimsCHW" is undefined /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ReorgRT.h(20): error: expected a ";" /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(18): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(22): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(26): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(32): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(37): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(40): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(44): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(71): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RegionRT.h(75): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(20): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(24): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(30): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(42): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(47): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(50): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(54): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(73): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(77): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(27): error: identifier "DimsCHW" is undefined /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/RouteRT.h(27): error: expected a ";" /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(18): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(22): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(26): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(32): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(37): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(40): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(44): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(57): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(61): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(23): error: identifier "DimsCHW" is undefined /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/ShortcutRT.h(23): error: expected a ";" /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(6): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(34): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(38): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(42): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(48): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(53): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(56): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(60): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(90): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/YoloRT.h(94): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/UpsampleRT.h(4): error: incomplete type is not allowed /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/UpsampleRT.h(15): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/UpsampleRT.h(19): error: member function declared with "override" does not override a base class member /home/zauberzeug/tkDNN/include/tkDNN/pluginsRT/UpsampleRT.h(23): error: member function declared with "override" does not override a base class member Error limit reached. 100 errors detected in the compilation of "/tmp/tmpxft_00002d8f_00000000-6_normalize.cpp1.ii". Compilation terminated. CMake Error at kernels_generated_normalize.cu.o.cmake:280 (message): Error generating file /home/zauberzeug/tkDNN/build/CMakeFiles/kernels.dir/src/kernels/./kernels_generated_normalize.cu.o CMakeFiles/kernels.dir/build.make:138: recipe for target 'CMakeFiles/kernels.dir/src/kernels/kernels_generated_normalize.cu.o' failed make[2]: *** [CMakeFiles/kernels.dir/src/kernels/kernels_generated_normalize.cu.o] Error 1 make[2]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:906: recipe for target 'CMakeFiles/kernels.dir/all' failed make[1]: *** [CMakeFiles/kernels.dir/all] Error 2 Makefile:135: recipe for target 'all' failed make: *** [all] Error 2 ```

mive93 commented 3 years ago

Hi @rodja

Yes, we know. The problem is TensorRT 8, in which they removed the plugin version tkDNN is build onto. Therefore, it will take some time for us to change everything. We will do it eventually, but it's still a WIP right now.

mje-nz commented 2 years ago

Is anyone working on TensorRT 8 support?

mive93 commented 2 years ago

@mje-nz yes, we are.

mje-nz commented 2 years ago

@mive93 Cool, anything I can do to help?

Ram-Godavarthi commented 2 years ago

Is there a support for TensorRT 8 now ??

TheExDeus commented 2 years ago

You can try this branch: https://github.com/TheExDeus/tkDNN/tree/feature/tensorrt8_support

Ram-Godavarthi commented 2 years ago

Hi, thank you for it. But I already used yolo-> onnx -> trt 8 to accomplish the task. It is much better and easy to understand as well.

mive93 commented 2 years ago

TensorRT8 is now supported on tensorrt8 branch. Every model and data type is properly working.