私は並列モードでLIBSVMを実行しようとしていますが、私の質問はOpenMPで一般的です。 LIBSVM FAQによれば、#pragma呼び出しでOpenMPを使用するようにコードを修正しました。コードがうまくコンパイルOpenMPが動作しているかどうかを確認するには?
CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp
:私はまた、それがなるよう-fopenmp引数を追加することによって、(UN用* X)Makefileを修正しました。
/sbin/ldconfig -p | grep gomp
、それが-probably-インストールされていることを参照してください:(それは私のPCではないので)私は、OpenMPがでインストールされているかどうかを確認
今libgomp.so.1 (libc6,x86-64) => /usr/lib64/libgomp.so.1
libgomp.so.1 (libc6) => /usr/lib/libgomp.so.1
。私がプログラムを実行するとき、私は速度の改善を見ません。また、「top」とチェックすると、プロセスは最大で100%CPU(8つのコアがあります)を使用していますが、CPUボトルネック(%100のCPU使用率でもう1人のユーザー)もなく、プロセスが複数のコアを使用している%100(または別のインジケータ)。
複数のコアが動作していることを確認する方法はありますか?
ちょっと考えましたが、最大ではありません。スレッドが1つしか実行されていない場合は100%/コア数? – Tibor
マルチコアを使用している場合(少なくとも私のサーバのインストールでは)、私は100%よりもはるかに大きな値を表示します。 –
@Tibor、デフォルトではIrixモードがデフォルトの100%を示します。 n個のCPUの全負荷。 Irixモードをオフにすると( 'I'を押すと)、すべてのCPUが使用されると100%が表示されます。 –