-
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