FastFlow for Mac
| Verzija | 2.0.0 |
|---|---|
| Izdavač | Computer Science Department |
| Datum izlaska | 30. pro 2012. |
| Datum dodan | 30. pro 2012. |
| Os zahtjevi | 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 |
| Zahtjevi | Multicore and distributed platforms. Also working on Linux. |
| Ukupno preuzimanja | 127 |
| Cijena | Free |
Opis
FastFlow je C++ okvir za paralelno programiranje usmjeren na pojednostavljenje razvoja učinkovitih aplikacija za multi-core platforme. Ključna vizija FastFlowa je da se lakoća razvoja i učinkovitost vremena rada mogu postići podizanjem razine apstrakcije u fazi dizajna, čime se razvojnim programerima pruža odgovarajući skup paralelnih programskih obrazaca koji se mogu učinkovito kompajlirati na ciljne platforme.
FastFlow je konceptualno dizajniran kao hrpa slojeva koji progresivno apstrahiraju paralelizam dijeljene memorije na razini jezgri sve do definicije korisnih programskih konstrukcija koje podržavaju strukturirano paralelno programiranje na višejezgrenim i višejezgrenim arhitekturama i njihovim klasterima koherentnoj zajedničkoj memoriji. (vidi http://di.unito.it/fastflow).
Ove arhitekture uključuju standardne, homogene, višejezgrene sustave kao što su Intel Core, AMD K10, itd. FastFlow izvorno podržava paralelizam toka budući da implementira uzorke paralelizma kao grafikone protoka podataka - takozvane mreže strujanja.
Podrška za vrijeme izvođenja okvira FastFlow pruža učinkovitu implementaciju FIFO redova čekanja jednog proizvođača-jednog potrošača (SPSC). FastFlow SPSC redovi čekanja su bez zaključavanja, bez čekanja i ne koriste međusobno blokirane operacije. SPSC red se prvenstveno koristi kao mehanizam sinkronizacije za memorijske pokazivače na način potrošač-proizvođač. Sljedeći sloj proširuje redove čekanja jedan-na-jedan na sinkronizacije i protoke podataka više-na-više, koji se implementiraju korištenjem samo SPSC redova čekanja i arbitarskih niti, čime se osiguravaju mreže proizvoljnog strujanja bez zaključavanja koje zahtijevaju malo ili nimalo memorijskih barijera, i dakle nekoliko poništenja predmemorije.
Gornji sloj, tj. programiranje visoke razine, pruža programski okvir temeljen na paralelnim uzorcima. Konkretno, FastFlow pruža uzorke FARM, FARM-WITH-FEEDBACK (tj. D&C), PIPELINE, MAP i REDUCE te podržava njihovo proizvoljno ugniježđivanje i sastav. Skup uzoraka FastFlow može se dodatno proširiti izgradnjom novih C++ predložaka.