FastFlow  SVN-r182-Aug-14-2014
A high-level, lock-less, parallel programming (shared-memory) and distributed programming (distributed-memory) framework for multi-cores and many-cores systems
 All Classes Namespaces Files Functions Variables Typedefs Groups Pages
Classes | Namespaces | Functions
parallel_for.hpp File Reference

This file describes the parallel_for/parallel_reduce skeletons. More...

#include <ff/pipeline.hpp>
#include <ff/parallel_for_internals.hpp>
+ Include dependency graph for parallel_for.hpp:
+ This graph shows which files directly or indirectly include this file:

Classes

class  ff::ParallelFor
 Parallel for loop. Run automatically. More...
 
class  ff::ParallelForReduce< T >
 Parallel for and reduce. Run automatically. More...
 
class  ff::ParallelForPipeReduce< task_t >
 ParallelForPipeReduce class. More...
 

Namespaces

 ff
 The principal namespace for the FastFlow library.
 

Functions

template<typename Function >
static void ff::parallel_for (long first, long last, const Function &body, const long nw=FF_AUTO)
 Parallel loop over a range of indexes (step=1)
 
template<typename Function >
static void ff::parallel_for (long first, long last, long step, const Function &body, const long nw=FF_AUTO)
 Parallel loop over a range of indexes using a given step.
 
template<typename Function >
static void ff::parallel_for (long first, long last, long step, long grain, const Function &body, const long nw=FF_AUTO)
 Parallel loop over a range of indexes using a given step and granularity.
 

Detailed Description

This file describes the parallel_for/parallel_reduce skeletons.

Realize a parallel for loop. Different iterations should be independent (data-races management is not autimatically provided but can be introduced by programmers via mutex).