Re: [Q] programming on smp
新城@筑波大学情報です。こんにちは。
In article <86d6bmvbd6.wl@xh6.cc.hokudai.ac.jp>
Hiroki Kashiwazaki <reo@cc.hokudai.ac.jp> writes:
> 柏崎@北海道です。
> で、CPUを2つ同時に利用するプログラムを書いて計算時間を短縮しようと、
> ようやく重い腰を上げたのですが、どのようにそれを実現するのかを全く知
> りません。
問題の性質によるのですが、性質がよくて単にデータを分割しても
いいという話なら、1番お奨めは、今までの逐次のプログラムを2
個同時に走らせることです。たとえば、全部で 100 個のデータに
ついて計算するなら、前半 50 個と後半 50 個にわけて、2つ走ら
せるわけです。問題の性質がよくて依存関係がないものなら、これ
でOK。
> 「SMP プログラミング」といったキーワードでぐぐると、MPI の
> プログラミングに関するページがヒットしますが、MPI プログラミングと同
> 様の手法でコーディングしてコンパイルすると 2CPU を使うバイナリが生成
> されるのでしょうか。
MPI よりは、POSIX Threads (Pthreads) を使う方がいです。ルー
プ間で依存関係があるなら、バリア同期を使うかタスクバッグがい
いでしょう。2CPUでも、バランスが完全に取れるとは限らない
ので、問題を10個くらいに分割するのがいいかと思います。
ニュースグループは、Followup-To: fj.comp.parallel でしょうか。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735