Programação Paralela em Arquiteturas Multi-Core/Ambientes de programação e bibliotecas: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
Linha 111:
O código abaixo mostra como usar um auto_partitioner no lugar de um grainsize. Note que o parametro grainsize é omitido quando construir um blocked_range e que um auto_partitioner objeto é passado como um terceiro argumento para o parallel_for.
#include "tbb/parallel_for.h"
void ParallelApplyFoo( float a[], size_t n) {
parallel_for(blocked_range<size_t>(0,n), ApplyFoo(a),
auto_partitioner() );
}
Como com muitas heuristicas, tem se situações onde auto_partitioner pode não encontrar o valor ótimo e o simple_partitioner deveria produzir o melhor desempenho. Nos recomendamos usar auto_partitioner ao menos que você tenha tempo para experimentar e melhor o ''grainsize'' para as maquinas de interesse.
=== Desenvolvendo aplicações utilizando ''parallel_reduce'' ===
|