Commit 123629f1 authored by Alvarez, Gonzalo's avatar Alvarez, Gonzalo
Browse files

Parallelizer2: name and numberOfThreads members

parent 807d1621
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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; 
+6 −0
Original line number Diff line number Diff line
@@ -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
+4 −0
Original line number Diff line number Diff line
@@ -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)
+4 −0
Original line number Diff line number Diff line
@@ -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