パーソナルブログメモリ

個人的な簡易記録です。コンピュータ関連をメインでやってます。ようこそ!いらっしゃいませ。

並列化OpenMPを使ってみる

2016年10月15日 | コンピュータ
並列化とか以前から興味があったのでOpenMPを使ってみることにしました。

Windowsでやってみたのですが、ネット調べた情報がlinux環境のものが多く、コンパイルも成功しないのでubuntuに変更

とりあえず動いたのですが、うちのパソコンはそもそも2コアあまりよくわかりません。
並列化したプログラムのほうが遅くなりました。相当タスクのあるプログラムでないと並列化の初期化等のほうが時間がかかるようです。

ということで4コアのRaspberry Pi2でタスクをより多くして、やってみることにしました。

ubuntu MATEを起動した時点でコンパイラもopenMP環境(gccに付属)も入っています

"gcc -fopenmp ファイル名" で並列化の記述があれば完成です。
並列化のコードでプラグマというもの以外使わなければ
"gcc ファイル名" で並列化しない普通の実行ファイルになります。


コピペできるソース載せたいのですがgooブログでうまくできないのですみません。


上のほうが並列化の実行例、下の方は並列化していない実行例

こんな量の計算、ちょっとしたコンピュータシステムでもほんの一部分あるかないかです。

スレッドの数などを指定したりもできるのですがプログラムを書いてみると、
問題があるようで想定通りに全然行かなかったので(なぜかコア最大だけ遅くなる)、
簡単なプログラムの方を掲載します。

もっと速いパソコンで動かしたらたぶんまた遅くなります。

<参考文献>
C言語によるOpenMP入門
時間の計測を行う

ジャンル:
ウェブログ
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« Raspberry Pi2にubuntu MATE1... | トップ | サーバーを立てる »
最近の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

トラックバック

この記事のトラックバック  Ping-URL
ブログ作成者から承認されるまでトラックバックは反映されません。