0

Ubuntu 14.04 64 ビット (Armadillo がインストールされている場合とインストールされていない場合の両方)の修士論文で、ArmadilloをOpenBLASと組み合わせて使用​​することに成功しました。パフォーマンスは非常に印象的でした。私のコードは主に基本的な行列演算で構成されていました。これらはすべて、利用可能なすべてのスレッドを使用して実行されました。

今、Visual Studio 2013 のWindows 7 64 ビット マシンで OpenBLAS を使用して Armadillo を使用しようとしています。オンラインでいくつかのヘルプを見つけ、 PThreadライブラリを正常に追加しました。コード自体は機能しますが、パフォーマンスはよくありません。1000x1000行列を使用して、加算、乗算、要素ごとの乗算の3 つの基本演算をテストします。これら 3 つのうち、古典的な乗算だけがすべての CPU パワーを使用します。他の 2 つは 25% の CPU を使用しており、シングル スレッドで実行されていることを示しています。

Ubuntu の場合、この動作に遭遇したことはありません。誰か提案はありますか?誰かが同様の問題を抱えているリンクを見たことがありません。

4

1 に答える 1

1

OpenBLAS が加算と要素単位の乗算のために Ubuntu で複数のスレッドを使用していることは確かですか? 直感的には、これらの操作は FPU 制限ではなく BW 制限であると予想されるため、マルチスレッドはそれほど役に立たないと思いますか?

于 2015-10-16T10:51:52.573 に答える