| 版 | 2.0.0 |
|---|---|
| 发行人 | Computer Science Department |
| 发布日期 | 2012年12月30日 |
| 添加日期 | 2012年12月30日 |
| 操作系统要求 | Mac OS X 10.4 PPC, Mac OS X 10.5 PPC, Mac OS X 10.5, Mac OS X 10.8, Macintosh, Mac OS X 10.4, Mac OS X 10.6, Mac OS X 10.4 Intel, Mac OS X 10.7, Mac OS X 10.5 Intel |
| 要求 | Multicore and distributed platforms. Also working on Linux. |
| 下载总数 | 127 |
| 价钱 | Free |
描述
FastFlow 是一个 C++ 并行编程框架,旨在简化多核平台的高效应用程序的开发。 FastFlow 的主要愿景是,通过提高设计阶段的抽象级别,可以同时实现开发的简易性和运行时的效率,从而为开发人员提供一套合适的并行编程模式,可以有效地编译到目标平台上。
FastFlow 在概念上被设计为一堆层,这些层逐渐抽象内核级别的共享内存并行性,直至定义有用的编程结构,支持缓存一致的共享内存多核和多核架构及其集群上的结构化并行编程(见 http://di.unito.it/fastflow )。
这些架构包括商用、同构、多核系统,例如 Intel 内核、AMD K10 等。FastFlow 本身支持流并行,因为它将并行模式实现为数据流图——所谓的流网络。
FastFlow 框架的运行时支持提供了单生产者单消费者 (SPSC) FIFO 队列的有效实现。 FastFlow SPSC 队列是无锁、无等待的,并且不使用互锁操作。 SPSC 队列主要用作消费者-生产者方式的内存指针的同步机制。下一层将一对一队列扩展到多对多同步和数据流,这些同步和数据流仅使用 SPSC 队列和仲裁线程来实现,从而提供需要很少或不需要内存屏障的无锁任意流网络,以及因此很少有缓存失效。
上层,即高层编程,提供了基于并行模式的编程框架。特别是,FastFlow 提供了 FARM、FARM-WITH-FEEDBACK(即 D&C)、PIPELINE、MAP 和 REDUCE 模式,并支持它们的任意嵌套和组合。可以通过构建新的 C++ 模板来进一步扩展 FastFlow 模式集。