[Numpy-discussion] How does Python treat commons in fortran code?

Guillem Borrell i Nogueras guillemborrell at gmail.com
Wed Oct 10 14:58:48 EDT 2007


Hello all

This afternoon I introduced Python to my boss and the rest of my colleagues in 
the CFD laboratory (universidad politecnica de madrid, school of 
aeronautics).  My boss wanted to know if it would be helpful to manage a 
quite complex parallel algorithm while keeping its performance.  He has a 
long background in high performance computing, mainly in fortran.  He asked 
me something i could not answer, in fact I just have no clue about it.

We have some very tuned parallel subroutines to perform FFTs that are written 
in fortran 77; they have lots of _common_ structures that are used to manage 
large chunks of memory.  Those subroutines have shown to be scalable to 2000 
processors so it is very important that they perform as expected. Of course 
our intention is to use them and I had the idea of building a wrapper using 
f2py.

His question was.  ¿How does ctypes or f2py handle the _common_ structures 
present in fortran 77?  ¿Are all they allocated at load? ¿Do they work 
exactly as they were called from a fortran executable and the main program is 
aware of all the _commons_ and allocates the storage when it is asked for?

I told him that I see no difference between the python interpreter and any 
other executable but my knowledge of python is not that deep. I could not 
explain him successfully exactly what is stored in the interpreter stack and 
what is not neither.

He has been programming for more than 40 years and I could not get him much 
into object oriented programing, however he found python+numpy+scipy a very 
promising tool.

guillem



More information about the NumPy-Discussion mailing list