2011年01月05日

GCC 4.5でOpenMP

せっかく苦労して自前ビルドしたGCC 4.5なので、OpenMPを試してみました。

自前ビルドの手順は以下の記事を参考にしてください。
GCC 4.5のビルド
GCC 4.5.2リリース

サンプルプログラムは、以下のページのものを使用しました。
http://en.wikipedia.org/wiki/OpenMP

・C
ソースコード: helloworld.c
以下のようにコンパイルします。
gcc -fopenmp helloworld.c -static
または、
gcc -fopenmp helloworld.c -lgomp -lpthread

・C++
ソースコード: helloworld.cpp
以下のようにコンパイルします。
g++ -fopenmp helloworld.cpp -static
または、
g++ -fopenmp helloworld.cpp -lgomp -lpthread

a.exe ができていれば成功です。
実行すると、こんな感じになります。

Hello World from thread 1
Hello World from thread 0
There are 2 threads

CPUがAthlon X2なので、コア数を自動で取得して2並列になっています。

いろいろ使い道がありそうですが、詳しいことはよくわかりません。


GCCのバイナリを配布している、KomisarさんとかTDMさんのものでOpenMPが使えるかどうかは試していませんので、あしからず。

2011/01/08 追記
本日付の、Komisarさんの所の最新版はGCC 4.5.2で、OpenMPは使えませんでした。
http://komisar.gin.by/mingw/
TDMさんの所の最新版はGCC 4.5.1で、一応OpenMPが使えました。
http://tdm-gcc.tdragon.net/download
posted by あべちん at 21:55 | Comment(0) | TrackBack(0) | GCC自前ビルド
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/42395744
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック