fortranでopenmpを使うとintelデバッガでsigsegv

intel fortran77でopenmpを使って並列化してるのですが、デバッガ(idb)を使ったときだけ
セグメンテーション違反が出ます。
デバッガ使えないとつらいのでなにか解決策無いでしょうか?
sigsegvが出るのはソース中一番はじめに現れるomp行です。(f77に必要な行先頭のスペースは投稿すると見えなくなってしまうのですがあります。)

!$omp parallel private(NI) ←この行を実行すると出ます
!$omp do reduction(+:NE)
DO I=1,NA
NI=N(I)
NE=NE+NE0(NI)
END DO
!$omp end do
!$omp end parallel

デバッグ時のコンパイラオプションは
-O0 -FI -132 -CB -traceback -g -check all -static -openmp -o 出力名 -nofor_main
です。-openmp-link=staticをつけてみたりもしたのですが、変わりませんでした。
-openmpを外してシリアルで動かした場合はsigsegvは出ません。
また、デバッガ使わない場合も特に出ません(結果がおかしいのでバグはありそうですが…)。
ifort バージョン 13.0.1, intelデバッガ バージョン13.0です。
OSはCent OS5 64bitです。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/07/02 19:10:03
id:iliorz419

質問者から

No.32013/06/26 18:59:15

ちなみに、-staticを外したところopenmpあり・idbでも問題なく動きました。

なんとか静的リンクとopenmpを共存できないでしょうか?

回答0件)

回答はまだありません

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません