summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/lib/block_detail.cc
Commit message (Collapse)AuthorAgeFilesLines
* runtime: Custom Buffer/Accelerator Device Support - Milestone 2David Sorber2021-10-251-0/+2
| | | | | | | | | | | | | | | | | Completion of custom buffer/accelerator device support changes: * Improved custom buffer interface by removing awkward memory allocation functions from the block class * Increased flexibility for creating custom buffers by allowing creation of buffer_single_mapped subclasses * Fully incorporated data movement abstraction into the custom buffer interface and the runtime itself; accelerated blocks are no longer directly responsible for their own data movement * Zero copy back-to-back accelerated blocks are now supported (data no longer needs to be moved back to the host between each block) Signed-off-by: David Sorber <david.sorber@blacklynx.tech> Signed-off-by: Mike Mason <mike.mason@blacklynx.tech>
* runtime: Custom Buffer/Accelerator Device Support - Milestone 1David Sorber2021-10-251-0/+1
| | | | | | | | | | | | | | | Custom Buffer/Accelerator Device Support - Milestone 1 changes: * Refactored existing single mapped buffer code and created single mapped buffer abstraction; wrapping within single mapped buffers is handled explicitly by input blocked and output blocked callbacks that are called from block_executor * Added simple custom buffer allocation interface (NOTE: this interface will change for milestone 2) * Accelerated blocks are still responsible for data transfer but the custom buffer interface eliminates the double copy problem Signed-off-by: David Sorber <david.sorber@blacklynx.tech>
* global: remove iostream from all files not use cout|cerr|cin|clogMarcus Müller2021-06-171-1/+0
| | | | Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
* runtime: replace stderr logging by calls to GR's logging faciltiesMarcus Müller2020-04-131-1/+3
|
* Update license header to SPDX formatdevnulling2020-01-271-13/+1
|
* clang-tidy: misc-throw-by-value-catch-by-referenceAnders Kalør2019-08-151-2/+1
| | | | | Exceptions should be thrown by value and caught by reference. Closes #2708
* Tree: clang-format without the include sortingMarcus Müller2019-08-091-405/+322
|
* gnuradio-runtime: Optimize some buffer[_reader]_sptr grabs and releasesAndy Walls2018-02-031-12/+16
| | | | | | | | | Optimize some reference counted buffer[_reader]_sptr grabs and releases that show up as minor CPU wasters in profiling when there are a lot of tags or some blocks that "return 0" often. At high sample rates (e.g. 160 Msps), this can save ~2% CPU on blocks that propagate a fair number of tags.
* runtime: executor fixes for tag propagationTom Rondeau2016-06-141-0/+8
| | | | | | | Executor uses information about the number of items produced/consumed to update the relative rate. This makes sure tags are being propagated by all blocks correctly. Needed for pfb_clock_sync to use the correlate_and_sync block's tags.
* runtime: addresses issue #713.Tom Rondeau2016-01-281-0/+20
| | | | | | | | | | | | | | | | When disconnecting and reconnecting, buffers can change and new buffers will have their item counters zeroed out. Buffers held over will keep their current item counters at some value >> 0. In the case of the pfb_arb_resampler of issue #713, the rate update in the scheduler was getting confusing numbers and setting the rates to ridiculous values. Also, tags emitted from these new blocks will have offsets meaningless to the other blocks that held on to their buffers. This patch tells the scheduler to reset all buffer item counters (read and write) to 0 when connections are merged and also makes sure all tags are cleared from each block's input buffers. So upon a lock/unlock and reset event, all buffers' counters and tag containers are reset/cleared.
* runtime: add throughput counterNathan West2014-10-311-0/+13
| | | | throughput_avg is calculated with a wall clock timer over all items produced.
* Removing trailing/extra whitespaces before release.Tom Rondeau2014-07-071-4/+4
| | | | We should be more careful about letting these into the code in the future. In emacs, we can use (add-hook 'before-save-hook 'delete-trailing-whitespace).
* runtime: for blocks with a group delay, tag location should be moved ↵Tom Rondeau2013-10-291-1/+1
| | | | | | according to the delay. Since group delay is often unknown, we have added a new function set_group_delay to allow the user to set the value once delay is calculated. Also added ability to set the tag propagation delay, which is required for how the blocks::delay works.
* runtime: Added a Performance Counter that stores the accumulated work_time ↵Tom Rondeau2013-09-061-0/+8
| | | | counter (work_time_total).
* runtime: fix for timer issue that was causing qtgui components to not plotTim O'Shea2013-06-061-2/+2
|
* runtime: adding thread priority methods to gr::blockTim O'Shea2013-06-051-0/+16
|
* runtime: fixing mutex handling for perf counters.Tom Rondeau2013-05-201-3/+5
|
* Merge branch 'next' into runtime_pimplJohnathan Corgan2013-05-121-6/+10
| | | | | | | | | | | | | | | | | | Catches up runtime_pimpl branch with changes on next since the initial branch start. Conflicts: gnuradio-runtime/include/gnuradio/constants.h gnuradio-runtime/include/gnuradio/tags.h gnuradio-runtime/include/gr_block_detail.h gnuradio-runtime/include/gr_buffer.h gnuradio-runtime/lib/CMakeLists.txt gnuradio-runtime/lib/gr_block.cc gnuradio-runtime/lib/gr_block_detail.cc gnuradio-runtime/lib/gr_block_executor.cc gnuradio-runtime/lib/gr_buffer.cc gnuradio-runtime/lib/gr_realtime.cc gr-blocks/lib/interleaved_short_to_complex_impl.cc
* runtime: converting runtime core to gr namespace, gnuradio include dir.Tom Rondeau2013-04-291-0/+474