假设我有一个并行算法,它使用带有一个或两个锁的显式线程进行同步,并且经过优化可以利用缓存线(包括多个内核之间的共享L3缓存),有什么方法可以将它合并到TBB程序中?所讨论的算法不会像处理线程一样很好地分解为任务。
答案 0 :(得分:1)
没有任何进一步的信息(代码示例,或任何类型的算法的通用表示,如流程图)我会说,进行此类转换的最佳方法是重构算法,隔离可重复的操作并尝试组合他们在任务中(一系列具有共同目的的一项或多项活动)......
遗憾的是,没有神奇的公式来实现这一转变,因为这些技术基本上是解决同一问题的2个答案,因此它们有一些共同点,但它们也从2个不同的角度解决了这个问题......