aff3ct / dvbs2

DVB-S2 SDR Transceiver powerded by AFF3CT & StreamPU.
MIT License
24 stars 9 forks source link

rx ram usage #2

Closed wblair2 closed 1 year ago

wblair2 commented 1 year ago

Hi! I'm attempting to run tx and rx using the example usage from the README. I have successfully ran tx, but rx is using up all of my system's ram and is thus being killed:

image

My exact usage is:

./bin/dvbs2_rx \
--sim-stats \
--rad-threaded \
--rad-rx-subdev-spec "A:0" \
--rad-ip-addr 192.168.40.2 \
--rad-rx-rate 30e6 \
--rad-rx-freq 2360e6 \
--rad-rx-gain 5 \
-F 16 \
--src-type USER \
--src-path ../conf/src/K_14232.src \
--mod-cod QPSK-S_8/9 \
--dec-implem NMS \
--dec-ite 10 \
--dec-simd INTER

My system info is:

I was wondering if this is expected RAM usage, or if there are any parameters I should change? Happy to answer any questions. Thanks!

kouchy commented 1 year ago

Hi @wblair2,

Indeed, the receiver is not optimized to use few memory... The number of threads is hardcoded here: https://github.com/aff3ct/dvbs2/blob/b74fd32d20341937e60e3421dc43f3152ff43726/src/mains/RX/main.cpp#L302 For your system, you can replace 28 (the number of threads in the parallel stage) by something ranging between 1 and 16. This should drastically reduced the amount of required memory.

I hope it helps.

wblair2 commented 1 year ago

Yes that worked, thank you - I've tried 8 and 12 threads and both worked.