OpenMPプログラミング

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
オフィシャルサイト
http://www.openmp.org/

リンクなどは>>2以下で
NGNG
NGNG
産業的な視点から考えて需要はありますか?
NGNG
NULL
5デフォルトの名無しさん
垢版 |
NGNG
>>3
ある
NGNG
OpenMPってなに?
NGNG
共有メモリ型の並列計算のためのAPI。
対極にあるのが分散メモリ型のMPI。
いずれも計算用途。

pthreadやMPIより、OpenMPによる並列化ははるかに容易。

ただし共有メモリで並列計算するには、マシンのプロセッサ数が並列数以上でなくてはならない。
つまり、マシンのコストが高い。
8デフォルトの名無しさん
垢版 |
NGNG
gccにインストールできますか?
NGNG
共有メモリ型のプログラミングって何十台というPCでできるものですか?
NGNG
>>9
( ゚Д゚)ポカーン
NGNG
>>9
SDSMとか使ってがんばればできるぞ。
お薦めはしないがなー。
12デフォルトの名無しさん
垢版 |
NGNG
よい入門書があれば教えてください
13デフォルトの名無しさん
垢版 |
05/02/13 04:39:43
初めてのMP
05/02/13 11:25:49
>>12
ドラクエやれ
15デフォルトの名無しさん
垢版 |
05/03/05 03:01:46
OpenMPとMPIどちらを勉強するのが得策ですか?
16デフォルトの名無しさん
垢版 |
05/03/16 15:18:59
>>15
MPI
17デフォルトの名無しさん
垢版 |
2005/03/29(火) 00:25:37
OpenAL
18デフォルトの名無しさん
垢版 |
2005/03/31(木) 10:59:10
OpenMPとpthreadの違いがわかりません。
効率、可搬性などどちらが優れているのでしょうか?
19デフォルトの名無しさん
垢版 |
2005/05/03(火) 17:08:50
Dualコア時代になるのに閑散としてるなこのスレ。
VisualStudio2005betaを使ってるヤツは少ないか。
所詮業務じゃ使えないしな。。
しかしDualコア+HyperThreadで、この年末には
家庭用PCですら4CPUになっちまうのかな。スゲエ。
20デフォルトの名無しさん
垢版 |
2005/05/06(金) 05:11:22
OpenMPをVCで使う方法を教えてください
21デフォルトの名無しさん
垢版 |
2005/05/06(金) 07:39:08
 
22デフォルトの名無しさん
垢版 |
2005/05/07(土) 11:38:36
>>20
2005β使え。
23デフォルトの名無しさん
垢版 |
2005/05/14(土) 04:41:12
LinuxでOpenMPを使いたいのですが、gccのほかに何をダウンロードすればよいのでしょうか?
24デフォルトの名無しさん
垢版 |
2005/05/23(月) 08:04:49
OpenMPを使う利点を教えてください
2005/05/24(火) 12:54:36
>>7
2005/05/24(火) 20:05:51
共有メモリ型擬似4CPUは、もう普及へ向かっているわけだがw

CELLは分散メモリだからMPIか?
2005/06/16(木) 00:42:33
gccに対応したフリーのOpenMPはどこからダウンロードできるのでしょうか?
2005/06/26(日) 17:44:34
http://phase.hpcc.jp/Omni/home.ja.html
29デフォルトの名無しさん
垢版 |
2005/08/11(木) 15:08:40
PentiumD買ったので、手持ちのソフトをOpenMPで並列化しようと思ってる。
尼で見つけた "Parallel Programming in OpenMP" って本の評価はどんなもんですか?

ttp://www.amazon.co.jp/exec/obidos/ASIN/1558606718/250-7296386-2789028
2005/08/11(木) 16:14:03
2000年の本だと古いんじゃないかなあ。
Intelのサイトで技術PDF探してみては?
31デフォルトの名無しさん
垢版 |
2005/08/12(金) 01:20:16
>>30
ですよねぇ。こういう方面の技術って、手詰まりなんですかね?
32デフォルトの名無しさん
垢版 |
2005/08/22(月) 04:23:24
OpenMPってpthreadと比較して何が違うのでしょうか?
2005/09/09(金) 21:43:42
逐次プログラムにちょっと書き足すだけで並列に動くお手軽さ。
34デフォルトの名無しさん
垢版 |
2005/11/05(土) 16:06:55
質問
#pragma omp parallel for private(j)
for(i=0;i<100;i++)
for(j=0;j<100;j++)
      何か演算

とした場合これはiを分割して実行していて
jはローカル変数として分割されたiの中で0〜99まで回してるってことですか?
それともjが分割されているってことですか?
2005/11/09(水) 21:46:22
愛を分割してる方
36デフォルトの名無しさん
垢版 |
2005/11/27(日) 06:12:29
インテルのコンパイラにはOpenMPはついてくるのですか?
2005/11/27(日) 10:56:58
>>36
日本語(ry
icc -openmp hoge.c
2005/11/27(日) 19:13:26
Sunのソラリス落とせば
OpenMP付のSunのコンパイラも手に入るよ
高性能コンパイラが無料だなんてなあ
2005/12/03(土) 12:29:21
Athlon系は分散メモリだからOpenMP使えないのかな?
40デフォルトの名無しさん
垢版 |
2006/01/30(月) 08:24:14
>>39
どういう意味?
2006/01/30(月) 15:18:18
簡単に並列処理を行わせるようにするためのもの?
将来的にはこういうのが普通に使われるようになるかもね。
2006/02/12(日) 01:28:59
GCCも4.2でOpenMP対応するみたいだね。
そしたらいよいよ知名度上がるんじゃないの?
2006/02/14(火) 06:14:02
gccがないとOpenMP使えなかった環境てマックくらいじゃない?
Windowsもかな
2006/02/14(火) 12:48:54
Intel コンパイラはサポートに熱心だよな。
今度Mac版も出るらしいから、Win、Mac、Linuxどの環境でもGCC、IntelコンパイラでOpenMP
できるようになる鴨。
2006/02/14(火) 21:19:59
>>44

おまい、髭のおっさんだろ。
46デフォルトの名無しさん
垢版 |
2006/02/17(金) 12:06:20
OpenMPが使えるかどうかによってヘッダをインクルードするかどうかを条件分岐したいのですが
どのようにしたらコンパイラがOpenMPをサポートしているか調べられるでしょうか?
2006/02/17(金) 16:15:54
>>43
VC++8は対応してるよ
2006/02/17(金) 17:36:01
>>46
#ifdef _OPENMP
#endif
49デフォルトの名無しさん
垢版 |
2006/03/12(日) 17:43:30
GOMPはどこのページからダウンロードできるのでしょうか?
2006/03/12(日) 17:47:28
C++相談室で教えてやっただろうが。
2006/03/18(土) 21:11:59
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?



2006/03/19(日) 09:25:20
>>50
kwsk
2006/03/19(日) 14:16:22
>>52
今はマージされたのがtagsにある。
鯖の健康を損なわない範囲で好きなだけチェックアウトしなさい。
54デフォルトの名無しさん
垢版 |
2006/04/11(火) 11:57:56
OpenMP初めて知りました。こんなに簡単にマルチスレッドプログラムが作れるなんて
時代が変わったようだな
2006/04/18(火) 12:54:01
大きい単位で独立性の高いスレッドを切り出すのがパフォーマンスを上げるポイントなので、
細かい単位であっちこちで同期を取るようなプログラムが手軽に作れてしまえるOpenMPは痛し痒し。
激しくパフォーマンスが出なくてシングルで動かしたときより遅くなることも。
56デフォルトの名無しさん
垢版 |
2006/04/21(金) 15:19:26
OpenMPってwindowsでできるの?
2006/04/21(金) 15:25:08
>>56
VC++ 2005
2006/05/02(火) 14:09:55
>>55
細粒度はパフォーマンスでないけど、お手軽並列化〜♪って感じなんでないかい。
59デフォルトの名無しさん
垢版 |
2006/06/02(金) 08:39:59
OpenMPってお手軽だけど、効率はあまり良くないよね
2006/06/04(日) 00:55:01
モチロンソウヨ
2006/06/10(土) 00:01:58
ハイパースレッディングでOpenMP使うと激しく遅くなるよね。
2006/06/10(土) 22:40:12
それは論理CPUにスレッドをバインドすれば
なおるんじゃね?
どうやってバインドするかしらねーけど。
2006/06/10(土) 23:52:44
あまってる演算器や回路をつかって2CPUに見せかけるのがHTだから
行列の計算のような同じタイプの計算を並列化した場合遅くなるのは当たり前。
片方は整数もう片方で実数計算をさせると効果が出るかもしれない。
2006/06/11(日) 01:38:10
そうなると #pragma omp for が全滅・・・
2006/06/11(日) 18:15:49
同じ回路を使う場合でもレジスタが倍になって依存性が減るから、パイプラインのストールが減るよ。
あと実数がメインの場合、実数程の負荷は無いにせよアドレスの計算やループカウンタで整数も結構忙しい。

実数をメインにするとそこらへん上手く住み分け出来てると思った。
演算器を効率良く使えてウマー。
2006/06/12(月) 18:36:58
依存性が減るって表現はしっくりこないな
67デフォルトの名無しさん
垢版 |
2006/08/26(土) 14:58:22
VS2005のC++でOpenMPを使おうと思って、コードを書きましたが、
プログラムが開始する前にエラーが起こります。
/openmp をつけてコンパイルしたり、マニフェストファイルに
<file name="vcompd.dll" hash="XXXX" hashalg="XXX"/>と入れ
たりしましたが、まったくピクリとも動いてくれません。
皆さんは普通にVS2005でOpenMP使ってますか?
2006/08/27(日) 10:05:19
インストーラ用のマージモジュールがあったので、適当なプログラムでインストーラーを作って入れた。
\Program Files\Common Files\Merge Modules
Microsoft_VC80_OpenMP_x86.msm
Microsoft_VC80_DebugOpenMP_x86.msm
リリース版だけならvcregist_x86.exeでも導入できる。
2006/08/27(日) 16:59:19
>>67
うん、普通に使える。

>プログラムが開始する前にエラーが起こります。

ってのがどういう意味かよく分からんし(コンパイル時か実行時か)、
とりあえずエラーメッセージとかソースとか晒してみたら。


2006/08/28(月) 14:20:01
Pro以上なら普通に使えるが、実はStdやExpressでも使う方法がある。
足りないものはomp.h とvcomp(d).dllとインポートライブラリで、
これはPlatformSDK (for Win2003とかいう新しめの奴)を入れると付いてくる。
これをIDEの各検索パスに追加すればコンパイルは出来る。
ただし、WinSXSディレクトリにdllをインストールしないので実行時にDLLが無いためエラーになる。
この導入の仕方は>>68のとおり。

同じ方法でPGOもできないかと思ったがこれは無理でした。
ただ単純な/GL /LTCG オプションでのコンパイルは出来るからこれで我慢。
7167
垢版 |
2006/08/29(火) 10:28:44
ありがとうございます。インポートライブラリを入れるとうまく動きました。
ためしに
for( i=1; i<=10000000; i++ ) {
double t1 = sin( i*3.14/10000000.0 );
double t2 = cos( i*3.14/10000000.0 );
s = s+t1*t1+t2*t2;
}
を計算すると、デバッグ版ではOpenMPの方が5倍くらい時間がかかるが、
リリース版では1割くらい早くなった。
ちなみに、ハイパースレッドのデュアル
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況