Architecture 2.0 [Preview]#
Intel® DL Streamer Pipeline Framework release 2022.2 introduces new architecture 2.0 [Preview] aiming the following goals
Memory interop on CPU and GPU.
Provide independent sub-component (library) for zero-copy buffer sharing and memory mapping between various frameworks and memory handles on CPU and GPU. The zero-copy optimization technique is especially and critically important for devices connected with host via PCI, including dGPU. This sub-component also defines abstract C++ interfaces Source , Transform and Sink for C++ elements implemented in next sub-component.
See Memory Interop and C++ abstract interfaces for details.
“non-GStreamer” backend support via C++/Python programming.
Expose Intel® DL Streamer functional blocks (elements) as both GStreamer elements and C++/Python interfaces accessible by any C++/Python application (not using GStreamer). These out-of-box elements support typical media analytics operations such as post-processing and visualization of inference results. C++/Python applications (including samples in Direct Programming section) can use mix of out-of-box elements, custom/additional elements, memory interop library and pipeline management logic on top to build complete performance-optimized media analytics pipeline. See C++ elements and Elements list and Samples 2.0 for details.
GStreamer bin elements.
Reimplement most gva* elements as GStreamer bin elements which internally build sub-pipeline of other (low-level) GStreamer elements. Most low-level elements are C++ elements (#2 above) automatically wrapped and registered as GStreamer elements. Each low-level element performs only single operation (no multi-stage processing inside element and no intermediate memory allocation) with all pipelining done on either bin-elements or application level.
See pages GStreamer Elements and GStreamer Bin Elements for details.
The following diagram visualizes Architecture 2.0 sub-components ①, ② and ③ inside block Intel® DL Streamer Pipeline Framework
Architecture 2.0 currently available in preview mode as transition not completed yet. There is no strict backward compatibility in preview mode (some changes/renaming may occur). It could be used for evaluation and prototyping, it’s not recommended for production usage yet.