intel / webml-polyfill

Deprecated, the Web Neural Network Polyfill project has been moved to https://github.com/webmachinelearning/webnn-polyfill
Apache License 2.0
161 stars 42 forks source link

[Chromium] Implement MKL-DNN backend #6

Closed BruceDai closed 5 years ago

huningxin commented 6 years ago

https://github.com/intel/mkl-dnn

huningxin commented 5 years ago

WebNN POC ops to mkl-dnn ops mapping

Op Type mkl-dnn
ADD Sum
AVERAGE_POOL_2D Pooling with mkldnn_pooling_max
CONCATENATION Concat
CONV_2D Convolution
DEPTHWISE_CONV_2D Convolution with grouped weights
MAX_POOL_2D Pooling with mkldnn_pooling_avg
MUL Not supported https://github.com/intel/mkl-dnn/issues/255
RESHAPE Reorder
SOFTMAX Softmax
FULLY_CONNECTED Inner Product
huningxin commented 5 years ago

TODOs:

huningxin commented 5 years ago

https://github.com/otcshare/chromium-src/pull/65 for code refactoring has been merged. The mkl-dnn support is under development. Move the milestone to January.

huningxin commented 5 years ago

Done mkl-dnn compilation and execution impls. Will implement CONV_2D in first PR and create issues to track other ops.

huningxin commented 5 years ago

Created issues:

huningxin commented 5 years ago

@BruceDai , MKLDNN backend merged. Please help verify the basic functionalities and CONV_2D op on both Windows and Linux. Thanks!