首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Armadillo中的并行化

Armadillo中的并行化
EN

Stack Overflow用户
提问于 2014-03-13 19:35:50
回答 1查看 4.2K关注 0票数 6

C++线性代数库文档说明了在C++中将库开发为“通过OpenMP实现并行化在现代C++编译器中的易用性”的原因之一,但是Armadillo代码不使用OpenMP。我如何获得与Armadillo并行的好处?这是通过使用高速LAPACK和BLAS替换之一实现的吗?我的平台是Linux,英特尔处理器,但我怀疑这个问题有一个通用的答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-22 23:09:33

好的,看来并行化实际上是通过使用高速LAPACK和BLAS替换来实现的。在Ubuntu12.04上,我使用包管理器安装了OpenBLAS,并从源代码构建了Armadillo库。构建并运行examples文件夹中的示例,我可以使用OPENBLAS_NUM_THREADS环境变量来控制核心的数量。

我创建了一个小项目开放式基准,它测量Armadillo在计算各种大小矩阵的矩阵产品C=AxB时的性能提高,但到目前为止,我只能在2核机器上测试它。

性能图显示,大于512x512的矩阵的执行时间减少了近50%。请注意,这两个轴都是对数的;y轴上的每条网格线都表示执行时间加倍。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22389117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档