discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Problems when using a FFT block with 5e6 points


From: Michael Dickens
Subject: Re: [Discuss-gnuradio] Problems when using a FFT block with 5e6 points
Date: Tue, 28 May 2019 09:24:34 -0400
User-agent: Cyrus-JMAP/3.1.6-553-gc304556-fmstable-20190524v1

Hi Florian - My initial thoughts are: why 5e6 points (so many!), and how are you accumulating that many points inside GR? In order to get that many points accumulated, you'll need to set the I/O buffering on the FFT block to at least that number of items, and probably more -- not impossible, but certainly unusual, at least for GR. The default GR FFT blocks are vectorized, with the vector length being the FFT length in items. The GR scheduler won't even call the FFT block's "work" until it has a single vector of data available. If you didn't set the I/O buffering in the FFT block, I'm a little surprised that the flowgraph even executed for any significant amount of time ... I'd think the scheduler would quickly determine that it can't meet the block's needs & print something (which might not be helpful or obvious), and then throw an error in the thread holding the FFT block. Anyway, hope this is useful! - MLD

On Tue, May 28, 2019, at 9:12 AM, Anderl, Florian wrote:

GNU C++ version 8.2.0; Boost_106501; UHD_3.14.0.HEAD-0-g6875d061

GNUradio version: 3.7.13.4

USRP hardware: B210


Dear all,


for my flowgraph I need an FFT with 5e6 or more points. My problem is that my flow graph is not executing, more precisely it seems to block when allocating the memory for the FFT. The graph runs without problems without the FFT block. I I face the same problem when using a stripped down version of my flowgraph only consisting of a USRP source and a subsequent 5e6-point FFT. It does not throw any error. It just seems to block. I  checked with GDB and it seems to be an issue with the fftw-lib failing to allocate memory...


Here the GDB - info threads output:



* 1    Thread 0x7ffff79e5740 (LWP 25356) "python" 0x00007fffd3a9305c in ?? ()
   from /usr/lib/x86_64-linux-gnu/libfftw3f.so.3
  2    Thread 0x7fffe6387700 (LWP 25358) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e5e0 <thread_status+96>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7fffe5b86700 (LWP 25359) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e660 <thread_status+224>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7fffe3385700 (LWP 25360) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e6e0 <thread_status+352>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  5    Thread 0x7fffdeb84700 (LWP 25361) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e760 <thread_status+480>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  6    Thread 0x7fffdc383700 (LWP 25362) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e7e0 <thread_status+608>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  7    Thread 0x7fffdbb82700 (LWP 25363) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e860 <thread_status+736>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  8    Thread 0x7fffd7381700 (LWP 25364) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffe839e8e0 <thread_status+864>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  9    Thread 0x7fffcac3f700 (LWP 25365) "gmain"  0x00007ffff7ece6d9 in __GI___poll (fds=0x555556f30ba0,
    nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  10   Thread 0x7fffca43e700 (LWP 25366) "gdbus"  0x00007ffff7ece6d9 in __GI___poll (fds=0x555556f41010,
    nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  13   Thread 0x7fffbbfff700 (LWP 25370) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffd07ca54c <log_rs()::log_rs+588>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  14   Thread 0x7fffbb7fe700 (LWP 25371) "python" futex_wait_cancelable (private=<optimized out>, expected=0,
    futex_word=0x7fffd07ca400 <log_rs()::log_rs+256>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  26   Thread 0x7fffb9ffb700 (LWP 25388) "python" 0x00007ffff7ece6d9 in __GI___poll (fds=0x7fffb9ffaec0,
    nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  27   Thread 0x7fffba7fc700 (LWP 25389) "python" 0x00007ffff7ece6d9 in __GI___poll (fds=0x7fffa0000bd0,
    nfds=3, timeout=100) at ../sysdeps/unix/sysv/linux/poll.c:29
  28   Thread 0x7fffbaffd700 (LWP 25392) "python" futex_abstimed_wait_cancelable (private=<optimized out>,
    abstime=0x7fffbaffc560, expected=0, futex_word=0x5555571bb488)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  32   Thread 0x7fffc9c3d700 (LWP 25403) "python" futex_abstimed_wait_cancelable (private=0, abstime=0x0,
    expected=0, futex_word=0x555557ec6460) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  33   Thread 0x7fffb8ff9700 (LWP 25410) "python" futex_abstimed_wait_cancelable (private=0, abstime=0x0,
    expected=0, futex_word=0x55555801fac0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205




Any help is appreciated. Thanks in advance. I hope I provided enough info regarding my set-up.


Best regards,

Florian A.

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

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