- 浏览: 679509 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (181)
- Matlab (16)
- Java (26)
- autoHotkey (4)
- openCV (1)
- C++ (50)
- PDF-XChange Viewer (2)
- 学术 (11)
- javascript (4)
- linux (11)
- SWT (9)
- latex (7)
- GAE (2)
- windows (6)
- C# (3)
- PS (20)
- JNI (4)
- latex,批处理 (0)
- 批处理 (4)
- Android (5)
- 矩阵论 (1)
- SVM (1)
- 概率图模型 (0)
- Python (12)
- Eigen (5)
- 编程题 (1)
- MKL (1)
- 神经网络 (9)
- 最优化 (2)
- 摄影 (1)
- PPT (0)
- After Effects (3)
- CUDA (3)
- caffe (0)
- MXNet (2)
- svn (1)
- R (0)
- 虚拟机 (0)
- tensorflow (7)
- theano (1)
- Keras (1)
- vim (1)
- xgboost (1)
- spark (6)
- eclipse (2)
- word2vec (0)
- hadoop (1)
- dmlc (1)
- git (0)
最新评论
-
jeffersonz:
请问大神,这个插件记录下来的脚本为什么不能再Extendscr ...
PhotoShop - 记录PS的所有操作为JavaScript代码 -
cherishLC:
Andy__Zou 写道cherishLC 写道Andy__Z ...
Eigen的编译选项;MKL的使用 -
Andy__Zou:
cherishLC 写道Andy__Zou 写道cherish ...
Eigen的编译选项;MKL的使用 -
cherishLC:
Andy__Zou 写道cherishLC 写道Andy__Z ...
Eigen的编译选项;MKL的使用 -
Andy__Zou:
cherishLC 写道Andy__Zou 写道 您好,您的工 ...
Eigen的编译选项;MKL的使用
使用时在工程的property页面的如下图所示位置定义(或者在#include <Eigen/Core>前使用#define定义):
1、SSE4.2支持,用Visual Studio时需要手动添加
(但不知道在哪儿用到了SSE4.2):
在include最多的Core文件中有这么一段:
更多有关Vectorization的内容参见以下页面的Vectorization一节:
http://eigen.tuxfamily.org/index.php?title=FAQ
2、将矩阵由列优先改为行优先
3、禁用Eigen的并行化
注意:要想使用OpenMP,除了不能定义以上选项外 ,在Visual Studio中还要设置 "C/C++ -> Language -> OpenMP Support"选项为:Yes (/openmp)
4、使用Intel MKL数学函数库
需要定义:
我的测试结果:MKL在资源利用和速度上比起Eigen还是有一定的优势的,矩阵越大越明显;但还是不如Matlab,可是Matlab用的也是MKL啊!!!(malab中输入version -lapack查看)。
官方文档:http://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html
Intel提供的编译选项生成器(能再难用点儿么):https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
MKL文档:https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/
MKL教程:https://software.intel.com/zh-cn/node/529734#88D72261-26DE-42D4-807B-36E48C770AFA
composer xe自行去官网下载,能试用一个月,也不知道是怎么授权的,反正我这台装了一年,卸载后,没法再装了,但别的机器拷过来的编译好的程序,再加上以下的DLL,是可以运行的。。。那么,,MKL的licence在哪一步体现了?
说下配置:Intel Composer XE 2015下载下来不能用(安装时CRC校验不通过。。。),用的是MKL11,也就是2013的版本
由于MKL11不支持VS2013,只好手动配置:
安装路径为:D:\ProgramFiles(x86)\
我只用到了X64的版本:
需要的Include路径:
需要的lib路径:
需要的lib:
运行时需要的DLL:
这些DLL是我试出来的(在没有MKL的机器上运行MKL程序),他们分布在以下两个路径中(运行时还缺DLL的话会弹出提示,提示缺少的DLL,到时可以再去这两个地方找):
(注意第一个是在C盘,而不在安装路径中,该路径安装时会自动被写入环境变量path中)
注意:使用MKL时有只bug,即调用m1.householderQr();方法时说该方法重定义!
参见:http://eigen.tuxfamily.org/bz/show_bug.cgi?id=704
某次的实验结果(工程文件见附件):
更多Eigen的编译选项请参见官方文档:
http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
直接在mkl安装文件夹内搜索啊,不一定是在同一个文件夹里,,带版权的东西不好共享了
我找遍了整个文件夹都没找到这两个库,其它的库都有诶
用我给的网址生成自己的编译选项啊,,不同版本不一样的,我的是11.0的,不可能说MKL安装了不能用的。。。
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
直接在mkl安装文件夹内搜索啊,不一定是在同一个文件夹里,,带版权的东西不好共享了
我找遍了整个文件夹都没找到这两个库,其它的库都有诶
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
直接在mkl安装文件夹内搜索啊,不一定是在同一个文件夹里,,带版权的东西不好共享了
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
1、SSE4.2支持,用Visual Studio时需要手动添加
(但不知道在哪儿用到了SSE4.2):
- EIGEN_VECTORIZE_SSE4_2
在include最多的Core文件中有这么一段:
引用
// Detect sse3/ssse3/sse4:
// gcc and icc defines __SSE3__, ...
// there is no way to know about this on msvc. You can define EIGEN_VECTORIZE_SSE* if you
// want to force the use of those instructions with msvc.
// gcc and icc defines __SSE3__, ...
// there is no way to know about this on msvc. You can define EIGEN_VECTORIZE_SSE* if you
// want to force the use of those instructions with msvc.
更多有关Vectorization的内容参见以下页面的Vectorization一节:
http://eigen.tuxfamily.org/index.php?title=FAQ
2、将矩阵由列优先改为行优先
- EIGEN_DEFAULT_TO_ROW_MAJOR
3、禁用Eigen的并行化
- EIGEN_DONT_PARALLELIZE
注意:要想使用OpenMP,除了不能定义以上选项外 ,在Visual Studio中还要设置 "C/C++ -> Language -> OpenMP Support"选项为:Yes (/openmp)
4、使用Intel MKL数学函数库
需要定义:
- EIGEN_USE_MKL_ALL
我的测试结果:MKL在资源利用和速度上比起Eigen还是有一定的优势的,矩阵越大越明显;但还是不如Matlab,可是Matlab用的也是MKL啊!!!(malab中输入version -lapack查看)。
官方文档:http://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html
Intel提供的编译选项生成器(能再难用点儿么):https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/
MKL文档:https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/
MKL教程:https://software.intel.com/zh-cn/node/529734#88D72261-26DE-42D4-807B-36E48C770AFA
composer xe自行去官网下载,能试用一个月,也不知道是怎么授权的,反正我这台装了一年,卸载后,没法再装了,但别的机器拷过来的编译好的程序,再加上以下的DLL,是可以运行的。。。那么,,MKL的licence在哪一步体现了?
说下配置:Intel Composer XE 2015下载下来不能用(安装时CRC校验不通过。。。),用的是MKL11,也就是2013的版本
由于MKL11不支持VS2013,只好手动配置:
安装路径为:D:\ProgramFiles(x86)\
我只用到了X64的版本:
需要的Include路径:
- D:\ProgramFiles(x86)\Intel\Composer XE 2013\mkl\include
需要的lib路径:
- D:\ProgramFiles(x86)\Intel\Composer XE 2013\mkl\lib\intel64
- D:\ProgramFiles(x86)\Intel\Composer XE 2013\compiler\lib\intel64
需要的lib:
- mkl_intel_lp64_dll.lib mkl_core_dll.lib mkl_intel_thread_dll.lib mkl_blacs_msmpi_lp64.lib libiomp5md.lib
运行时需要的DLL:
- mkl_blacs_lp64.dll
- mkl_core.dll
- mkl_intel_thread.dll
- mkl_mc3.dll
- mkl_vml_mc3.dll
- libiomp5md.dll
这些DLL是我试出来的(在没有MKL的机器上运行MKL程序),他们分布在以下两个路径中(运行时还缺DLL的话会弹出提示,提示缺少的DLL,到时可以再去这两个地方找):
(注意第一个是在C盘,而不在安装路径中,该路径安装时会自动被写入环境变量path中)
- C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler
- D:\ProgramFiles(x86)\Intel\Composer XE 2013\redist\intel64\mkl
注意:使用MKL时有只bug,即调用m1.householderQr();方法时说该方法重定义!
参见:http://eigen.tuxfamily.org/bz/show_bug.cgi?id=704
某次的实验结果(工程文件见附件):
更多Eigen的编译选项请参见官方文档:
http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
评论
6 楼
cherishLC
2015-10-12
Andy__Zou 写道
cherishLC 写道
Andy__Zou 写道
cherishLC 写道
Andy__Zou 写道
您好,您的工程里面的那些hpp文件附件里面没有诶 可否共享下呢
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
直接在mkl安装文件夹内搜索啊,不一定是在同一个文件夹里,,带版权的东西不好共享了
我找遍了整个文件夹都没找到这两个库,其它的库都有诶
用我给的网址生成自己的编译选项啊,,不同版本不一样的,我的是11.0的,不可能说MKL安装了不能用的。。。
5 楼
Andy__Zou
2015-10-12
cherishLC 写道
Andy__Zou 写道
cherishLC 写道
Andy__Zou 写道
您好,您的工程里面的那些hpp文件附件里面没有诶 可否共享下呢
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
直接在mkl安装文件夹内搜索啊,不一定是在同一个文件夹里,,带版权的东西不好共享了
我找遍了整个文件夹都没找到这两个库,其它的库都有诶
4 楼
cherishLC
2015-10-09
Andy__Zou 写道
cherishLC 写道
Andy__Zou 写道
您好,您的工程里面的那些hpp文件附件里面没有诶 可否共享下呢
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
直接在mkl安装文件夹内搜索啊,不一定是在同一个文件夹里,,带版权的东西不好共享了
3 楼
Andy__Zou
2015-10-08
cherishLC 写道
Andy__Zou 写道
您好,您的工程里面的那些hpp文件附件里面没有诶 可否共享下呢
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
谢谢!工程里要用到mkl_blacs_msmpi_lp64.lib libiomp5md.lib库,但是我下载intel mkl的找不到这两个库,能否共享下么?
2 楼
cherishLC
2015-09-26
Andy__Zou 写道
您好,您的工程里面的那些hpp文件附件里面没有诶 可否共享下呢
附件重新传了一下,Timer类直接贴到cpp文件里了,另外一个应该不需要。
1 楼
Andy__Zou
2015-09-24
您好,您的工程里面的那些hpp文件附件里面没有诶 可否共享下呢
发表评论
-
C++函数中的静态变量
2019-07-19 11:22 762在C++中,可以在成员函数中使用静态变量,从而间接达到在hpp ... -
tensorflow 静态编译笔记 -- linux系统
2018-11-05 14:26 0注: 1、编译tensorflow静态库 很简单,参见: h ... -
gperftools笔记
2018-06-27 14:30 0export LD_LIBRARY_PATH=LD_LIBR ... -
dmlc分布式线性模型编译笔记
2018-06-06 10:37 21051、使用第三方修改后的wormhole工程 原始工程wor ... -
C++中读取控制台输出,并将文件指针FILE*转换为istream
2017-11-27 15:03 1708解决的问题: 1、通过执行系统的bash命令后,获取其输出( ... -
c++中使用boost库在共享内存中存储map
2017-11-09 11:37 5122boost库中的interprocess包可以在共享内存中创建 ... -
近似最近邻算法库FLANN
2017-04-25 18:45 0FLANN库是计算近似最近邻的库, 问题定义如下: 给定距离函 ... -
C++杂记-- 重定向std::cout等
2017-04-18 17:28 18891、屏蔽std::cout 参见:http://stackov ... -
CMake指定目标代码的平台(win32,x64)
2016-06-03 20:54 11534主要参考自:http://blog.c ... -
windows 10下安装GPU版MXNet
2016-06-03 21:28 8529上回说到编译CPU版的MXNet: http://cheris ... -
windows下安装CPU版mxnet
2016-05-23 23:14 17487MXnet (mix net)类似Caffe,Tensorfl ... -
Linux C++编译及 静态/动态 链接库 笔记
2015-12-20 19:49 59861、C++文件的编译 g++参 ... -
Linux (Ubuntu) 下 Eclipse C++ 环境配置
2015-12-08 21:49 19201、安装JDK 参见http://blog.csdn.net/ ... -
Photoshop插件开发-filter
2015-10-11 22:53 3311初学,,感觉PS插件的文档很烂,,教程也很少,,也就这么简单学 ... -
使Visual Assist X支持CUDA的.cu文件的代码提示
2015-07-17 00:05 2228现在安装CUDA很方便了,直接支持Visual Studio。 ... -
CUDA程序block和thread超出硬件允许值时的异常
2015-07-13 11:32 3681调用CUDA的核函数时指定block 和 thread大小,该 ... -
创建及使用DLL
2014-09-29 15:22 1194此篇仅作简要的记录,作为备忘。 更为详细的可以参考:http: ... -
matlab的mexFunction中使用std::cout(部分转载)
2014-09-27 15:37 2124在matlab、C++混合编程的时候,可能会用到之前的代码。代 ... -
Eigen库:那些年我们一起经历的bug
2014-09-24 18:39 17711、使用auto声明新变量 ... -
C++:无虚函数的类作为有虚函数类的父类时产生Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
2014-09-24 09:48 1900调程序时忘了为啥,写了一小段测试程序,再简单不过,结果跑出了E ...
相关推荐
使用vs2017和cmake编译的Eigen3.3.9的库,32位64位通用
Eigen3库虽然可以不编译,但是我为了编译Ceres库还是把Eigen库编译了一下,Eigen库编译不会生成动态链接库,只会有include文件和share文件,主要是使用include文件中的eigen3文件夹
eigen-3.2.10版本的源代码,可以支持在win端,linux端,嵌入式端使用。在嵌入式端使用时使用交叉编译的方式。
eigen库使用教程,使用说明文档
Eigen库的使用指南
inter MKL 求解大型稀疏矩阵 实例(C/C++)。适用与对称或者非对称 稀疏矩阵求解,求解速度非常快。
四、Eigen 的使用 4.1 矩阵和向量的初始化 4.2 矩阵元素的赋值 4.3 矩阵元素的访问 4.4 获取矩阵大小 4.5 特殊矩阵的定义 4.5.1 全0矩阵 4.5.2 全1矩阵 4.5.3 矩阵置0 4.5.4 矩阵置1 4.5.5 随机矩阵 4.5.6 置为单位...
Eigen高等数学/线性代数库在Android Studio中使用项目模版
eigen库可以在c里面直接添加使用,避免了复杂的编程问题!
而使用Eigen库的原因就是,其能够在编译时进一步优化,而且只需导入头文件即可进行调用,而不像其他的一些库需要安装那么麻烦。这篇使用说明是在2016年7月14日完成的。下面就是关于Eigen矩阵库的使用说明。
eigen-3.3.9源码,从官网下载的,添加我自己编写的详细编译教程,找不到可以从这里下载
eigen3源码操作示例程序vs2015程序示例,带说明文档,保证通俗易懂,迅速走入eigen开发大门
使用Eigen库实现SVD的完整代码,在ubuntu下的develop已经验证,直接可运行。
Eigen 是一个基于C++模板的线性代数库,直接将库下载后放在项目目录下,然后包含头文件能使用,非常方便。此外,Eigen的接口清晰,稳定高效。的问题是之前一直用 Matlab,对 Eigen 的 API 接口不太熟悉,如果能有 ...
基于Qt的MinGw编译PCL及其所有依赖库boost、eigen、flann、qhull、VTK的成果,可在Qt直接调用运行
Eigen3的离线用户手册,官网http://eigen.tuxfamily.org/dox/
eigen 3.4 相关文档 eigen.3.4.zip eigen.3.4.tar eigen.3.4.tar.bz2 eigen-doc.tar EigenChineseDocument-master.zip eigen 3.4中文文档 Eigen矩阵去掉某一行 某一列 remove one colomn or row
Eigenmath 说明 使用说明数 功能介绍 代数系统 符号代数系统
Eigen官方网站在github上发布的Eigen-3.3.4源码镜像,可以上Eigen官方github(https://github.com/eigenteam/eigen-git-mirror)进行下载, 如果github无法下载,可以在这里下载,与官方完全一样