TBB2.2的改进
改进的性能
* 可扩展内存分配器性能改进
* 重新设计的显著提高性能和可扩展性的任务调度
* 并发hash map的性能改进
* 更高性能的affinity切分
* auto partitioner作为默认的partitioner代原来的simple partitioner
改进的编程体验
* Intel®TBB 2.2支持自动初始化task scheduler(task_scheduler_init现在是可选的)
* 新的高级接口task_group用于任务编程
* 默认HashCompare用于简化concurrent_hash_map的使用
* lambda表达式支持,易于阅读和维护代码。(当使用支持lambda功能的编译器如Intel C++ Compiler 11.0及以上版本时)
新的和改进的并行算法
* 新算法:parallel_invoke和parallel_for_each
* 新的串行无序算法和管道的线程绑定过滤器
* 为普通循环简化parallel_for接口
新的和改进的数据容器
* 新类enumerable_thread_specific,可组合以支持跨平台的线程本地存储及相关算法
* concurrent_queue的无边界非阻塞接口和新类阻塞型concurrent_bounded_queue
* concurrent_vector接口改进以保证正确性
新的可扩展内存分配器
* 支持大于8K的内存请求
* Intel® TBB 2.2支持自动用可扩展内存分配器替换系统分配器(Microsoft Windows* 和 Linux* OS)
支持MinGW
最后,经鄙人:远古毛利人(昵称 毛毛)试用,惊喜地发现TBB已正式支持MinGW
编译方法:
- 首先下载TBB2.2(http://www.threadingbuildingblocks.org/ver.php?fid=140)
- 解压
- 在TBB根路径里输入:
make arch=ia32 compiler=gcc
编译成果放在\build\windows_ia32_gcc_mingw_debug和\build\windows_ia32_gcc_mingw_release里。
分享到:
相关推荐
根据提供的文件信息,我们可以深入探讨Intel® Threading Building Blocks (TBB) 的相关内容与关键知识点。尽管提供的部分内容主要涉及法律声明和技术文档的标准免责条款,并没有直接包含技术细节,但基于标题、描述...
**Intel® Threading Building Blocks (TBB)** 是一种基于运行时的并行编程模型,专为利用多核处理器的潜在性能而设计。它通过提供模板化运行时库,帮助开发者在C++代码中更高效地使用线程,实现应用程序的性能优化...
ntel® Threading Building Blocks (TBB)的文档
ntel® Threading Building Blocks (TBB)的资料
2. **英特尔® 线程构建模块 (Intel Threading Building Blocks, TBB)**:TBB是一个C++库,为开发者提供了一组高级的并发编程工具,使得编写高效、可伸缩的多线程代码变得简单。它包含任务调度、数据并行处理、同步...
它提供了用于开发Fortran、C和C++代码的Intel编译器,并且包括了Intel® Math Kernel Library(MKL)、Intel® Performance Primitives(IPP)、Intel® Threading Building Blocks(TBB)以及Intel® Data ...
Intel® Threading Building Blocks(简称TBB)提供了高级的并发构建模块,这些构建模块可以帮助开发人员更容易地进行多线程编程。TBB为多线程应用提供了一种抽象方式,避免了传统线程编程中一些复杂和容易出错的...
描述中提到,这个解决方案使用了两种并行编程库:Intel的Threading Building Blocks (TBB) 和 OpenMP,同时实现了三种不同的字符串匹配算法:KMP (Knuth-Morris-Pratt),BM (Boyer-Moore) 和 WM (Wagner-Fisher)。...
描述中提到的“使用tbb结合OpenMP进行了并行优化”揭示了两个关键的并行计算库:Intel Threading Building Blocks (TBB) 和 OpenMP。TBB是一个C++库,旨在帮助开发者高效地利用多核处理器的并行计算能力,它提供了高...
在安装配置过程中,开发者可能还需要处理依赖关系,比如某些IPP库可能依赖于其它的Intel性能库,例如Intel® Threading Building Blocks (Intel® TBB) 或 Intel® Math Kernel Library (Intel® MKL)。在这些情况下...
TBB(Threading Building Blocks)是由英特尔开发的一种C++库,它提供了一种高级的并行编程模型,使得开发者可以更方便地利用多核处理器的计算能力。OpenMP(Open Multi-Processing)则是一种广泛使用的API,用于在...
专业版把高效的编译器和Intel® Threading Building Blocks (Intel® TBB), Intel® Integrated Performance Primitives (Intel® IPP) and Intel® Math Kernel Library (Intel® MKL)整合到了一起。虽然这些库也...
(HT Technology) 的系统,可以使用并行性能选项 (`/Qparallel` 或 `-parallel`,`/Qopenmp` 或 `-openmp`),或者采用Intel® Performance Libraries和Intel® Threading Building Blocks等库来实现高效并行处理。...
- **新特性**:新增了对OpenMP*支持的线程化函数和问题的处理方法,以及基于Intel® Threading Building Blocks (TBB)的线程化函数。 - **性能改进**:通过采用最新的编译器技术和处理器特性来提升核心数学运算的...
**Intel® oneAPI Threading Building Blocks (oneTBB)** 是一种用于构建可扩展且高效的应用程序的库,它支持C++多线程编程。oneTBB提供了一种简单而强大的方式来表达并行任务,并自动处理线程调度等细节,使得开发...
**TBB(Threading Building Blocks)**是英特尔开发的一种并行编程库,它为C++程序员提供了一种抽象的方式来处理多核处理器的并发问题。TBB通过提供一系列的模板类和函数,使得开发者可以方便地编写出高效、可扩展的...
此外,MKL也提供了对Intel® Threading Building Blocks (TBB)、Intel® C++ Compiler和Intel® Fortran Compiler的优化支持。 文档最后部分未完整显示,但可以推断它包含了MKL提供的更多高级数学运算例程,比如...
9. 文档还可能包含了对于一些其他相关API的提及,包括POSIX线程(POSIXThreads)、互斥锁(Mutexes)和信号量(Semaphores)、C11、OpenMP、Intel® Threading Building Blocks、Parallel Patterns Library、Grand ...
**Intel® Threading Building Blocks (TBB)** 是一款由Intel开发并开源的C++模板库,它为多线程编程提供了一套高效且易用的解决方案。该库旨在帮助开发者轻松地编写可扩展的应用程序,以充分利用现代多核处理器的...