i7CPUのopenMPに問題があります。
'for'ループを並列化するためだけにopenMPを使用しました。アルゴリズムはいくつかの異なるPCで使用され、問題なく機能しました。最近、i7システムで実行しようとしましたが、問題が発生しました。ソフトウェアは通常しばらく実行され、数サイクル後に「メモリ不足」と報告され、メモリリークを見つけようとしましたが、代わりに、ソフトウェアの使用済みスタックサイズが大きすぎることがわかりました。1Mbスレッドが多くありませんでした。閉まっている。どういうわけか、openMPによって作成されたスレッドはすべてスタックにスタックし、メモリはそれらでいっぱいになりました。
誰かがそのような行動を経験したことがありますか?コードは非常に単純で、他のPCでも問題なく動作する、あるサイクルを伴う「プラグマomp並列」です。
組み込みのopenMPライブラリを備えたMicrosoftVisualC++9.0コンパイラを使用しています。
ありがとうセルゲイ