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
程序运行得到如下结果:
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
最后的运行截图如下:
4.运行conv
首先需要进入code/intel/convolution/mkl_conv/文件夹中然后使用make命令,将得要一个std_conv_bench 运行文件,直接运行便可以。
make
./std_conv_bench
运行截图如下:
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
运行结果如下:
网友评论