マルチスレッドプログラミング相談室 その9 (459レス)
マルチスレッドプログラミング相談室 その9 http://mevius.5ch.net/test/read.cgi/tech/1339691517/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2012/06/15(金) 01:31:57.88 マルチスレッドプログラミングについて語るスレ ■前スレ マルチスレッドプログラミング相談室 その8 http://toro.2ch.net/test/read.cgi/tech/1253521167/ ■過去スレ その1 ttp://pc3.2ch.net/tech/kako/997/997345868.html その2 ttp://pc5.2ch.net/test/read.cgi/tech/1037636153/ その3 ttp://pc8.2ch.net/test/read.cgi/tech/1098268137/ その4 ttp://pc8.2ch.net/test/read.cgi/tech/1130984585/ その5 ttp://pc11.2ch.net/test/read.cgi/tech/1157814833/ その6 ttp://pc11.2ch.net/test/read.cgi/tech/1187008532/ その7 ttp://pc12.2ch.net/test/read.cgi/tech/1215253576/ OS・言語・環境は問わないが、それゆえ明記すべし。 テンプレ 【OS】 【言語】 【実行環境】 【その他特記する事項】 http://mevius.5ch.net/test/read.cgi/tech/1339691517/1
2: デフォルトの名無しさん [sage] 2012/06/15(金) 01:35:25.58 ■関連スレ・関連性の高いスレ ネットワークプログラミング相談室 Port28 http://toro.2ch.net/test/read.cgi/tech/1334736934/ http://mevius.5ch.net/test/read.cgi/tech/1339691517/2
3: デフォルトの名無しさん [sage] 2012/06/15(金) 03:59:42.18 >>1 乙 前スレ >>994 並列実行「可能」でも「スケールする」かは知らんぞ。 OpenMP なら !$omp parallel do としてコンパイルオプション /Qopenmp http://mevius.5ch.net/test/read.cgi/tech/1339691517/3
4: デフォルトの名無しさん [sage] 2012/06/15(金) 16:15:07.07 >>前すれ995 そういうオプションがあるのですね,レポートと書き直したソースを添付します. http://www5.puny.jp/uploader/download/1339744079.zip pass:giko potential OUTPUT 依存関係 らしいですが,ググってもよくわかりません.依存関係がないように>>前すれ999のようにpureに書き換えたのですが. >>前すれ997 これは試しにつけてみただけのものです,やはり使い方が違いますか・・. http://mevius.5ch.net/test/read.cgi/tech/1339691517/4
5: デフォルトの名無しさん [sage] 2012/06/15(金) 18:14:50.61 gfortran -O3 20120528_fast_pararell_subroutine.f90 -ftree-vectorize -msse2 -ftree-vectorizer-verbose=2 http://mevius.5ch.net/test/read.cgi/tech/1339691517/5
6: デフォルトの名無しさん [sage] 2012/06/15(金) 18:54:01.14 彼女二人と同時にデートする時はマルチスレッドじゃないといけないんだけど どうすればいいかな http://mevius.5ch.net/test/read.cgi/tech/1339691517/6
7: デフォルトの名無しさん [sage] 2012/06/15(金) 19:08:46.12 時分割でがんばれ http://mevius.5ch.net/test/read.cgi/tech/1339691517/7
8: デフォルトの名無しさん [sage] 2012/06/15(金) 21:41:34.19 Analyzing loop at 20120528_fast_pararell_subroutine.f90:237 237: not vectorized: not suitable for gather D.2660_224 = *shoi_69[D.2659_223]; Analyzing loop at 20120528_fast_pararell_subroutine.f90:196 196: not vectorized: not suitable for gather D.2600_148 = *a_147(D)[D.2599_146]; Analyzing loop at 20120528_fast_pararell_subroutine.f90:150 150: not vectorized: loop contains function calls or data references that cannot be analyzed Analyzing loop at 20120528_fast_pararell_subroutine.f90:131 131: not vectorized: not suitable for gather D.2767_169 = *a_86(D)[D.2766_168]; Analyzing loop at 20120528_fast_pararell_subroutine.f90:91 91: not vectorized: not suitable for gather D.2704_87 = *a_86(D)[D.2703_85]; Analyzing loop at 20120528_fast_pararell_subroutine.f90:37 37: not vectorized: not suitable for gather D__I_lsm.780_635 = MEM[(real(kind=8)[0:] *)D.2433_241][pretmp.758_17]; Analyzing loop at 20120528_fast_pararell_subroutine.f90:38 38: not vectorized: not suitable for gather D.2485_318 = MEM[(real(kind=8)[0:] *)D.2298_95][D.2484_317]; http://mevius.5ch.net/test/read.cgi/tech/1339691517/8
9: デフォルトの名無しさん [sage] 2012/06/16(土) 12:26:31.55 >>4 ループ間で出力変数に依存関係があるかも、という判断。 ○ i, j は value 属性を付け、b は戻り値にする。 ○ サブルーチン inv の宣言部に interface で sho_det の引数属性を書く。 ここまでで依存はクリア、反復回数が少ないかも、というようになる。 /Qpar-threshold0 オプション (100〜0) で並列化は完了。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/9
10: デフォルトの名無しさん [sage] 2012/06/16(土) 12:48:12.18 bに依存がないことくらい解析できてもよさそうなのにね http://mevius.5ch.net/test/read.cgi/tech/1339691517/10
11: デフォルトの名無しさん [sage] 2012/06/16(土) 16:27:05.54 sho_det呼び出しの2重ループで並列化できるの? http://mevius.5ch.net/test/read.cgi/tech/1339691517/11
12: デフォルトの名無しさん [sage] 2012/06/16(土) 16:52:50.21 双子と付き合う時はマルチスレッドのチンポ子が欲しい。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/12
13: デフォルトの名無しさん [] 2012/06/16(土) 16:54:32.86 クリティカルセクションとかミューテクスって重いんですか? 秒間2500回とかマジキチですか? http://mevius.5ch.net/test/read.cgi/tech/1339691517/13
14: デフォルトの名無しさん [sage] 2012/06/16(土) 17:00:15.54 400μ秒は今のパソコン環境でも、厳しいんじゃね 何をしたいかにもよるけど、専用環境作ったほうがハマらんかもね http://mevius.5ch.net/test/read.cgi/tech/1339691517/14
15: デフォルトの名無しさん [sage] 2012/06/16(土) 17:19:32.25 ロックフリー! http://mevius.5ch.net/test/read.cgi/tech/1339691517/15
16: デフォルトの名無しさん [sage] 2012/06/16(土) 17:33:56.57 >>13 そのあたりだと、API 呼び出しのオーバーヘッドもバカにならないから 自前で実装したほうがいいんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1339691517/16
17: デフォルトの名無しさん [sage] 2012/06/16(土) 21:17:30.95 https://gist.github.com/2841832 によれば > Mutex lock/unlock 25 ns http://mevius.5ch.net/test/read.cgi/tech/1339691517/17
18: デフォルトの名無しさん [] 2012/06/16(土) 22:25:28.46 >>13 重いけどそれくらいならいけると思う できるならスレッドごとにリソースもって 最後に合体させたほうが速い http://mevius.5ch.net/test/read.cgi/tech/1339691517/18
19: 4 [sage] 2012/06/16(土) 23:07:53.93 申し訳ありません,並列化ですが,解決しました. /Qpar-threshold(並列化のしきい値)の値を100から20ぐらいまで下げたら5スレッドで実行されました. ただ,ものすごく,計算が遅くなってしまって,なおかつ不必要なところまで並列化されてしまったようです. このループだけ並列化したいっていうような指定ってできるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1339691517/19
20: デフォルトの名無しさん [sage] 2012/06/16(土) 23:18:15.13 >>17 Mutexってスレッド数によると思うんだけどな。 シングルコアならオンキャッシュで対応できるけど、 マルチコアだったりマルチCPUだったらメモリ参照と大差ないと思う。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/20
21: デフォルトの名無しさん [sage] 2012/06/17(日) 02:24:44.41 答え教えてもらって、闇雲にやるのが今風なの? http://mevius.5ch.net/test/read.cgi/tech/1339691517/21
22: デフォルトの名無しさん [sage] 2012/06/17(日) 02:28:46.34 それって、単純ループがスレッド化されただけじゃねえの? http://mevius.5ch.net/test/read.cgi/tech/1339691517/22
23: デフォルトの名無しさん [sage] 2012/06/17(日) 03:56:01.16 実行環境に寄って自動で最適化して欲しいよね。 ちょっと違うけどjitみたいに自分でプロファイルとって実行処理罹る所を重点的に最適化とかさ。 4coreの環境と64coreの環境といちいち最適化するのめんどくさい。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/23
24: デフォルトの名無しさん [sage] 2012/06/17(日) 04:08:44.71 core数増えたから、早くなるってわけでもないでしょうに http://mevius.5ch.net/test/read.cgi/tech/1339691517/24
25: デフォルトの名無しさん [sage] 2012/06/17(日) 06:28:14.10 効率が悪かろうと並列化したいループには !DEC$ PARALLEL ALWAYS ※ 依存性に目をつぶれという指示ではない > 64core の対応 3日かかる計算を1時間に押し込みたいなら、やる価値はある。 1分の処理が1秒になることを期待するなら、最適化する時間のほうが長い。 そもそも、大体の 64core での性能問題は 4core では小さくて見えないだけ。 スケールするとかしないとかはそういう話。 http://mevius.5ch.net/test/read.cgi/tech/1339691517/25
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 434 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s