Hi Mike, I can confirm the leak in this code/solver system using FiPy on a Linux box. Some details: FiPy: 3.1-dev131-g77851ef PyTrilinos: 12.1;(;Dev;) PySparse: 1.1.1
I commented out the solver and preconditioner specifications, using the default behavior when launching the script with --pysparse or --trilinos flags instead. I also disabled garbage collection. Memory use was monitored using memory-profiler, launching the script using OMP_NUM_THREADS=6 mprof run mod-fipy-dft.py --trilinos or OMP_NUM_THREADS=6 mprof run mod-fipy-dft.py --pysparse For 100 steps, the pysparse solver plateaued around 8GB, with regular spikes in RAM consumption while solving the equations. For 100 steps, the pytrilinos solver just keeps gobbling up RAM -- it had about 37GB at the last step. Using the solver (LinearBicgstabSolver) and preconditioner (JacobiPreconditioner) you specified for Trilinos, it's a little better, ramping up to just 24GB after 100 steps. Digging around a little bit, there was a patch to PyTrilinos (for v. 12.4) in October meant to address some memory leaks -- I'm cloning and re-building the project now. Can you report your PyTrilinos version, please, using >>> from PyTrilinos import __version__ as PyTriVer >>> print PyTriVer Thank you, Trevor Trevor Keller, Ph.D. Materials Science and Engineering Division National Institute of Standards and Technology 100 Bureau Dr. MS 8550; Gaithersburg, MD 20899 Office: 223/A131 or (301) 975-2889 ________________________________________ From: fipy-boun...@nist.gov <fipy-boun...@nist.gov> on behalf of Michael Waters <waters.mik...@gmail.com> Sent: Monday, March 28, 2016 2:10 PM To: FIPY Subject: Re: Memory Leaks with Trilinos Thanks, If you think DFT in FiPy is strange, you should see how I make isosurfaces in POV-Ray. :) That said, If anyone is tinkering with my example and has questions, I am glad to answer them! Cheers, -Mike Waters On 03/28/2016 01:46 PM, Guyer, Jonathan E. Dr. (Fed) wrote: > Mike, thanks for the example, and for the rather perverse application of FiPy! > > I'll fiddle with this and see what I get. > > - Jon > > On Mar 25, 2016, at 7:16 PM, Michael Waters <waters.mik...@gmail.com> wrote: > >> Hello, >> >> I still have a large memory leak when using Trilinos. I am not sure where to >> start looking so I made an example code that produces my problem in hopes >> that someone can help me. >> >> But! my example is cool. I implemented Density Functional Theory in FiPy! >> >> My code is slow, but runs in parallel and is simple (relative to most DFT >> codes). The example I have attached is just a lithium and hydrogen atom. The >> electrostatic boundary conditions are goofy but work well enough for >> demonstration purposes. If you set use_trilinos to True, the code will >> slowly use more memory. If not, it will try to use Pysparse. >> >> Thanks, >> -Michael Waters >> <input.xyz><fipy-dft.py>_______________________________________________ >> fipy mailing list >> fipy@nist.gov >> http://www.ctcms.nist.gov/fipy >> [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] > > _______________________________________________ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]