CPU环境:Intel(R)Xeon(R)Gold 6148 CPU @ 2.40GHz
Fisrt,我用pip install tensorflow==1.12.0
安装了tensorflow,并下载了tensorflow-benchmark
运行1:export MKL_VERBOSE=0;export MKL_ENABLE_INSTRUCTIONS=AVX512;python tf_cnn_benchmarks.py --device=cpu --data_format=NHWC --model=alexnet --batch_size=8
运行2:export MKL_VERBOSE=0;export MKL_ENABLE_INSTRUCTIONS=AVX2;python tf_cnn_benchmarks.py --device=cpu --data_format=NHWC --model=alexnet --batch_size=8
速度几乎一样!!!我还更改了其他模型和batch_size。
第二,我还用mkl测试了caffe编译。我找到
MKL_ENABLE_INSTRUCTIONS=AVX512
的工作方式不如MKL_ENABLE_INSTRUCTIONS=AVX2
。
为什么?
答案 0 :(得分:1)
我认为您的意图是测试使用MKLDNN加速的TensorFlow。与传统的MKL库不同,此库具有仅针对DL操作的数学加速功能。但是,术语MKL和MKLDNN在Intel优化的TensorFlow中显然可以互换使用,尽管在Intel MKLDNN中得到了加速。因此,现在要回答您的问题,MKLDNN库目前还不支持控制ISA调度的功能。
顺便说一下,pip install Tensorflow
安装了Google官方的tensorflow库,该库没有MKL加速。要获取英特尔优化的TensorFlow,请参阅安装指南:https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide。要检查您的构建中是否启用了MKLDNN,请在export MKLDNN_VERSBOSE=1
上使用命令MKL_VERBOSE=1