Loading drivers/testParallelizer2.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ int main(int argc, char** argv) PsimagLite::Parallizer2<> parallelizer(threads); std::cout<<"Testing Parallelizer2 with "<<parallelizer.name(); std::cout<<" and "<<parallelizer.numberOfThreads()<<" threads.\n"; parallelizer.parallelFor(0, n, [&v](SizeType i, SizeType) { v[i] = i + 42; Loading src/Parallelizer2.h +6 −0 Original line number Diff line number Diff line Loading @@ -5,7 +5,13 @@ #ifdef USE_PTHREADS #include "Parallelizer2Pthread.h" #else #ifdef _OPENMP #include "Parallelizer2OpenMP.h" #else #include "Parallelizer2Serial.h" #endif #endif #endif // PARALLELIZER2_H src/Parallelizer2Pthread.h +4 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,10 @@ public: Parallizer2(SizeType nthreads) : nthreads_(nthreads) {} SizeType numberOfThreads() const { return nthreads_; } String name() const { return "pthread"; } // no weights, no balancer ==> create weights, set all weigths to 1, delegate template<typename SomeLambdaType> void parallelFor(SizeType start, SizeType end, const SomeLambdaType& lambda) Loading src/Parallelizer2Serial.h +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,10 @@ public: for (SizeType i = start; i < end; ++i) lambda(i, 0); } SizeType numberOfThreads() const { return 1; } String name() const { return "serial"; } }; } #endif // PARALLELIZER2SERIAL_H Loading
drivers/testParallelizer2.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ int main(int argc, char** argv) PsimagLite::Parallizer2<> parallelizer(threads); std::cout<<"Testing Parallelizer2 with "<<parallelizer.name(); std::cout<<" and "<<parallelizer.numberOfThreads()<<" threads.\n"; parallelizer.parallelFor(0, n, [&v](SizeType i, SizeType) { v[i] = i + 42; Loading
src/Parallelizer2.h +6 −0 Original line number Diff line number Diff line Loading @@ -5,7 +5,13 @@ #ifdef USE_PTHREADS #include "Parallelizer2Pthread.h" #else #ifdef _OPENMP #include "Parallelizer2OpenMP.h" #else #include "Parallelizer2Serial.h" #endif #endif #endif // PARALLELIZER2_H
src/Parallelizer2Pthread.h +4 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,10 @@ public: Parallizer2(SizeType nthreads) : nthreads_(nthreads) {} SizeType numberOfThreads() const { return nthreads_; } String name() const { return "pthread"; } // no weights, no balancer ==> create weights, set all weigths to 1, delegate template<typename SomeLambdaType> void parallelFor(SizeType start, SizeType end, const SomeLambdaType& lambda) Loading
src/Parallelizer2Serial.h +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,10 @@ public: for (SizeType i = start; i < end; ++i) lambda(i, 0); } SizeType numberOfThreads() const { return 1; } String name() const { return "serial"; } }; } #endif // PARALLELIZER2SERIAL_H