Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fortran extension to Python via f2py: How to profile?

I'm using an extension to Python (2.7.2) written in Fortran (gfortran 4.4.7) compiled via f2py (Ver. 2).

I can profile the Python part with cProfile, but the result does not give any information about the Fortran functions. Instead the time is attributed to the Python function calling the Fortran function.

I have enabled the "-pg -O" flags for all Fortran objects I build, as well as in the f2py call creating the shared object via: f2py --opt="-pg -O" ...

Any hint on how to get the Fortran informations too is highly appreciated.

If anyone uses a similar set-up, with a different profiler, I'd also be interested.

like image 472
NichtJens Avatar asked May 14 '13 13:05

NichtJens


2 Answers

Have a look at the python extension profiler yep.

like image 141
Roland Smith Avatar answered Sep 18 '22 22:09

Roland Smith


A Fortran function call appears as:

<ipython-input-51-f4bf36c6a947>:84(<module>). 

I know, you can't identify which module is being called but at least this gives you an idea.

Another way is wrapping it into a Python function and then see timing for the Python function.

like image 39
ilciavo Avatar answered Sep 18 '22 22:09

ilciavo