Windows下利用MKL加速caffe,与openblas比较
一、介绍:先简单Mark一下网上的介绍资料,弄清楚MKL是个啥,已经与openblas等的关系。
- 矩阵运算库blas, cblas, openblas, atlas, lapack, mkl之间有什么关系,在性能上区别大吗? 摘自:https://www.zhihu.com/question/27872849
比较OpenBLAS,Intel MKL和Eigen的矩阵相乘性能。 摘自:http://www.leexiang.com/the-performance-of-matrix-multiplication-among-openblas-intel-mkl-and-eigen
二、MKL使用:
之前的项目使用的是openblas,需要替换成MKL,然后测试不同库的效率。首先需要注意的是,这种换库,或者更新cudnn的版本,需要重新编译caffe。
具体步骤:
- STEP1: 取消之前对openblas.lib静态库的依赖,然后删除openblas.dll(我为了避免是openblas还在起作用)。重新编译caffe的话,应该会在math_function.h中报错。
- STEP2: 在网上下载MKL的库,官网地址:https://software.intel.com/en-us/mkl。这里我有点疑问,看某些教程说是下载parallel_studio_xe,我理解MKL集成在parallel_studio_xe里面了。因此下载两个都是OK的。
只下载MKL的话,VS中右键项目不会出现Intel Compile那个选项。但是我之后也没有用到过这个选项。
- STEP3: 按照网上的教程:
在“配置属性”下的“Intel Performance Libraries”面板上的“Use Intel MKL”条目的右边的下拉框选择“Parallel”
在“VC++目录”下设置以下:
可执行文件目录为:D:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl
包含目录为:D:\Program Files (x86)\Intel\Composer XE 2015\mkl\include
库目录为:D:\Program Files (x86)\Intel\Composer XE 2015\compiler\lib\intel64;D:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64
注意:如果是32位的,就不是“intel 64”而是“ia32”在“自定义生成步骤”下,设置“附加依赖项”,选择以下lib文件,缺少什么可能需要尝试以下,一般是这几个:
mkl_intel_c.lib
mkl_intel_thread.lib
mkl_core.lib
libiomp5md.lib- 基本以上步骤就够了,或者参考intel官方给出的文档。
三、效率比较:我的理解,MKL对GPU并没有太多的加速功能,对CPU的加速效果还是比较明显的,跑了一个行人结构化分析:

前两次都是openblas的,最后是cudnn_6+MKL。
Windows下利用MKL加速caffe,与openblas比较的更多相关文章
- windows下利用iis建立网站网站并实现局域共享
博客园 首页 新随笔 联系 管理 订阅 随笔- 54 文章- 9 评论- 0 Windows下利用IIS建立网站并实现局域网共享 https://blog.csdn.net/qq_4148541 ...
- windows下利用dll生成lib
原来工程编译的一些dll库,这次项目需要静态库,偷懒想直接转化.看到网上一些教程,使用VC工具和建立lib项目来实现.有点麻烦.还有一种方法,仅仅利用工具和几条命令转化.来试试看.文章参考harrie ...
- windows下利用virtual 安装 flask
出处: https://segmentfault.com/a/1190000002450878 本文介绍Windows下如何从零开始搭建Python + Flask开发环境. 安装Python 2.7 ...
- 在Windows下利用php自带的mail函数发邮件
这几天看<Head First PHP & MySQL>,里面有发邮件的例子是用系统自带的mail函数发送的,自己照书上写的试了一直不成功,后来终于在网上找到解决方案,现在总结下. ...
- windows下利用OpenVPN搭建VPNserver
一.OpenVPN是一款功能强大,可跨平台(支持Win 2000/XP/2003, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, 和 OpenBSD)使用的SS ...
- Windows下利用py2exe生成静默运行的命令行程序
py2exe是python的第三方库,可以利用它将你的python脚本编译成可执行文件(exe),而在实际的开发过程中生成的dos窗口很影响用户体验,建议按以下方式让exe静默运行. 首先将你的pyt ...
- Windows下利用Windbg 分析dump
概述: 注册生成dump文件的函数. 当程序收到没有捕获的异常时,调用上述函数,生成dump文件. 利用Windbg结合编译程序时生成的pdb和代码来分析dump文件,定位问题. 如下代码生成dump ...
- 在Windows下利用Eclipse调试FFmpeg
目录 [隐藏] 1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...
- windows下用c++调用caffe做前向
参考博客: https://blog.csdn.net/muyouhang/article/details/54773265 https://blog.csdn.net/hhh0209/article ...
随机推荐
- GWAS条件分析(conditional analysis)
一.为什么要做GWAS的条件分析(conditional analysis) 我们做GWAS的时候,经常扫出一堆显著的信号,假设rs121是我们扫出来与某表型最显著相关的位点(P=1.351e-36) ...
- 20175221 2018-2019-2 《Java程序设计》第一周学习总结
20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...
- python dic字典使用
#!/usr/bin/env python -*-''' 字典的基本组成及用法: dict={key:value} dict[key]=value 字典是无序的. key值是唯一属性,一对一,几个ke ...
- idea中的一些快捷键,未完待续......
1.快速查看注释的渲染效果 在keymap中查找“Quick Documentation”并设置自己喜欢的快捷键即可 2.全局搜索 在keymap中查找“Replace in Path”并设置自己喜欢 ...
- kubernetes云平台管理实战: 故障自愈实战(四)
一.创建实验文件 [root@k8s-master ~]# cat myweb-rc.yml apiVersion: v1 kind: ReplicationController metadata: ...
- DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制
前言 深度/模板测试使用的是与后备缓冲区同等分辨率大小的缓冲区,每个元素的一部分连续位用于深度测试,其余的则用作模板测试.两个测试的目的都是为了能够根据深度/模板状态需求的设置来选择需要绘制的像素. ...
- [物理学与PDEs]第3章习题5 一维理想磁流体力学方程组的数学结构
试将一维理想磁流体力学方程组 (5. 10)-(5. 16) 化为一阶拟线性对称双曲组的形式. 解答: 由 (5. 12),(5. 16) 知 $$\beex \bea 0&=\cfrac{\ ...
- [物理学与PDEs]第2章第1节 理想流体力学方程组 1.1 预备知识
1. 理想流体: 指忽略粘性及热传导的流体. 2. 流体的状态 (运动状态及热力学状态) 的描述 (1) 速度向量 $\bbu=(u_1,u_2,u_3)$: 流体微元的宏观运动速度. (2) ...
- java反射常用类
测试实体类 public class TestClass { public String classInfo; public String getClassInfo() { return classI ...
- 6.linux安装tomcat
1.下载安装包 https://tomcat.apache.org/download-80.cgi 2.用 WinSCP 将本地的安装包 上传到 linux 服务器中 3.解压安装包( ...