マルチスレッドプログラミングについて語るスレ
■前スレ
マルチスレッドプログラミング相談室 その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】
【言語】
【実行環境】
【その他特記する事項】
探検
マルチスレッドプログラミング相談室 その9
2012/06/15(金) 01:31:57.88
2012/06/15(金) 01:35:25.58
2012/06/15(金) 03:59:42.18
2012/06/15(金) 16:15:07.07
>>前すれ995
そういうオプションがあるのですね,レポートと書き直したソースを添付します.
http://www5.puny.jp/uploader/download/1339744079.zip
pass:giko
potential OUTPUT 依存関係
らしいですが,ググってもよくわかりません.依存関係がないように>>前すれ999のようにpureに書き換えたのですが.
>>前すれ997
これは試しにつけてみただけのものです,やはり使い方が違いますか・・.
そういうオプションがあるのですね,レポートと書き直したソースを添付します.
http://www5.puny.jp/uploader/download/1339744079.zip
pass:giko
potential OUTPUT 依存関係
らしいですが,ググってもよくわかりません.依存関係がないように>>前すれ999のようにpureに書き換えたのですが.
>>前すれ997
これは試しにつけてみただけのものです,やはり使い方が違いますか・・.
2012/06/15(金) 18:14:50.61
gfortran -O3 20120528_fast_pararell_subroutine.f90 -ftree-vectorize -msse2 -ftree-vectorizer-verbose=2
2012/06/15(金) 18:54:01.14
彼女二人と同時にデートする時はマルチスレッドじゃないといけないんだけど
どうすればいいかな
どうすればいいかな
2012/06/15(金) 19:08:46.12
時分割でがんばれ
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];
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];
2012/06/16(土) 12:26:31.55
>>4
ループ間で出力変数に依存関係があるかも、という判断。
○ i, j は value 属性を付け、b は戻り値にする。
○ サブルーチン inv の宣言部に interface で sho_det の引数属性を書く。
ここまでで依存はクリア、反復回数が少ないかも、というようになる。
/Qpar-threshold0 オプション (100〜0) で並列化は完了。
ループ間で出力変数に依存関係があるかも、という判断。
○ i, j は value 属性を付け、b は戻り値にする。
○ サブルーチン inv の宣言部に interface で sho_det の引数属性を書く。
ここまでで依存はクリア、反復回数が少ないかも、というようになる。
/Qpar-threshold0 オプション (100〜0) で並列化は完了。
2012/06/16(土) 12:48:12.18
bに依存がないことくらい解析できてもよさそうなのにね
2012/06/16(土) 16:27:05.54
sho_det呼び出しの2重ループで並列化できるの?
2012/06/16(土) 16:52:50.21
双子と付き合う時はマルチスレッドのチンポ子が欲しい。
13デフォルトの名無しさん
2012/06/16(土) 16:54:32.86 クリティカルセクションとかミューテクスって重いんですか?
秒間2500回とかマジキチですか?
秒間2500回とかマジキチですか?
2012/06/16(土) 17:00:15.54
400μ秒は今のパソコン環境でも、厳しいんじゃね
何をしたいかにもよるけど、専用環境作ったほうがハマらんかもね
何をしたいかにもよるけど、専用環境作ったほうがハマらんかもね
2012/06/16(土) 17:19:32.25
ロックフリー!
2012/06/16(土) 17:33:56.57
2012/06/16(土) 21:17:30.95
18デフォルトの名無しさん
2012/06/16(土) 22:25:28.46194
2012/06/16(土) 23:07:53.93 申し訳ありません,並列化ですが,解決しました.
/Qpar-threshold(並列化のしきい値)の値を100から20ぐらいまで下げたら5スレッドで実行されました.
ただ,ものすごく,計算が遅くなってしまって,なおかつ不必要なところまで並列化されてしまったようです.
このループだけ並列化したいっていうような指定ってできるのでしょうか?
/Qpar-threshold(並列化のしきい値)の値を100から20ぐらいまで下げたら5スレッドで実行されました.
ただ,ものすごく,計算が遅くなってしまって,なおかつ不必要なところまで並列化されてしまったようです.
このループだけ並列化したいっていうような指定ってできるのでしょうか?
2012/06/16(土) 23:18:15.13
2012/06/17(日) 02:24:44.41
答え教えてもらって、闇雲にやるのが今風なの?
2012/06/17(日) 02:28:46.34
それって、単純ループがスレッド化されただけじゃねえの?
2012/06/17(日) 03:56:01.16
実行環境に寄って自動で最適化して欲しいよね。
ちょっと違うけどjitみたいに自分でプロファイルとって実行処理罹る所を重点的に最適化とかさ。
4coreの環境と64coreの環境といちいち最適化するのめんどくさい。
ちょっと違うけどjitみたいに自分でプロファイルとって実行処理罹る所を重点的に最適化とかさ。
4coreの環境と64coreの環境といちいち最適化するのめんどくさい。
2012/06/17(日) 04:08:44.71
core数増えたから、早くなるってわけでもないでしょうに
レスを投稿する
ニュース
- 自民 国会議員の歳費 月額5万円引き上げ 今国会での成立目指す [どどん★]
- 「クラウンに乗りたかった」東京・足立の車暴走 男性、容疑を否認★2 [七波羅探題★]
- 相次ぐ中国公演中止に、シンガーソングライターらが続々高市首相に怒り表明「隣国の仲間たちに対して申し訳ない」★3 [muffin★]
- 志らく、高市首相を批判する人々は「日本人じゃないの?」SNSで賛否 野党議員が一斉批判「差別発言」「非国民扱いするコメンテーター」 [muffin★]
- 《降板の申し出が》「平手友梨奈は出ません」ムロツヨシの「弁護士ドラマ」から“バディ”が消える!連ドラ撮影中にも遅刻、欠席… [Ailuropoda melanoleuca★]
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★9 [BFU★]
