FastFlow for Mac
| Verze | 2.0.0 |
|---|---|
| Vydavatel | Computer Science Department |
| Datum vydání | 30. 12. 2012 |
| Datum přidáno | 30. 12. 2012 |
| Os požadavky | 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 |
| Požadavky | Multicore and distributed platforms. Also working on Linux. |
| Celkový počet stažení | 127 |
| Cena | Free |
Popis
FastFlow je paralelní programovací rámec C++ zaměřený na zjednodušení vývoje efektivních aplikací pro vícejádrové platformy. Klíčovou vizí FastFlow je, že snadného vývoje a efektivity běhu lze dosáhnout zvýšením úrovně abstrakce ve fázi návrhu, a poskytnout tak vývojářům vhodnou sadu vzorů paralelního programování, které lze efektivně zkompilovat na cílové platformy.
FastFlow je koncepčně navržen jako zásobník vrstev, které progresivně abstrahují paralelismus sdílené paměti na úrovni jader až po definici užitečných programovacích konstrukcí podporujících strukturované paralelní programování na vícejádrových a mnohajádrových architekturách se sdílenou pamětí a jejich clusterech. (viz http://di.unito.it/fastflow).
Tyto architektury zahrnují komoditní, homogenní, vícejádrové systémy, jako jsou Intel core, AMD K10 atd. FastFlow nativně podporuje paralelní proud, protože implementuje vzory paralelismu jako grafy toku dat – tzv. streamingové sítě.
Run-time podpora rámce FastFlow poskytuje efektivní implementaci front FIFO pro jednoho producenta a jednoho spotřebitele (SPSC). Fronty SPSC FastFlow jsou bez uzamčení, bez čekání a nepoužívají vzájemně propojené operace. Fronta SPSC se primárně používá jako synchronizační mechanismus pro ukazatele paměti způsobem spotřebitel-producent. Další vrstva rozšiřuje fronty typu one-to-one na mnohonásobné synchronizace a datové toky, které jsou implementovány pouze pomocí front SPSC a arbitrárních vláken, čímž poskytují libovolné streamovací sítě bez uzamčení, které vyžadují jen málo nebo žádné paměťové bariéry, a tedy málo zneplatnění mezipaměti.
Horní vrstva, tedy programování na vysoké úrovni, poskytuje programovací rámec založený na paralelních vzorech. FastFlow poskytuje zejména vzory FARM, FARM-WITH-FEEDBACK (tj. D&C), PIPELINE, MAP a REDUCE a podporuje jejich libovolné vnoření a složení. Sadu vzorů FastFlow lze dále rozšířit vytvořením nových šablon C++.