Armadillo + OpenBLAS multi-threading



我在Ubuntu 14.04 64bit的硕士论文中成功使用了Armadillo结合OpenBLAS(安装和未安装Armadillo)。性能非常令人印象深刻——我的代码主要由基本的矩阵运算组成。所有这些都是使用所有可用的线程执行的。

现在我尝试在Visual Studio 2013中使用Armadillo与OpenBLAS在Windows 7 64位机器上。我在网上找到了一些帮助,并成功添加了PThread库。代码本身可以工作,但是性能很差。我使用1000x1000矩阵测试了三种基本运算——加法、乘法和逐元素乘法。在这三种方法中,只有经典乘法使用了所有的CPU能力。其他两个使用25%的CPU,这表明它们在单个线程上运行。

我在Ubuntu中没有遇到过这种行为。有人有什么建议吗?我没有看到任何链接,有人有类似的问题。

你确定OpenBLAS在Ubuntu上使用多线程进行加法和元素乘法吗?直觉上,我希望这些操作是bw限制,而不是fpu限制,所以我猜多线程不会帮助那么多?

相关内容

  • 没有找到相关文章

最新更新