File: testParallelizer2.cpp

package info (click to toggle)
dmrgpp 6.06-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 113,900 kB
  • sloc: cpp: 80,986; perl: 14,772; ansic: 2,923; makefile: 83; sh: 17
file content (28 lines) | stat: -rw-r--r-- 651 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "LoadBalancerWeights.h"
#include "Parallelizer2.h"
#include "Vector.h"

int main(int argc, char** argv)
{
	if (argc < 3)
		return 1;

	const SizeType n = atoi(argv[1]);
	const SizeType threads = atoi(argv[2]);

	PsimagLite::Vector<double>::Type v(n);

	PsimagLite::Parallelizer2<> 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; });

	/*
	for (SizeType i = 0; i < n; ++i) {
		v[i] = i + 42;
	}
	*/

	std::cout << v[0] << " " << v[n - 1] << "\n";
}