Skip to content

csullivan/ThreadPool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

std::thread based thread pool

A simple std::thread based thread pool with a parallel-for loop implementation.

Example of how to perform STREAM benchmark scale operation in parallel:

        ThreadPool pool(8);

        int N = 1e7;
        auto a = (double*)calloc(N,sizeof(double));
        auto b = (double*)calloc(N,sizeof(double));
        for (int i=0; i<N; i++) { b[i] = i; }

        
        pool.ParallelFor (0, N, [&](int i) {
            a[i] = 4*b[i];
        }

        // compared to OpenMP

        #pragma omp parallel for
        for (int i = 0; i < N; i++) {
            a[i] = 4*b[i];
        }
     

About

A simple C++11 threadpool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published