FastFlow for Mac
| Version | 2.0.0 |
|---|---|
| Forlægger | Computer Science Department |
| Udgivelses dato | 30. dec. 2012 |
| Dato tilføjet | 30. dec. 2012 |
| Os krav | 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 |
| Krav | Multicore and distributed platforms. Also working on Linux. |
| Samlet antal downloads | 127 |
| Pris | Free |
Beskrivelse
FastFlow er en C++ parallel programmeringsramme, der har til formål at forenkle udviklingen af effektive applikationer til multi-core platforme. Nøglevisionen for FastFlow er, at nem udvikling og runtime-effektivitet begge kan opnås ved at hæve abstraktionsniveauet i designfasen og dermed give udviklere et passende sæt parallelle programmeringsmønstre, der effektivt kan kompileres på målplatformene.
FastFlow er konceptuelt designet som en stak af lag, der gradvist abstraherer den delte hukommelses-parallelisme på niveauet af kerner op til definitionen af nyttige programmeringskonstruktioner, der understøtter struktureret parallel programmering på cache-kohærent delt hukommelse multi- og mange-kerne arkitekturer og klynger af dem (se http://di.unito.it/fastflow ).
Disse arkitekturer omfatter commodity, homogene, multi-core systemer såsom Intel core, AMD K10 osv. FastFlow understøtter native stream parallelism, da det implementerer parallelisme mønstre som data-flow grafer - såkaldte streaming netværk.
Runtime-understøttelsen af FastFlow-rammeværket giver en effektiv implementering af Single-Producer-Single-Consumer (SPSC) FIFO-køer. FastFlow SPSC-køer er låsefri, ventefri og bruger ikke interlockede operationer. SPSC-køen bruges primært som synkroniseringsmekanisme for hukommelsespointere på forbruger-producent-måde. Den næste tier up udvider en-til-en-køer til mange-til-mange synkroniseringer og datastrømme, som kun implementeres ved hjælp af SPSC-køer og arbiter-tråde, hvilket giver låsefrie vilkårlige streaming-netværk, der kræver få eller ingen hukommelsesbarrierer, og således få cache-invalideringer.
Det øverste lag, dvs. programmering på højt niveau, giver en programmeringsramme baseret på parallelle mønstre. Især giver FastFlow FARM, FARM-WITH-FEEDBACK (dvs. D&C), PIPELINE, MAP og REDUCE-mønstre og understøtter deres vilkårlige indlejring og sammensætning. FastFlow-mønstersættet kan udvides yderligere ved at bygge nye C++-skabeloner.