Giter Site home page Giter Site logo

cudnn_conv_int8's Introduction

How to run

Compile and run src/cudnn_conv_float32.cc or src/cudnn_conv_int8.cc with CUDA 8.0 and cuDNN 6.0. The code is self contained and all the parameters are hardcoded into the code to help debugging the propblem.

Working version (32 bit float)

src/cudnn_conv_float32.cc is a simple implementation of FLOAT32 convolution using cuDNN 6. This code seems to work.

Broken version (8 bit int)

src/cudnn_conv_int8.cc is a variant of the above FLOAT32 version for INT8-based convolution. As explained in the user manual, you must have compute capability of 6.1 or higher. A number of parameters are changed from the FLOAT32 version following the user manual. This code fails with CUDNN_STATUS_NOT_SUPPORTED error.

  • Descriptor data types are set to CUDNN_DATA_INT8 for the input/output tensors and filter (See page 59)
  • Convolution descriptor has data type CUDNN_DATA_INT32, as instructed in the manual (See page 59)
  • Data format for the input/output tensor descriptors and the filter are changed to CUDNN_TENSOR_NHWC (See page 62)

We can reproduce the problem on GTX 1070, Titan X (Pascal), and Quadro 6000.

Additional information

  • CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMPUTED_GEMM (see page 62) is not supported in cudnnConvolutionFwdAlgo_t. The closest alternative seems to be CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM ("PRECOMP" instead of "PRECOMPUTED")
  • The job fails at cudnnConvolutionForward() with CUDNN_STATUS_NOT_SUPPORTED error. This happens regardless of what algorithm I choose. I tested all algo types in page 16 of the manual.
  • FLOAT32 implementation (CUDNN_DATA_FLOAT) doesn't have this issue

Please see my post on the developer forum.

cudnn_conv_int8's People

Stargazers

 avatar  avatar seung.hwan.baek avatar Chongyu Zhao avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.