人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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です。
よろしくお願いします。

●質問者: No.3
●カテゴリ:コンピュータ
○ 状態 :キャンセル
└ 回答数 : 0/0件

▽最新の回答へ

質問者から

ちなみに、-staticを外したところopenmpあり・idbでも問題なく動きました。
なんとか静的リンクとopenmpを共存できないでしょうか?


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ