intel下的deepbench配合

0.deepbench软件包下载

deepbench的软件包可以在https://github.com/baidu-research/DeepBench进行下载。

1.配置相应的环境

需要的环境包括icc、mkl、mpi、mlsl,其中mkl、mpi如果没有可以在intel的官网https://software.intel.com/en-us/performance-libraries进行下载,对于mlsl则需要在https://github.com/intel/MLSL/releases进行下载,对于icc系统一般都是有的不需要下载。

我操作的平台中

icc所在路径为/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/compilervars.sh

mkl所在路径为/opt/intel/compilers_and_libraries_2018.1.163/linux/mkl/bin/mklvars.sh

mpi所在路径为/opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpivars.sh

mlsl所在路径为/opt/intel/mlsl_2017.2.018/intel64/bin/mlslvars.sh

相应的命令行语句如下:

source /opt/intel/compilers_and_libraries_2018.1.163/linux/bin/compilervars.sh intel64

source /opt/intel/compilers_and_libraries_2018.1.163/linux/mkl/bin/mklvars.sh intel64

 source /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpivars.sh intel64

source /opt/intel/mlsl_2017.2.018/intel64/bin/mlslvars.sh

2.运行spemm

首先进入下载的deepbench目录下进入到code/intel/sgemm/,然后直接使用make就好

make

make完成之后会出现可执行程序spmm_bench,然后直接运行即可

./spmm_bench

程序运行得到如下结果:

intel下的deepbench配合_第1张图片

3.运行Intel GEMM benchmark

如同步骤2一样先进入/code/intel/gemm/文件夹中,直接使用make命令得到的是文件夹中关于bench.cpp的运行文件,不过一样是可以运行。但是如果要编译运行run_mkl_sgemm_ia.sh的话则需要用sh命令语句而不能直接用./因为用./会出现权限不够的报错,具体命令语句如下:

编译运行bench.cpp

make

./sbench

编译运行run_mkl_sgemm_ia.sh

sh run_mkl_sgemm_ia.sh

最后的运行截图如下:


intel下的deepbench配合_第2张图片

4.运行conv

首先需要进入code/intel/convolution/mkl_conv/文件夹中然后使用make命令,将得要一个std_conv_bench 运行文件,直接运行便可以。

make

./std_conv_bench

运行截图如下:


intel下的deepbench配合_第3张图片

5.运行all_reduce

其all_reduce的运行是需要进入/code/osu_allreduce文件夹中,对于allreduce的运行是需要修改一下路径。路径的修改需要在Makefile_ia进行修改,需要添加MPI_PATH与MLSL_PATH的路径。

首先进入Makefile_ia文件

vin Makefile_ia

找到MPI_PATH  ?= $(I_MPI_ROOT)与MLSL_PATH ?= $(MLSL_ROOT)这两条语句。因为我所操作平台mpi所在路径   /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpivars.sh intel64

mlsl所在路径为/opt/intel/mlsl_2017.2.018/intel64/bin/mlslvars.sh

所以我将上面两条语句跟换为如下两句:

MPI_PATH = /opt/intel/compilers_and_libraries_2018.1.163/linux/mpi

MLSL_PATH = /opt/intel/mlsl_2017.2.018

更改完成之后保存退出,然后在使用makefile,具体命令语句如下:

make -f Makefile_ia all

makefile之后便会得到一个bin文件夹,然后进入bin文件目录中去,运行osu_allreduce这个运行文件,具体命令语句如下:

mpiexec -n 4 ./osu_allreduce

运行结果如下:


intel下的deepbench配合_第4张图片

你可能感兴趣的:(intel下的deepbench配合)