Dose TVM only support mkldnn dense operation?


I follow the build step in TVM and BLAS libraries to use the mkl-dnn. Then I run the script tutorials/get_started/ and print the module ir. It seems the convolution operation not use mkldnn. After that, I grep the src/include/python directory. I only find dense_mkldnn op.

My question is that TVM currently does not support convolution using the mkldnn library or dose I have missed some important information?

Git branch is master, commit id is 348144cb8b0485adca37aead0dfef9269cd2300d

To use native libraries, you have to pass them to the libs flag like so: llvm -libs=mkdnn. Also make sure you have set USE_MKLDNN=On in build/config.cmake.

Right now we only support using mkldnn for matrix multiplication.

@tkonolige Thanks for replying! I read the source code of tvm and find BYOC is exactly what’s I need. TVM use dnnl (a new mkldnn name) instead of mkldnn.

Howerver, is there a network benchmark to use dnnl compiler? I can only find snippet network in tests/python/relay/ Is there a resnet or inception serials network to use the BYOC-based TVM?

We do support network with DNNL in BYOC, but we mainly used it for BYOC demonstration and didn’t push its performance.