FastFlow for Mac
| Versiune | 2.0.0 |
|---|---|
| Editor | Computer Science Department |
| Data eliberării | 30 dec. 2012 |
| Data adaugata | 30 dec. 2012 |
| Cerințele OS | 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 |
| Cerințe | Multicore and distributed platforms. Also working on Linux. |
| Descărcări totale | 127 |
| Preț | Free |
Descriere
FastFlow este un cadru de programare paralel C++ care vizează simplificarea dezvoltării de aplicații eficiente pentru platforme multi-core. Viziunea cheie a FastFlow este că ușurința dezvoltării și eficiența timpului de rulare pot fi obținute atât prin creșterea nivelului de abstractizare al fazei de proiectare, oferind astfel dezvoltatorilor un set adecvat de modele de programare paralelă care pot fi compilate eficient pe platformele țintă.
FastFlow este conceput conceptual ca un teanc de straturi care abstrac progresiv paralelismul memoriei partajate la nivel de nuclee până la definirea unor constructe de programare utile care sprijină programarea paralelă structurată pe arhitecturi și clustere ale acestora cu memorie partajată coerentă cu memoria cache. (vezi http://di.unito.it/fastflow ).
Aceste arhitecturi includ sisteme de bază, omogene, multi-core, cum ar fi Intel core, AMD K10, etc. FastFlow acceptă nativ paralelismul de flux, deoarece implementează modele de paralelism ca grafice de flux de date - așa-numitele rețele de streaming.
Suportul la timp de execuție al cadrului FastFlow oferă o implementare eficientă a cozilor FIFO cu un singur producător-un singur consumator (SPSC). Cozile FastFlow SPSC sunt fără blocare, fără așteptare și nu utilizează operațiuni interblocate. Coada SPSC este folosită în principal ca mecanism de sincronizare pentru pointerii de memorie într-un mod consumator-producător. Următorul nivel extinde cozile unu-la-unu la sincronizări și fluxuri de date de la mai multe la mai multe, care sunt implementate folosind numai cozi SPSC și fire de arbitru, oferind astfel rețele de streaming arbitrare fără blocare, care necesită puține sau deloc bariere de memorie și astfel puține invalidări ale memoriei cache.
Stratul superior, adică programarea la nivel înalt, oferă un cadru de programare bazat pe modele paralele. În special, FastFlow oferă modele FARM, FARM-WITH-FEEDBACK (adică D&C), PIPELINE, MAP și REDUCE și sprijină imbricarea și compoziția lor arbitrară. Setul de modele FastFlow poate fi extins și mai mult prin construirea de noi șabloane C++.