1read 100read
2013年02月プログラム256: OpenMPプログラミング (388) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【消しゴム】MONOを使ってみるスレ4【じゃない】 (323)
OpenMPプログラミング (388)
【計測】LabVIEW相談室【制御】 (566)
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】 (204)
インテルC++コンパイラ9.0発表! (586)
s = "" + i;でintをStringに変換するのはなぜだめか (293)

OpenMPプログラミング


1 :04/12/08 〜 最終レス :2012/10/25
オフィシャルサイト
http://www.openmp.org/
リンクなどは>>2以下で

2 :


3 :
産業的な視点から考えて需要はありますか?

4 :
NULL

5 :
>>3
ある

6 :
OpenMPってなに?

7 :
共有メモリ型の並列計算のためのAPI。
対極にあるのが分散メモリ型のMPI。
いずれも計算用途。
pthreadやMPIより、OpenMPによる並列化ははるかに容易。
ただし共有メモリで並列計算するには、マシンのプロセッサ数が並列数以上でなくてはならない。
つまり、マシンのコストが高い。

8 :
gccにインストールできますか?

9 :
共有メモリ型のプログラミングって何十台というPCでできるものですか?

10 :
>>9
( ゚Д゚)ポカーン

11 :
>>9
SDSMとか使ってがんばればできるぞ。
お薦めはしないがなー。

12 :
よい入門書があれば教えてください

13 :
初めてのMP

14 :
>>12
ドラクエやれ

15 :
OpenMPとMPIどちらを勉強するのが得策ですか?

16 :
>>15
MPI

17 :
OpenAL

18 :
OpenMPとpthreadの違いがわかりません。
効率、可搬性などどちらが優れているのでしょうか?

19 :
Dualコア時代になるのに閑散としてるなこのスレ。
VisualStudio2005betaを使ってるヤツは少ないか。
所詮業務じゃ使えないしな。。
しかしDualコア+HyperThreadで、この年末には
家庭用PCですら4CPUになっちまうのかな。スゲエ。

20 :
OpenMPをVCで使う方法を教えてください

21 :
 

22 :
>>20
2005β使え。

23 :
LinuxでOpenMPを使いたいのですが、gccのほかに何をダウンロードすればよいのでしょうか?

24 :
OpenMPを使う利点を教えてください

25 :
>>7

26 :
共有メモリ型擬似4CPUは、もう普及へ向かっているわけだがw
CELLは分散メモリだからMPIか?

27 :
gccに対応したフリーのOpenMPはどこからダウンロードできるのでしょうか?

28 :
http://phase.hpcc.jp/Omni/home.ja.html

29 :
PentiumD買ったので、手持ちのソフトをOpenMPで並列化しようと思ってる。
尼で見つけた "Parallel Programming in OpenMP" って本の評価はどんなもんですか?
ttp://www.amazon.co.jp/exec/obidos/ASIN/1558606718/250-7296386-2789028

30 :
2000年の本だと古いんじゃないかなあ。
Intelのサイトで技術PDF探してみては?

31 :
>>30
ですよねぇ。こういう方面の技術って、手詰まりなんですかね?

32 :
OpenMPってpthreadと比較して何が違うのでしょうか?

33 :
逐次プログラムにちょっと書き足すだけで並列に動くお手軽さ。

34 :
質問
#pragma omp parallel for private(j)
for(i=0;i<100;i++)
for(j=0;j<100;j++)
      何か演算
とした場合これはiを分割して実行していて
jはローカル変数として分割されたiの中で0〜99まで回してるってことですか?
それともjが分割されているってことですか?

35 :
愛を分割してる方

36 :
インテルのコンパイラにはOpenMPはついてくるのですか?

37 :
>>36
日本語(ry
icc -openmp hoge.c

38 :
Sunのソラリス落とせば
OpenMP付のSunのコンパイラも手に入るよ
高性能コンパイラが無料だなんてなあ

39 :
Athlon系は分散メモリだからOpenMP使えないのかな?

40 :
>>39
どういう意味?

41 :
簡単に並列処理を行わせるようにするためのもの?
将来的にはこういうのが普通に使われるようになるかもね。

42 :
GCCも4.2でOpenMP対応するみたいだね。
そしたらいよいよ知名度上がるんじゃないの?

43 :
gccがないとOpenMP使えなかった環境てマックくらいじゃない?
Windowsもかな

44 :
Intel コンパイラはサポートに熱心だよな。
今度Mac版も出るらしいから、Win、Mac、Linuxどの環境でもGCC、IntelコンパイラでOpenMP
できるようになる鴨。

45 :
>>44
おまい、髭のおっさんだろ。

46 :
OpenMPが使えるかどうかによってヘッダをインクルードするかどうかを条件分岐したいのですが
どのようにしたらコンパイラがOpenMPをサポートしているか調べられるでしょうか?

47 :
>>43
VC++8は対応してるよ

48 :
>>46
#ifdef _OPENMP
#endif

49 :
GOMPはどこのページからダウンロードできるのでしょうか?

50 :
C++相談室で教えてやっただろうが。

51 :
TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?



52 :
>>50
kwsk

53 :
>>52
今はマージされたのがtagsにある。
鯖の健康を損なわない範囲で好きなだけチェックアウトしなさい。

54 :
OpenMP初めて知りました。こんなに簡単にマルチスレッドプログラムが作れるなんて
時代が変わったようだな

55 :
大きい単位で独立性の高いスレッドを切り出すのがパフォーマンスを上げるポイントなので、
細かい単位であっちこちで同期を取るようなプログラムが手軽に作れてしまえるOpenMPは痛し痒し。
激しくパフォーマンスが出なくてシングルで動かしたときより遅くなることも。

56 :
OpenMPってwindowsでできるの?

57 :
>>56
VC++ 2005

58 :
>>55
細粒度はパフォーマンスでないけど、お手軽並列化〜♪って感じなんでないかい。

59 :
OpenMPってお手軽だけど、効率はあまり良くないよね

60 :
モチロンソウヨ

61 :
ハイパースレッディングでOpenMP使うと激しく遅くなるよね。

62 :
それは論理CPUにスレッドをバインドすれば
なおるんじゃね?
どうやってバインドするかしらねーけど。

63 :
あまってる演算器や回路をつかって2CPUに見せかけるのがHTだから
行列の計算のような同じタイプの計算を並列化した場合遅くなるのは当たり前。
片方は整数もう片方で実数計算をさせると効果が出るかもしれない。

64 :
そうなると #pragma omp for が全滅・・・

65 :
同じ回路を使う場合でもレジスタが倍になって依存性が減るから、パイプラインのストールが減るよ。
あと実数がメインの場合、実数程の負荷は無いにせよアドレスの計算やループカウンタで整数も結構忙しい。
実数をメインにするとそこらへん上手く住み分け出来てると思った。
演算器を効率良く使えてウマー。

66 :
依存性が減るって表現はしっくりこないな

67 :
VS2005のC++でOpenMPを使おうと思って、コードを書きましたが、
プログラムが開始する前にエラーが起こります。
/openmp をつけてコンパイルしたり、マニフェストファイルに
<file name="vcompd.dll" hash="XXXX" hashalg="XXX"/>と入れ
たりしましたが、まったくピクリとも動いてくれません。
皆さんは普通にVS2005でOpenMP使ってますか?

68 :
インストーラ用のマージモジュールがあったので、適当なプログラムでインストーラーを作って入れた。
\Program Files\Common Files\Merge Modules
Microsoft_VC80_OpenMP_x86.msm
Microsoft_VC80_DebugOpenMP_x86.msm
リリース版だけならvcregist_x86.exeでも導入できる。

69 :
>>67
うん、普通に使える。
>プログラムが開始する前にエラーが起こります。
ってのがどういう意味かよく分からんし(コンパイル時か実行時か)、
とりあえずエラーメッセージとかソースとか晒してみたら。


70 :
Pro以上なら普通に使えるが、実はStdやExpressでも使う方法がある。
足りないものはomp.h とvcomp(d).dllとインポートライブラリで、
これはPlatformSDK (for Win2003とかいう新しめの奴)を入れると付いてくる。
これをIDEの各検索パスに追加すればコンパイルは出来る。
ただし、WinSXSディレクトリにdllをインストールしないので実行時にDLLが無いためエラーになる。
この導入の仕方は>>68のとおり。
同じ方法でPGOもできないかと思ったがこれは無理でした。
ただ単純な/GL /LTCG オプションでのコンパイルは出来るからこれで我慢。

71 :
ありがとうございます。インポートライブラリを入れるとうまく動きました。
ためしに
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割くらい早くなった。
ちなみに、ハイパースレッドのデュアル

72 :
#pragma omp parallel for reduction(+:s)
for ( ...
そのプログラムだとこうですか?うちの環境だとHTの1CPUだからかずぶずぶの結果です。

73 :
OpenMP 入門ありますよ。
http://www.xlsoft.com/jp/products/intel/docs/OpenMP/html/OpenMP.html

74 :
その次のステップの入門書がほしい

75 :
72>> その意味で ずぶずぶ とはどこの方言?

76 :
>>75
東京

77 :
g++では利用できないのでしょうか?

78 :
>>77
snapshotsとかからGCC 4.2以降を取ってきて試してみろ

79 :
OpenRぽこちんか

80 :
OpenマンPのG☆SPOTに決まってるだろバカか

81 :
>>70
omp.hがPSDK(SP1)/(R2)に入っていませんでした。
実際には何をインストールなさいましたか。
>>68
マージモジュールを使ったインストール例を参照することは可能でしょうか。
vs6しか使ったことがなく、どうもうまくいきません。

なお、私はVS2005のstd(アップグレード)を使っています。

82 :
Sun SorilisとVC++(std)の組み合わせで、OpenMPできますか??

83 :
>>82
できない

84 :
OpenMPでスレッド数を取得するには
#pragma omp parallel
{
cout<<omp_get_num_threads()<<endl;
}
でよいのでしょうか?もっと何かスマートな方法はないでしょうか?

85 :
#pragma omp sectionsでfor構文でのdynamicスケジュールの様な動作をさせたいのですが、
どのように書けばよいのでしょうか?

86 :
しらね

87 :
>>72-73
OpenMPによる並列プログラミングと数値計算法
http://www.amazon.co.jp/gp/product/4621077171
とかどーでしょ。
>>84
パラレルリージョンの中でなくてもよいはず。
#ifdef _OPENMP
cout<<omp_get_num_threads()<<endl;
#endif
などとすればよいかと。

88 :
omp_get_num_threads() はその時点でスレッドチームを構成しているスレッドの数を返すから
逐次実行部分で呼ぶと 1 を返す。

89 :
#pragma omp parallel
{
#pragma omp single
cout<<omp_get_num_threads()<<endl;
}

90 :
program main
!$ use omp_lib
implicit none
character(len=4),parameter :: str(0:2) = ["hage","hoge","huge"]
print *, "Hello, World!"
!$omp parallel num_threads(3)
!$ print *, trim(str(omp_get_thread_num()))
!$omp end parallel
end program main

91 :
レベルの低い人向けの商売ってあるじゃないですか
たとえば、カレーライス。子供の食い物ね。マクドナルド。通はモスバーガーでしょ?
野球だと、巨人。クルマだと、トヨタ。音楽だと、ミスチル。政治だと、自民党。
ビートルズだと、ポールの曲。音楽分かってる人はジョンですよね。
マンガだと、手塚治虫や藤子不二雄。今更読む必要もないw
小説だと、古本屋に山積されてる赤川次郎。小説マニアは読みませんねw
長嶋茂雄・新庄剛志・三浦カズ・ゴン。名前だけでむかつきますね。
DELLってつまりそういうレベルの低い人向けの商品ですよね。
歴史を作るのは我々マニアですから、記憶からはいつか消え去るんですよDELLはw

92 :
C++のクラスでstaticな変数を使いたいのですが、OpenMPの中で更新した場合、安全に更新されるのでしょうか?

93 :
されると思う?localな変数でも、ちゃんと明示しないと無理だし、
データ並列になっていないのでは意味無いと思わない?

94 :
       ,ィ                      __
      ,. / |´ ̄`ヽー- 、 ト、        , -‐、/./.- 、 書き込みのはやきこと風の如く
    / | |    ヽ   l l        ( 火◇風 ノ
  /o ̄`ハ._.ゝ===┴=く.ノ- 、      ノ ◇ ◇ (  他人と会話せざること林の如く
  /o O / l´ ⌒    ⌒  lo ',ヽ     ( 山◇ 林 }
  \___/. ト、(●)  (●) ハ  ∧     `⌒/7へ‐´ ネットで煽ること火の如く
 / ,イ   レ::::⌒(__人__)⌒l~T--‐彡    /./
/ ̄ ̄l.  彡、  |r┬-| ノ'l  l::::::::::彡ー7⌒つ、  部屋から動かざること山の如し
彡:::::::::::l  ト、__ `ー' /|  l::::::::::::ミ  {,_.イニノ
彡ソ/ノハ   ト、 \  / ,イ  川ハ ヾー‐'^┴

95 :
>>92
ちゃんと排他制御や共有のための宣言をすれば問題ないかと。
パラレルリージョンの中で single で1プロセスだけがアクセスするとか
reduction で更新するとかね。

96 :
祗園精舎の鐘の声
諸行無常の響きあり
娑羅双樹の花の色
盛者必衰の理をあらはす
おごれる人も久しからず
唯春の夜の夢のごとし
たけき者も遂にはほろびぬ
偏に風の前の塵に同じ

97 :
一般論として、MPIよりもOpenMPの方が性能が低下する(遅くなる)ということはありえますか?
MPIのプログラムをOpenMPを使って書き換えたのですが、3割近く遅くなってしまいました。

98 :
一般論では遅くなります

99 :
きちんとチューニングされていれば、MPIの方が速い。
あとはpthreadを使って自分で書くという手もある。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
くだすれC++/CLI(初心者用)part2 (645)
【Lua】組み込み系言語総合 その5【Squirrel】 (928)
2 part forth (665)
インテルC++コンパイラ9.0発表! (586)
C言語なら俺たちに聞け パート0001 (220)
Borland Developer Studio 2006 No.13 (279)
--log9.info------------------
脚(特に大腿筋)を太くするには? (789)
【笑顔が】廣田 俊彦【さわやか】 (552)
上半身のパワーの指標はベンチプレスなどではない (234)
ホモになってから明らかに筋量が増えた (576)
ダンベルだけでトレに励むスレ 10レップスめ (400)
【ピクプル】綺麗な大胸筋作成スレ 3 【ブルルン】 (280)
どんなに鍛えても素手じゃ敵わない野性動物 2 (297)
マッチョほどではない筋肉質の美女の画像☆2 (731)
【日本】女子ボディービルダー特集 part7【海外】 (821)
ウェイトトレーニーの風俗事情3 (489)
【茨城の星】久松 一貴【ジャパンオープン覇者】 (848)
人生や社会に不満だらけの惨めな奴が雑言吐くスレ (492)
西本朱希の復帰を望むスレ (766)
ゴッチ式肉体鍛練(機能的肉体を目指して) (707)
鬱にはウエイトトレーニングが一番の薬 (831)
インクラインベンチプレスが好き 2 (816)
--log55.com------------------
【とれたて】キュアパイン/山吹祈里 58【フレッシュ!】
【革命機】指南ショーコは抱きしめられてもカワイイ21【ヴァルヴレイヴ】
【干物妹!うまるちゃん】海老名菜々は恋する女の子かわいい8
【ドキドキ!プリキュア】キュアエース/円亜久里10
【とある科学の超電磁砲】絹旗最愛は超可愛い part11
本田未央はパーフェクトスター・パーフェクトスタイルで超かわいい14
【アイカツ!】天羽まどかちゃんはふんわり笑顔かわいい4
【とある魔術の禁書目録】吹寄制理のおっぱい+体操服こそ正義DX41.1