digraph G { rankdir=LR feed_op[shape=circle,label="Feed Op (Input signal)\n\nPaddle"] feed_op2[shape=circle,label="Feed Op (Filter data)\n\nPaddle"] fetch_op[shape=circle,label="Fetch Op\n\nPaddle"] conv_mkldnn[shape=circle,label="conv Op\ndata_format=NHWC\n\nMKL-DNN"]; pool_mkldnn[shape=circle,label="pool Op\ndata_format=NHWC\n\nMKL-DNN"]; tensor_mkldnn[shape=rectangle,label="Tensor conv op\nlayout=kMKLDNN\nNCHW dim format"] tensor_mkldnn2[shape=rectangle,label="Tensor conv op\nlayout=kMKLDNN\nNCHW dim format"] tensor_fetch[shape=rectangle,label=layout=kNCHW
NHWC dim format>] input_feed[shape=rectangle,label=layout=kNCHW
NHWC dim format>] input_feed2[shape=rectangle,label="Tensor Input signal\nlayout=kMKLDNN\nNCHW dim format"] filter_feed[shape=rectangle,label="Tensor filter data\nlayout=kNCHW\nNCHW dim format"] filter_feed2[shape=rectangle,label="Tensor filter data\nlayout=kMKLDNN\nNCHW dim format"] feed_op -> input_feed -> input_feed2 -> conv_mkldnn -> tensor_mkldnn -> pool_mkldnn -> tensor_mkldnn2 -> fetch_op -> tensor_fetch feed_op2 -> filter_feed -> filter_feed2 -> conv_mkldnn }