Sure, I will of course share it. It is quite messy because it involves a lot of function declarations, ODE solution and double integration.
I append 4 files, which can be used to reproduce the behavior I mentioned. First of all I use CythonGSL ( https://github.com/twiecki/CythonGSL/tree/master/cython_gsl) as a Cython wrapper to GSL. So, in the attached files there is: 1) lib_SI_CI_V6.pyx - the library, which is to be compiled using the my_setup.py 2) SI_CI_V6_eV.py - python file, which calls the compiled library and performs calculations. 3) In order to see how the memory is getting full quickly, I use mpi4py to lauch several substances of the program. The commands to run are in the 'commands file provided'. -n 7 must be substituted by -n x, where x is the number of CPU cores you want to use. So, in order to use the files do: 1) Compile the .pyx file by using my_setup.py python my_setup.py build_ext --inplace you will be prompted for the name..type the name of the .pyx file without extension 2) Use one of the commands provided in the 'commands' file from the terminal or launch the whole bunch of them by using chmod +x commands && ./commands 3) Use htop to see how quickly the memory is being filled. P.S. In my version of CythonGSL I fixed the gsl_odeiv2_driver_free return type from int to void, as it should be, but the problem persists. I understand that the program is very messy, sorry for that. Thank you! Best wishes, Alex
Shevtsov_code.tar.gz
Description: GNU Zip compressed data
