1. 14 Feb, 2018 1 commit
    • Pruthvi's avatar
      pattern matcher for BatchnormFprop + mkldnn integration in the CPU emitter (#468) · 34b1322d
      Pruthvi authored
      * fuse dot(a,b) + c
      
      cblas_gemm working on mlp
      
      rebase & small fixes
      
      enable debug output
      
      support replacing function's outputs
      
      * WIP pattern matching for variance
      
      * - Added pattern matcher graph to look up variance(sub graph) in bn
      - Added test case to verify the variance graph pattern
      
      * added batch norm mean pattern matcher.
      
      * remove reshapes
      
      (cherry picked from commit ecad321fb1b1bc3f7facda229beb940118ca0701)
      
      * fixed mean test to use Matcher.
      
      * resolve merge conflict in test/pattern.cpp
      
      * WIP bn fprop pattern
      
      * fprop bn fusion working
      
      * - Added unit test case to read the bn serializeed *.json file and run bn fprop fusion pass
      - Added batchnorm header file and defined the bn class to emit the mkldnn kernel
      - Added pattern matcher for fprop bn in CPU graph_rewrite pass
      
      * WIP MKLDNN fprop bn emitter code
      
      * completed fprop batchnorm kernel in CPU emitter
      
      * fixed bug in the emitter code for fprop bn
      
      * - Fixed copilation issues
      - unit tests are passing for bn emitter fprop code
      
      * Added support to compute fprop bn with mean annd variance as input
      
      * resolved compilation issues
      
      * refactored bn fprop code
      
      * - added batchnorm src file to the CMakeFilelist
      - moved bn fusion under CPU runtime/pass/cpu_fusion
      - fixed compilation issue
      
      * Resolved compilation issues in bn emitted code
      
      * Addded debug statements in fprop bn emitted code
      
      * added batchnorm.cpp src file
      
      * - Added test case to test fprop batchnorm with known tensor values
      - fixed bug related to defining weights in fprop bn
      
      * - Added test case for fprop batchnorm Op
      - Added test case for mean and variance pattern matcher
      - Added fprop bn *.json file with input having 4dmis mb2c3h2w2
      - refactored fprop bn op class
      
      * Style fix
      
      * - Removed Debug symbols
      
      * - Fixed header template with correct year
      - appended mkldnn.hpp in the CPU generated code
      
      *  Addressed PR review comments
       -  added support for batchnorm op in serializer and de-serializer
       - added more sanity in bn constructor
       - renamed "BatchnormFprop" -> BatchNorm
      
      * - Addressed PR review comments
      - replaced auto with speicfic mkldnn::type in emitted bn kernel
      - modified function signature to take 'eps' as double instead of <Node> type
      
      * added missing header files, resolved compilation issue
      
      * style fix
      
      * Addressed PR comments
      1. initilized member variables for bn in the same order as they are defined
      2. renamed bn member variables to start with m_* as per coding convention
      3. moved bn fusion test to test/cpu_fusion.cpp
      4. style fix
      5. added more checks to evaluate type and shape of inputs to bn
      
      * Added support for EMITDECL macro for batchnorm
      
      * - made correction to batchnorm src file name batchnorm -> batch_norm as per coding guidelines
      - corrected bn copy_with_new_args() method
      
      * Removed redundant SqrtOp support in serializer
      34b1322d