ページ 11

【雑談?】OpenMPの効果の実験

Posted: 2012年6月09日(土) 23:06
by みけCAT
今日、いつも使用しているDev-C++のフォルダをいじって、コンパイラを最新のgcc4.7.0にしました。
ついでにOpenMPのライブラリを入れてみたので、どのくらいの性能が出るものなのかと思い、試してみました。
自分の環境では、後述するテスト方法で、実行時間が約85%に減りました。
しかし、プロセッサによって異なると思うので、みなさんにも実験に協力してもらいたいと思います。
実験に使用するのは、エラトステネスの篩により素数一覧を求めるプログラムです。

【検証方法】
1.添付したファイルをダウンロードする
●Windowsの場合
2.コマンドプロンプトを開き、解凍したフォルダに移動する
3.「run (整数)」というコマンドを打ち込む
整数は、できれば26~31までを全て試してもらいたいです。
実行すると、例えば次のような表示になります。

コード:

D:\(パス省略)>run 27
Normal mode
max: 134217728
Elapsed time: 5445 ms
OpenMP mode
max: 134217728
Elapsed time: 4715 ms
max==1<<(引数の整数)です。
4.与えた整数と、Normal mode、OpenMP modeそれぞれのElapsed timeの値をセットにして報告してください。
●Windows以外の場合
2.sourceフォルダの中のソースコードを、適切にコンパイルする。
OpenMPを使用するバイナリと、使用しないバイナリの2通りを作ってください。
使用したコンパイラを書いてくれるとありがたいです。
3.それぞれのバイナリを、「(ファイル名) (整数)」というコマンドで実行する。
整数と出力の説明は上と同じです。
Normal modeとOpenMP modeは、作成した2通りのバイナリそれぞれに割り当てられます。
4.与えた整数と、Normal mode、OpenMP modeそれぞれのElapsed timeの値をセットにして報告してください。

【必須項目】
・計測された値(与えた整数、Normal modeのElapsed time、OpenMP modeのElapsed timeの組)
・OSの種類(Windows Vista SP2 32ビット、Windows 2000 SP4、Vine Linux 5.1など)
・CPUの種類と周波数

【推奨項目】
・メモリ容量
・自分でソースコードをコンパイルした場合、使用したコンパイラの種類
・その他報告した方がいいと思う情報

【注意】
・与える整数の値が大きいと、環境によっては非常に長い時間がかかります。
・整数が最大の31の時、約256MBのメモリを使用します。
 メモリが足りない場合、致命的な事態になる可能性があります。万が一のことがあっても、責任は負いません。

ご協力よろしくお願いします。

【自分の結果】
OS:Windows Vista Home Premium SP2 32ビット
CPU:Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz 2.10GHz
メモリ:2.00GB
コンパイラ:gcc version4.7.0
計測結果(csv)

コード:

整数,Normal,OpenMP
26,2385,2056
27,5638,4703
28,10912,9586
29,23758,20544
30,47778,40213
31,103580,90939

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 00:41
by naohiro19
OS:Windows 7 Home Premium SP1 64ビット
CPU:Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz (4 CPUs)

コード:

Normal mode
max: 67108864
Elapsed time: 1537 ms
OpenMP mode
max: 67108864
Elapsed time: 1003 ms
i7の環境だと500msくらいでしょうか?

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 01:01
by ru-pu
run.batを実行しましたところ
「libgomp-1.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。」
と表示されて途中で止まってしまいました。
環境はWindowsXP SP3です。

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 08:31
by みけCAT
すいません。
これでどうでしょうか?

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 11:25
by ru-pu
実行してみましたところ、今度は
メッセージボックスのタイトル「get_sosuu_mp.exe - コンポーネントが見つかりません」
内容「pthreadGC2.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。」
と出ました。

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 13:44
by みけCAT
何度もすいません。
今度は大丈夫だと思います。

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 15:08
by ru-pu
今度は動作しました
以下結果です

OS:Windows XP Professional SP3 32ビット
CPU:Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz 2.49GHz
メモリ:3.00GB

コード:

整数,Normal,OpenMP
26,1953,1046
27,4406,2984
28,8859,6531
29,19500,14156
30,39812,27937
31,85875,61671

Re: 【雑談?】OpenMPの効果の実験

Posted: 2012年6月10日(日) 15:39
by とっち
OS: Windows 7 Home Premium 64ビット
CPU: Intel(R) Core(TM)i7 CPU M620 @2.67GHz 2.67GHz
実装メモリ(RAM) 6.00GB

結果

コード:

整数,Normal,OpenMP
26,1341,936
27,2995,2043
28,6006,4056
29,13057,8704
30,26738,17830
31,56867,36722
こんな感じでした