Skip to content

Commit ae164ca

Browse files
committed
Add different functions for the various phases
1 parent 6d6de2c commit ae164ca

1 file changed

Lines changed: 32 additions & 9 deletions

File tree

  • ElementsExamples/src/program

‎ElementsExamples/src/program/Tbb.cpp‎

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,33 @@
2222
namespace tbb = oneapi::tbb;
2323

2424
namespace Elements {
25+
26+
auto LOG = Logging::getLogger("Tbb");
27+
2528
namespace Examples {
2629

30+
void initTbb() {
31+
32+
const auto processor_count = std::thread::hardware_concurrency();
33+
LOG.info() << "Number of native threads: " << processor_count;
34+
35+
const auto default_concurrency = tbb::info::default_concurrency();
36+
LOG.info() << "TBB default concurrency: " << default_concurrency;
37+
38+
tbb::global_control control(tbb::global_control::max_allowed_parallelism, processor_count);
39+
}
40+
41+
int simpleSum(const int& first_number, const int& last_number) {
42+
43+
int sum = 0;
44+
45+
for (auto i = first_number; i < last_number; i++) {
46+
sum += i;
47+
}
48+
49+
return (sum);
50+
}
51+
2752
class Tbb : public Program {
2853

2954
public:
@@ -32,12 +57,10 @@ class Tbb : public Program {
3257

3358
using namespace std::chrono;
3459

35-
auto log = Logging::getLogger("Tbb");
36-
3760
const auto processor_count = std::thread::hardware_concurrency();
38-
log.info() << "Number of native threads: " << processor_count;
61+
LOG.info() << "Number of native threads: " << processor_count;
3962
const auto default_concurrency = tbb::info::default_concurrency();
40-
log.info() << "TBB default concurrency: " << default_concurrency;
63+
LOG.info() << "TBB default concurrency: " << default_concurrency;
4164

4265
const auto start = high_resolution_clock::now();
4366
tbb::global_control control(tbb::global_control::max_allowed_parallelism, processor_count);
@@ -50,12 +73,12 @@ class Tbb : public Program {
5073
simple_sum += i;
5174
}
5275

53-
log.info() << "Simple sum: " << simple_sum;
76+
LOG.info() << "Simple sum: " << simple_sum;
5477

5578
const auto simple_stop = high_resolution_clock::now();
5679
const auto simple_duration = duration_cast<microseconds>(simple_stop - start);
5780

58-
log.info() << "Simple duration: " << simple_duration.count();
81+
LOG.info() << "Simple duration: " << simple_duration.count();
5982

6083
int parallel_sum = tbb::parallel_reduce(
6184
tbb::blocked_range<int>(first_number, last_number), 0,
@@ -69,17 +92,17 @@ class Tbb : public Program {
6992
return (lhs + rhs);
7093
});
7194

72-
log.info() << "Parallel sum: " << parallel_sum;
95+
LOG.info() << "Parallel sum: " << parallel_sum;
7396

7497
const auto parallel_stop = high_resolution_clock::now();
7598
const auto parallel_duration = duration_cast<microseconds>(parallel_stop - simple_stop);
7699

77-
log.info() << "Parallel duration: " << parallel_duration.count();
100+
LOG.info() << "Parallel duration: " << parallel_duration.count();
78101

79102
const auto stop = high_resolution_clock::now();
80103
const auto total_duration = duration_cast<microseconds>(stop - start);
81104

82-
log.info() << "Total duration: " << total_duration.count();
105+
LOG.info() << "Total duration: " << total_duration.count();
83106

84107
return (ExitCode::OK);
85108
}

0 commit comments

Comments
 (0)