[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/gsumalo/cpp-taskflow/master/examples/parallel_for.cpp [Back]  [Original]

// This program demonstrates how to use cpp-taskflow to
// write loop-based parallelism.

#include 
#include 
#include 

// Procedure: parallel_for_on_range
void parallel_for_on_range(int N) {

  tf::Executor executor;
  tf::Taskflow taskflow;

  std::vector range(N);
  std::iota(range.begin(), range.end(), 0);

  taskflow.parallel_for(range.begin(), range.end(), [&] (const int i) { 
    printf("parallel_for on container item: %d\n", i);
  });

  executor.run(taskflow).get();
}

// Procedure: parallel_for_on_index
void parallel_for_on_index(int N) {
  
  tf::Executor executor;
  tf::Taskflow taskflow;

  // [0, N) with step size 1
  taskflow.parallel_for(0, N, 1, [] (int i) {
    printf("parallel_for on index: %d\n", i);
  });

  executor.run(taskflow).get();
}

// ----------------------------------------------------------------------------

// Function: main
int main() {

  parallel_for_on_range(10);
  parallel_for_on_index(10);

  return 0;
}

Web Proxy Viewer  |  New URL  |  Original Page