mpip と ipm を使用して MPI プログラムのプロファイルを作成しようとしています。
プログラムは正常に動作していますが、プロファイリングするために ipm または mpip とリンクすると、プログラムを実行すると間違った結果が得られます。最適化の有無にかかわらずプログラムをコンパイルしようとしましたが、結果は同じでした
以前は問題なくipmを使用していました。唯一の 2 つの違いは、以前は C を使用していて、現在は Fortran 77 を使用しており、以前はソース ファイルが 1 つしかなかったため、次のようにコンパイル + リンクしたことです。
mpicc my_mpi_code.c -o my_mpi_code -L/path/to/ipm/lib -lipm
そして今、私は何百ものソースファイルを持っているので、最初にコンパイルし (たとえば mpif77 -c -O2 file.f で)、それからすべてをリンクします:
mpif77 -o mpi_prog.x mpi_prog.o libWithAllOFiles.a -L/path/to/ipm/lib -lipm
また、次のようにコンパイルを試みました。
mpif77 -c -O2 -L/path/to/ipm/lib -lipm file.f
しかし、結果は同じでした。
なぜこれが起こるのか分かりますか?プログラムの実行に対する mpip/ipm の影響は何ですか?
前もって感謝します!