-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to capture MPI Functions when instrumenting fortran code #230
Comments
Hi @deanchester , By default Caliper relies on library constructors to initialize its MPI component, but sometimes that fails. In that case, you can explicitly initialize it with the |
I am having an issue with this as well. Using |
Hi @andrewreisner , The |
Thanks for the information. I updated my Caliper version and removed |
Hi, I just had the same problem here. I want to intercept MPI functions in Fortran codes, and could you tell me how to write wrapper functions in Caliper for the Fortran MPI functions? Thank you so much. |
@Jiang-Weibo I do not have experience with this, but I suspect Caliper already wraps the MPI calls using gotcha and wrapping them yourself is unnecessary. |
@andrewreisner Thank you so much for your reply. I tested a simple mpi program in Fortran, and I am sure I installed and enabled mpi services in Caliper, but still I got no correcc response. This is the configuration. MPI process 0 sends value 12345.
MPI process 1 received value: 12345.
== CALIPER: (1): default: mpireport: MPI is already finalized. Cannot aggregate output.
== CALIPER: (0): default: mpireport: MPI is already finalized. Cannot aggregate output. There is another issue of Path Min time/rank Max time/rank Avg time/rank Time % Allocated MB
mpi-simple-test 0.002451 0.002887 0.002669 17.140302 0.005371
mainloop 0.001412 0.001414 0.001413 9.073287 0.001173
MPI_Comm_dup 0.002300 0.002671 0.002485 15.960977 0.005340
MPI_Send 0.000084 0.000084 0.000084 0.269365 0.005340
MPI_Recv 0.000288 0.000288 0.000288 0.926402 0.005340
MPI_Comm_free 0.000024 0.000028 0.000026 0.165153 0.005340
MPI_Probe 0.000047 0.000047 0.000047 0.151672 0.005340
MPI_Get_count 0.000040 0.000040 0.000040 0.126926 0.005340 I doubt this is because the way I instrument Fortran code or the version of Caliper is not correct. Could you tell me the version of Caliper you are using or how you instrument the Fortran code with Caliper as well as the Caliper configurations? Thank you for your help. |
@Jiang-Weibo Try adding |
@andrewreisner I have tried both of them, but neither worked. I even changed the version of Caliper for ver. 2.7.0, 2.8.0 and 2.9.0 but they all reported the same error. I guess there is an internal mechanics of Caliper of how |
I have instrumented a fortran code using Caliper but when I run the application it doesn't capture MPI communication.
I have built Caliper with the following configuration:
cmake -DCMAKE_INSTALL_PREFIX=$HOME/local/caliper-gcc -DCMAKE_C_COMPILER=/csc/tinis/software/Core/GCCcore/7.3.0/bin/gcc -DCMAKE_CXX_COMPILER=/csc/tinis/software/Core/GCCcore/7.3.0/bin/g++ -DWITH_FORTRAN=On -DWITH_TOOLS=On -DWITH_MPI=On -DMPI_C_COMPILER=/csc/tinis/software/Compiler/GCC/7.3.0-2.30/OpenMPI/3.1.1/bin/mpicc -DCMAKE_Fortran_COMPILER=/csc/tinis/software/Core/GCCcore/7.3.0/bin/gfortran ..
When I run my application I set the following in my script:
In the caliper output files for the code I only have the instrumented areas of the code with the start and end routines:
Any ideas whats going wrong?
The text was updated successfully, but these errors were encountered: