问题标签 [tbb-flow-graph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tbb - 如何实现 TBB input_node?
显然,在 tbb::flow 中,source_node 已被弃用,从 2021.1 版本开始,我们只应该使用 input_node。不过,简单地替换类似乎不起作用。我在 2020.3 版本中有一个使用 source_node 的工作代码。如果我尝试使用 input_node 我会收到一条神秘的消息。
似乎 input_node 期望 Body 实现一个采用 flow_control 对象的函数。是这样吗?否则这里有什么问题?
我似乎无法使用 input_body 运行任何示例代码。
c++ - 升级后未找到 Intel TBB libtbb.so 文件
我有一个使用旧版本 TBB 运行的项目(流程图 input_node 未声明),我不知道如何更新它或它是如何安装的......在绝望的那一刻我发现:https://github .com/wjakob/tbb所以我用头脑清除了 tbb,dpkg --purge libtbb-dev
然后按照该 git repo 中的说明进行操作。
现在,当我运行 google 测试以检查一切是否正常时,前几个仅使用 tbb 管道的测试可以正常工作。对于以下使用 tbb 流图构建正确的测试,运行时我收到此错误消息:
我不是这个领域的专家,试过谷歌搜索,但从来没有找到我理解的任何东西,他们都提到了链接问题,但不应该在构建时检测到吗?
我的 cmake 文件非常简单:
知道出了什么问题,我该如何解决?
在 Ubuntu 18.04.5 cmake 上运行
c++ - C ++ tbb流程图,multifunction_node给出不完整的类型错误
据我了解,当没有完整的类型规范的前向声明时会发生不完整的类型错误,然后实例化该类型,因为编译器无法判断这种类型的大小。就我而言,我不明白这段代码是如何产生这样的问题的。为简单起见,我删除了不相关的部分。
编译器在 lambda 表达式处给出不完整类型的错误。确切的错误说:
/usr/local/include/tbb/flow_graph.h:1568:7: error: incomplete type ‘std::tuple_size<FilterOnNode::PartialResult*>’ used in nested name specifier class multifunction_node
PartialResult 类型不是已经完全指定了吗?试着把它从课堂上拿出来,但仍然是同样的问题。
c++ - _flow_graph_cache_impl.h 中的 tbb 流程图分段错误
我正在尝试使用流程图运行一些代码,它编译成功,但是在运行时它在调用输入节点后在 tbb 流程图库文件中给出了分段错误,我似乎无法找到它的原因. 我的输入节点是这样的:
该节点连接到类型的节点tbb::flow::multifunction_node<InputResult, std::tuple<InputResult>>
,连接由 完成tbb::flow::make_edge(src, firstNodeFilter);
。InputResult 是一个指针,我已经检查并确认它被设置为一个有效值而不是空值。
tbb::flow::interface11::internal::broadcast_cache
由函数调用try_put_task
的函数抛出异常task *new_task = (*i)->try_put_task(t);
tbb::flow::interface11::input_node
apply_body_bypass
task *last_task = my_successors.try_put_task(v);
- - - - - 编辑 - - - - - -
抱歉,关于 input_node 实现的不清楚。我已经为它实现了这个代码。
当我尝试更改 InputNode 以匹配InputNodeBody时,在 _flow_graph_body_impl.h 中出现编译器错误:
并说从 tbb::flowcontrol& 到 InputResult& 没有已知的演员表
-------------edit 2 ------------ 以下包含更多我的代码,删除了一些模板可读性的参数。此代码是在升级 oneTBB 之后。
文件 1:
文件 2:
代码在注释中文件 1 中指示的位置中断。
c++ - TBB 动态流图
我试图想出一种方法来定义在运行时定义的流程图(想想 TBB)。目前,我们在编译时使用 TBB 来定义节点和节点之间的边。这有点烦人,因为我们有些人想要添加处理步骤并修改处理链,而无需重新编译整个应用程序,或者除了如何添加处理内核之外,真的不需要了解有关应用程序的任何信息。在一个理想的世界里,我会有某种使用 dll 的插件框架。我们已经构建了软件架构,因此 TBB 中的每个节点都代表一个处理步骤,因此如果您愿意重新编译,添加内容非常容易。
作为第一步,我试图想出一种在 YAML 中定义 TBB 流图的方法,但这是一个巨大的兔子洞。在我全力以赴从头开始实施之前,有谁知道这样的事情是否存在?这将是一个有趣的项目,但重复工作没有意义。