私はwin32環境でC++最適化プログラムを実行しています。プログラムは、FFTWおよびpthread用にビルド済みのDLLを使用します。
最近、プログラムは非常に多く、場合によっては無限大に遭遇する可能性があるように変更されました。この変更後、この他の点では無駄のない堅牢なシステムは奇妙な症状を引き起こし始めました-特に、異なる実行(同じコンピューター上、同じバイナリー)で異なる数値結果を生成し、printfまたはダミーの割り当てをあちこちに追加しました行動を根本的に変えました。
考えられるすべてのバッファオーバーラン、メモリ割り当て、スレッドの問題(スレッドプールのサイズを1に減らしました)、スタックサイズを再確認しましたが、数週間の検索の後、何も見つかりませんでした。変更前は、プログラムに非決定性や安定性の問題はなく、数日間定期的に実行されていました。
問題はFFTWモジュールにあるのだろうか?それとも、そのような浮動小数点の不安定性は、多数に起因する可能性がありますか?