2013年12月6日金曜日

スタックサイズの変更

並列化済みの Dtransu を動かす場合、スレッド数やスタックサイズは、batファイル内で指定していました。

後輩から、それをソース内で固定できないか?といった問い合わせがありました。
ソース内で固定したことはないのですが、当然可能だろうと触ってみたところ、うまくできません。力不足です。

調べてみると、スレッド数の指定はすぐに引っかかりました。Win7 + Fortran では以下の通り。

call OMP_SET_NUM_THREADS(スレッド数)


しかし、スタックサイズの指定が分かりません。オプションの中を見てもわからなかったので、その日は解決できず。


後日、調べてみましたが、結局明示する方法はわからず。最終的に、Win7側で環境変数を固定することにしました。

OMP_STACKSIZE を追加すればOKです。スタックサイズはそれほど変更することがないので、固定しておいても問題ないですね。画像では、OMP_NUM_THREADSも追加していますが、ソース内で指定する場合は不要です。






しかし、これらを解決するのに、3夜かかりました。
プロがそばに欲しいですね。


0 件のコメント:

コメントを投稿