diff options
author | David Sorber <david.sorber@blacklynx.tech> | 2021-07-29 11:34:37 -0400 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2021-10-25 11:27:01 -0400 |
commit | f3c558d88bc68d865f823c31e7d9aa78b3feab59 (patch) | |
tree | 026d8ff5568bc2c5ab731df29d87901cf1177e00 /gnuradio-runtime/lib/block_detail.cc | |
parent | 788827ae116bef871e144abd39b1e4482208eabe (diff) |
runtime: Custom Buffer/Accelerator Device Support - Milestone 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>
Diffstat (limited to 'gnuradio-runtime/lib/block_detail.cc')
-rw-r--r-- | gnuradio-runtime/lib/block_detail.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gnuradio-runtime/lib/block_detail.cc b/gnuradio-runtime/lib/block_detail.cc index f5283c56b0..66b32ec078 100644 --- a/gnuradio-runtime/lib/block_detail.cc +++ b/gnuradio-runtime/lib/block_detail.cc @@ -114,6 +114,7 @@ void block_detail::consume_each(int how_many_items) void block_detail::produce(int which_output, int how_many_items) { if (how_many_items > 0) { + d_output[which_output]->post_work(how_many_items); d_output[which_output]->update_write_pointer(how_many_items); d_produce_or |= how_many_items; } @@ -123,6 +124,7 @@ void block_detail::produce_each(int how_many_items) { if (how_many_items > 0) { for (int i = 0; i < noutputs(); i++) { + d_output[i]->post_work(how_many_items); d_output[i]->update_write_pointer(how_many_items); } d_produce_or |= how_many_items; |