FastFlow for Mac
| Versão | 2.0.0 |
|---|---|
| Editor | Computer Science Department |
| Data de lançamento | 30 de dez. de 2012 |
| Data adicionada | 30 de dez. de 2012 |
| Os requisitos | 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 |
| Requisitos | Multicore and distributed platforms. Also working on Linux. |
| Total de downloads | 127 |
| Preço | Free |
Descrição
FastFlow é um framework de programação paralela C++ que visa simplificar o desenvolvimento de aplicativos eficientes para plataformas multi-core. A visão principal do FastFlow é que a facilidade de desenvolvimento e a eficiência do tempo de execução podem ser alcançadas elevando o nível de abstração da fase de design, fornecendo aos desenvolvedores um conjunto adequado de padrões de programação paralela que podem ser compilados com eficiência nas plataformas de destino.
FastFlow é conceitualmente projetado como uma pilha de camadas que abstraem progressivamente o paralelismo de memória compartilhada no nível de núcleos até a definição de construções de programação úteis que suportam programação paralela estruturada em arquiteturas de vários e muitos núcleos de memória compartilhada coerente com cache e clusters deles (consulte http://di.unito.it/fastflow ).
Essas arquiteturas incluem sistemas comuns, homogêneos e multi-core, como Intel core, AMD K10, etc. O FastFlow suporta nativamente o paralelismo de fluxo, pois implementa padrões de paralelismo como gráficos de fluxo de dados - as chamadas redes de fluxo.
O suporte em tempo de execução da estrutura FastFlow fornece uma implementação eficiente de filas FIFO de único produtor-único-consumidor (SPSC). As filas FastFlow SPSC são livres de bloqueio, sem espera e não usam operações interligadas. A fila SPSC é usada principalmente como mecanismo de sincronização para ponteiros de memória de forma consumidor-produtor. A próxima camada estende filas um para um para sincronizações de muitos para muitos e fluxos de dados, que são implementados usando apenas filas SPSC e threads de arbitragem, fornecendo redes de streaming arbitrárias sem bloqueio que requerem poucas ou nenhuma barreira de memória e assim, poucas invalidações de cache.
A camada superior, ou seja, programação de alto nível, fornece uma estrutura de programação baseada em padrões paralelos. Em particular, FastFlow fornece padrões FARM, FARM-WITH-FEEDBACK (ou seja, D&C), PIPELINE, MAP e REDUCE, e suporta seu aninhamento e composição arbitrários. O conjunto de padrões FastFlow pode ser estendido ainda mais com a criação de novos modelos C++.