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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#1

投稿記事 by みけCAT » 13年前

今日、いつも使用している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
添付ファイル
openmp_test.zip
実験用プログラムです。
(32.82 KiB) ダウンロード数: 126 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

naohiro19
記事: 256
登録日時: 15年前
住所: 愛知県

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

#2

投稿記事 by naohiro19 » 13年前

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くらいでしょうか?

ru-pu

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

#3

投稿記事 by ru-pu » 13年前

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

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#4

投稿記事 by みけCAT » 13年前

すいません。
これでどうでしょうか?
添付ファイル
openmp_test.zip
DLLを追加した実験用プログラムです。
(54.98 KiB) ダウンロード数: 113 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ru-pu

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

#5

投稿記事 by ru-pu » 13年前

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

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

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

#6

投稿記事 by みけCAT » 13年前

何度もすいません。
今度は大丈夫だと思います。
添付ファイル
openmp_test.zip
実験用プログラム さらにDLL追加版です。
(86.4 KiB) ダウンロード数: 119 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ru-pu

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

#7

投稿記事 by ru-pu » 13年前

今度は動作しました
以下結果です

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

とっち
記事: 56
登録日時: 13年前
住所: 岡山

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

#8

投稿記事 by とっち » 13年前

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
こんな感じでした

閉鎖

“C言語何でも質問掲示板” へ戻る