[Numpy-discussion] f2py: ram usage

Vasco Gervasi yellowhat46 at gmail.com
Sun Apr 10 06:04:16 EDT 2016

Hi all,
I am trying to write some code to do calculation onto an array: for each
row I need to do some computation and have a number as return.
To speed up the process I wrote a fortran subroutine that is called from
python [using f2py] for each row of the array, so the input of this
subroutine is a row and the output is a number.
This method works but I saw some speed advantage if I pass the entire array
to fortran and then, inside fortran, call the subroutine that does the
math; so in this case I pass an array and return a vector.
But I noticed that when python pass the array to fortran, the array is
copied and the RAM usage double.
Is there a way to "move" the array to fortran, I don't care if the array is
lost after the call to fortran.
The pyd module is generated using: python f2py.py -c --opt="-ffree-form
-Ofast" -m F2PYMOD F2PYMOD.f90

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20160410/3701a371/attachment.html>

More information about the NumPy-Discussion mailing list