プログラムを1つのスレッドでしか実行しません。当然ながら、このプログラムはOpenMPライブラリを使ってマルチスレッドを実行しますが、デバッグ目的のためにマルチスレッドを無効にしたいのです。 シングルスレッド実行を強制するには?
は、動的に(例えばomp_get_num_threads
常に
1
を返します)OMPの呼び出しに合理的な行動を与えるが、複数のスレッドを開始しないダミーのOpenMPライブラリのみにリンクする
gdb
または多分
ld.so
レベルの上のオプションがあります?
OpenMPの実装には、Intelのようにシリアルスタブを含むOpenMPライブラリが含まれている場合があります。実装に依存しない回答が必要な場合は、環境変数と関数呼び出しを使用してください。 – tim18