我已经成功地使用英特尔的真棒TBB流程图库建立了一个应用程序原型。它似乎工作得很好,但现在我需要将代码重构为生产就绪版本。手动管理和更新英特尔®TBB流程图?
此前,我曾为这个特定的领域(工作是在图像处理和以前的应用程序已经使用ITK/VTK)一些更大和更“过度开发”的框架。然而,对于这个应用程序,我试图采取更低层次,更集中的方法。
目前,我只是将我的整个图表汇编在main()
这显然是不可持续的。我希望允许管道迭代运行,以便我可以从每个阶段获取输出数据并将其显示用于调试/分析目的。
到目前为止,我的想法是将应用程序的每个逻辑“阶段”抽象为一个类,该类接受&tbb::flow::graph
作为构造函数参数,并在内部存储对其控制的图节点的引用。我可以让包装类在输出处分配一个额外的tbb::flow::broadcast_node
,并在此之后分配一个异步节点来引发事件。
这是一个明智的设计理念吗?一般来说,其他人如何将TBB流程图概念集成到其应用程序的结构中? TBB库的这个特定部分的示例和文档相当少。