社区
英特尔边缘计算技术
帖子详情
向Intel的专家提问, TBB 关联CPU
denghui0815
2008-04-18 09:10:42
请问TBB支持将线程和CPU关联起来么?
如果不能 那么Linux下有类似SetThreadAffinityMask的函数么?
...全文
165
1
打赏
收藏
向Intel的专家提问, TBB 关联CPU
请问TBB支持将线程和CPU关联起来么? 如果不能 那么Linux下有类似SetThreadAffinityMask的函数么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
intel_zhenyuwang
2008-04-19
打赏
举报
回复
暂时还没有这个功能。将来会考虑。谢谢。
Intel
TBB
开发指南 2 Parallelizing Simple Loops
原文 Initializing and Terminating the Library
TBB
2.2 及更高版本会自动初始化任务调度程序。 你可以使用类 task_scheduler_init 显式初始化任务调度程序,这对于执行以下任何操作都很有用: 控制何时构造和销毁任务调度程序。 指定任务调度程序使用的线程数。 指定工作线程的堆栈大小。 parallel_for 假设你想将函数 Foo 应用于数组的每个元素,并且并发处理每个元素是安全的。 这是执行此操作的顺序代码: void SerialAppl
C++
TBB
并行编程教程(三)
我们现在已经学会了当
TBB
任务和算法不能一起工作时,如何将它们分开。我们看到,如果我们不小心的话,嵌套并行与
TBB
的窃取方式相结合会导致危险的情况。然后我们看到函数可以用来处理这些情况,但是也必须小心使用,否则我们会产生新的问题。然后,我们讨论了当我们出于性能原因想要创建隔离时,如何使用。虽然可以用来创建隔离以解决正确性问题,但是它较高的开销使得它不太适合这个目的。然而,正如我们在第 11 和 20 章节中看到的,当我们想要控制算法使用的线程数量或者控制线程在内核上的位置时,
C++
TBB
并行编程教程(一)
在这一章中,我们首先解释了为什么像
TBB
这样的图书馆在今天比 10 年前首次推出时更有意义。然后,我们简要地看了一下库中的主要特性,包括并行执行接口和独立于执行接口的其他特性。我们看到,高级执行接口映射到许多并行应用程序中常见的消息驱动、fork-join 和 SIMD 层。然后,我们讨论了如何获得
TBB
的副本,并通过编写、编译和执行非常简单的示例来验证我们的环境设置是否正确。我们通过构建一个使用所有三个高级执行接口的更完整的例子来结束这一章。
C++
TBB
并行编程教程(四)
在这一章中,我们首先介绍了async_node类,它增强了流程图的功能,可以处理脱离流程图控制的异步任务。在第一个简单的Async世界的例子中,我们展示了这个类和它的伙伴gateway接口的使用,这对于将来自异步任务的消息重新注入流图是有用的。然后,我们激发了这个扩展与
TBB
流图的相关性,如果我们认识到阻塞
TBB
任务会导致阻塞
TBB
工作线程,这就很容易理解了。async_node允许在流程图之外分派异步工作,但在等待异步工作完成时不会阻塞
TBB
工作线程。
C++
TBB
并行编程教程(二)
在这一章中,我们讨论了
TBB
支持的三种关键数据结构(散列/映射/集合、队列和向量)。来自
TBB
的这种支持提供了线程安全(可以并发运行)以及可伸缩性良好的实现。我们提供了要避免的事情的建议,因为它们往往会在并行程序中引起麻烦——包括使用 map/set 返回的迭代器来处理除了被查找的项目之外的任何事情。我们回顾了 A-B——这个问题既是我们使用
TBB
而不是自己编写的动机,也是我们在并行程序共享数据时需要考虑的一个极好的例子。
英特尔边缘计算技术
567
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章