-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[8SP;6SP] Improve Nested/Sub-Graph Integration (formerly 'hier-blocks') #184
Closed
5 tasks
Labels
Milestone
Comments
RalphSteinhagen
added
documentation
Improvements or additions to documentation
enhancement
New feature or request
labels
Jun 2, 2024
RalphSteinhagen
added this to the CALL#4 - OP OpenDigitizer Integration/Deployment milestone
Jun 2, 2024
RalphSteinhagen
modified the milestones:
CALL#4 - OP OpenDigitizer Integration/Deployment,
CALL#5 - Security Hardening
Jul 30, 2024
RalphSteinhagen
changed the title
Investigate how to store nested graph in Yaml
Improve Nested/Sub-Graph Integration in GNU Radio 4.0 (formerly 'hier-blocks')
Sep 12, 2024
RalphSteinhagen
changed the title
Improve Nested/Sub-Graph Integration in GNU Radio 4.0 (formerly 'hier-blocks')
Improve Nested/Sub-Graph Integration (formerly 'hier-blocks')
Sep 12, 2024
RalphSteinhagen
moved this from 🏗 In progress
to 🔖 Selected (3)
in Digitizer Reimplementation
Sep 12, 2024
RalphSteinhagen
changed the title
Improve Nested/Sub-Graph Integration (formerly 'hier-blocks')
[8SP] Improve Nested/Sub-Graph Integration (formerly 'hier-blocks')
Nov 25, 2024
Additionally:
|
Patches made as a part of this task: |
ivan-cukic
changed the title
[8SP] Improve Nested/Sub-Graph Integration (formerly 'hier-blocks')
[8SP;6SP] Improve Nested/Sub-Graph Integration (formerly 'hier-blocks')
Dec 7, 2024
ivan-cukic
moved this from 🏗 In progress
to Finished Implementation (2)
in Digitizer Reimplementation
Dec 10, 2024
There are follow-up item documented here: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
This issue tracks the integration of nested or sub-graphs, previously referred to as 'hier-blocks' in GNU Radio 3.x, into GNU Radio 4.0. The aim is to reduce cognitive complexity, streamline reuse, and enhance modularity through a cleaner design that supports both unmanaged and managed sub-graphs.
Motivation and Use Cases
Reduction of Cognitive Complexity
Group recurring topologies (e.g., filter cascades) into reusable sub-graphs. These sub-graphs can be instantiated within a top-level graph, simplifying development by reducing duplication and promoting better organisation.
Proposed Actions:
Unmanaged Nested Graph in YAML-definition
Store nested graphs as template-style sub-graphs in the same YAML file as the top-level graph. This approach minimises changes to the
grc-loader
and uses the same syntax for the sub-graph as for the top-level graph, except for a templated name.Managed Nested Graph with Scheduler Integration
Implement a structured approach where a domain-specific scheduler is associated with each sub-graph. This allows for optimisation strategies based on latency vs. throughput or computational domains like FPGA and GPUs. The scheduler is instantiated with the nested graph and passed as a
Block
for higher-level usage.Composing New Block Functionalities from Existing Basic Blocks
Facilitate the creation of new block functionalities by combining existing blocks (typically C++-based) within the same or other top-level graphs.
Proposed Actions:
Dedicated YAML-based Nested Graph Definitions
Implement dedicated YAML files for nested graph definitions, stored in the block registry, to be reused across different graphs. The implementation will leverage the
grc-loader
and its YAML-parsing capabilities.Plugin-like Extensions for User-Defined Nested Graphs
Introduce a plugin-style extension that allows users to browse and load nested graph definitions from user-specified directories, enhancing flexibility and modularity.
Plugin-like Extensions for External Graph Sources
Expand the plugin architecture to support sources beyond local files, including databases or community-driven repositories via HTTP(S). This allows nested graph YAML definitions to be queried dynamically from websites or other HTTPS-based repositories.
Deprecating
yaml-cpp
in Favour ofpmt-lib
To streamline dependencies, we aim to remove the old
yaml-cpp
dependency and transition to a new pmt-lib-based YAML parser/writer implementation. This change ensures feature equivalence and backward compatibility with existing functionality. The migration topmt-lib
is a prerequisite for the new nested graph functionalities to minimise duplication of workThe text was updated successfully, but these errors were encountered: