我已经成功地在 Ubuntu 14.04 64位的主题论文中使用了 Armadillo 和 OpenBLAS (两者都安装了Armadillo安装)。性能非常令人印象深刻 - 我的代码主要来自基本矩阵操作。所有这些都是使用所有线程进行的。
现在我尝试在Visual Studio 2013中的 Windows 7 64位计算机上使用Armadillo和OpenBLAS。我在网上找到了一些帮助并成功添加了 PThread 库。代码本身有效,但性能很差。我使用 1000x1000 矩阵测试三个基本操作 - 加法,乘法和逐元素乘法。在这三个中,只有经典乘法使用所有CPU功率。另外两个使用25%的CPU,这表明它们在单线程上运行。
在Ubuntu的情况下,我没有遇到过这种行为。有没有人有任何建议?我没有看到任何链接,有人有类似的问题。
答案 0 :(得分:1)
你确定OpenBLAS在Ubuntu上使用多个线程进行加法和逐元素乘法吗?直观地说,我希望这些操作是BW限制的而不是FPU限制的,所以我猜多线程不会有那么多帮助吗?