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=<Tensor fetch_op<br/>layout=kNCHW<br/><b>NHWC</b> dim format>]
input_feed[shape=rectangle,label=<Tensor Input signal<br/>layout=kNCHW<br/><b>NHWC</b> 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
}
