处理与 tbb 连续的大数据
我正在开发 C++ 应用程序来处理大量报价数据,例如。 (MSFT、AMZN 等)待定。我想知道我将如何构建它。我一直在研究parallel_for、pipeline和concurr…
为什么Intel TBB不提供boost这样的条件变量?
就像条件信号机制一样,我希望一个任务等待,直到收到某个信号或某个变量变为真。 Boost lib提供了这种机制,但TBB没有。 这个案例在TBB中如何实现?…
Intel Parallel Studio 时序不一致
我有一些使用 Intel TBB 的代码,并且在 32 核机器上运行。在代码中,我使用 parallel_for(blocked_range (2,left_image_width-2, left_image_width /…
使用 TBB 并行化 OpenCV 代码
我正在尝试使用 TBB 并行化用 OpenCV 编写的一些图像匹配代码。问题是,根据我的匹配(在左图像中创建一个 5x5 窗口并在右像素中逐像素查找匹配)本质…
如何更改英特尔 TBB 的可扩展分配器中的块大小?
我正在使用英特尔线程构建模块库中的可扩展_分配器来进行一些 HPC 工作。在我的用例中,scalable_allocator 似乎过于频繁地调用 mmap。如何更改分配器…
Intel TBB 使用task_group 进行双调排序
我正在使用英特尔 TBB 实现双调排序。当使用parallel_invoke方法时,一切顺利。但是当使用task_group(不调用wait方法)时,输出没有排序。当如下使用…
并发 c++ 中的块/冻结使用英特尔 TBB 的代码
我尝试使用英特尔 TBB 编写一个管道版本的 Bitonic Sort,使用文件读取、排序、文件写入阶段,如下所示。代码在 while(!outQueue.try_pop(line)) 处的…
使用malloc代替new,并在创建对象时调用复制构造函数
我想尝试 TBB 的可扩展分配器,但当我不得不替换一些代码时感到困惑。 这是使用分配器完成分配的方式: SomeClass* s = scalable_allocator<SomeCla…
使用TBB用很少的指令(SSE2,SSE4)优化循环
我有一个简单的图像处理相关算法。 简而言之,浮点数图像(平均值)减去 8 位图像 然后将结果保存到浮点图像(dest) 该函数主要由内在函数编写。 我…
Intel TBB内存分配器的性能?
有一次我在我正在从事的项目(MMORPG 集群、linux 2.6、最近的 gcc、8 核 Intel Xeon)中尝试了 TBB 内存分配器,并对性能较差感到惊讶。有什么理由呢…