discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Recurring memory leak problems with iterative dec


From: Ben Hilburn
Subject: Re: [Discuss-gnuradio] Recurring memory leak problems with iterative decoding [ GNU Radio 3.7.11.1]
Date: Wed, 8 May 2019 11:50:44 -0400

Hi Moses -

And just to confirm, if you remove your LDPC block from that flowgraph or replace it with a passthrough, you don't see the leak?

Cheers,
Ben

On Tue, May 7, 2019 at 7:24 PM Moses Browne Mwakyanjala <address@hidden> wrote:
Hello Ben,
Thanks.
For LDPC, the executable can be found at
gr-ccsds/examples/LDPC/ldpc_2/build-ldpc_decoder-Desktop-Debug/ldpc_decoder.
The C++ executable for Turbo code can be found at 
gr-ccsds/lib/fec/turbo/deepspace-turbo/bin/deepspace_turbo

I'm not very familiar with Valgrind so I monitored the memory usage by looking at system monitor on my Ubuntu laptop. The memory usage is almost constant, at around 17.1 Mbs for the ldpc_decoder executable. On GNU Radio, the memory usage jumps by huge steps (100Mb) in a matter of seconds until all the memory (the ram is around 8 gigs) is fully consumed. 

Thanks for links to the memory buffer blog post. I will have a look. 
Regards,
Moses. 

On Tue, May 7, 2019 at 10:13 PM Ben Hilburn <address@hidden> wrote:
Hey Moses -

This is really cool work! Thanks so much for sharing it. Michael's suggestion of pushing it was a good one. I haven't looked at the code yet, but:

The code was able to run smoothly in a C++ application but experienced memory leaks in GNU Radio.

I'm curious how confident you are in this? It might be worthwhile to run the pure-C++ version through Valgrind just to double-check, if you haven't already.

I also have one question regarding buffering in GNU Radio. Since iterative decoding with a large number of iterations and large block sizes takes time to complete, the input pmt data that is not consumed immediately will have to be stored somewhere. Is that the case? Could that be the reason for the memory leak?

Things do get stored until buffers and full, and then backpressure builds up through the flowgraph. This shouldn't cause memory leaks.

For a more thorough explanation of this, check out this excellent blog post from Marcus Mueller!


Cheers,
Ben

reply via email to

[Prev in Thread] Current Thread [Next in Thread]