@@ -20,7 +20,7 @@ using namespace sycl;
20
20
// cpu_seq is a simple sequential CPU routine
21
21
// that calculates all the slices and then
22
22
// does a reduction.
23
- float cpu_seq (int num_steps) {
23
+ float calc_pi_cpu_seq (int num_steps) {
24
24
float step = 1.0 / (float )num_steps;
25
25
float x;
26
26
float sum = 0.0 ;
@@ -34,7 +34,7 @@ float cpu_seq(int num_steps) {
34
34
// cpu_tbb is a simple parallel_reduce tbb routine
35
35
// that calculates all the slices and then
36
36
// uses tbb reduce to combine results.
37
- float cpu_tbb (int num_steps) {
37
+ float calc_pi_cpu_tbb (int num_steps) {
38
38
float step = 1.0 / (float )num_steps;
39
39
40
40
auto tbbtotal =
@@ -58,7 +58,7 @@ float cpu_tbb(int num_steps) {
58
58
// how to do calculations directly in dpc++ with
59
59
// mininmal complexity.
60
60
template <typename Policy>
61
- float dpstd_native (size_t num_steps, Policy&& policy) {
61
+ float calc_pi_dpstd_native (size_t num_steps, Policy&& policy) {
62
62
float step = 1.0 / (float )num_steps;
63
63
64
64
float data[num_steps];
@@ -93,7 +93,7 @@ float dpstd_native(size_t num_steps, Policy&& policy) {
93
93
// This option uses a parallel for to fill the array, and then use a single
94
94
// task to reduce into groups and then use cpu for final reduction.
95
95
template <typename Policy>
96
- float dpstd_native2 (size_t num_steps, Policy&& policy, int group_size) {
96
+ float calc_pi_dpstd_native2 (size_t num_steps, Policy&& policy, int group_size) {
97
97
float step = 1.0 / (float )num_steps;
98
98
99
99
float data[num_steps];
@@ -166,7 +166,7 @@ struct slice_area {
166
166
// uses a tranform_init with plus/no_op and then
167
167
// a local reduction then global reduction.
168
168
template <typename Policy>
169
- float dpstd_native3 (size_t num_steps, int groups, Policy&& policy) {
169
+ float calc_pi_dpstd_native3 (size_t num_steps, int groups, Policy&& policy) {
170
170
float data[num_steps];
171
171
172
172
// Create buffer using host allocated "data" array
@@ -276,7 +276,7 @@ float dpstd_native3(size_t num_steps, int groups, Policy&& policy) {
276
276
// calls transform_init to calculate the slices and then
277
277
// does a reduction in two steps - global and then local.
278
278
template <typename Policy>
279
- float dpstd_native4 (size_t num_steps, int groups, Policy&& policy) {
279
+ float calc_pi_dpstd_native4 (size_t num_steps, int groups, Policy&& policy) {
280
280
std::vector<float > data (num_steps);
281
281
float result = 0.0 ;
282
282
@@ -390,7 +390,7 @@ float dpstd_native4(size_t num_steps, int groups, Policy&& policy) {
390
390
// calculations of each small rectangle. The second call is the reduce
391
391
// call which sums up the results of all the elements in the buffer.
392
392
template <typename Policy>
393
- float dpstd_two_steps_lib (int num_steps, Policy&& policy) {
393
+ float calc_pi_dpstd_two_steps_lib (int num_steps, Policy&& policy) {
394
394
float step = 1.0 / (float )num_steps;
395
395
396
396
buffer<float > calc_values{num_steps};
@@ -422,7 +422,7 @@ float dpstd_two_steps_lib(int num_steps, Policy&& policy) {
422
422
// transform reduce. It does everything in one library
423
423
// call.
424
424
template <typename Policy>
425
- float dpstd_onestep (int num_steps, Policy& policy) {
425
+ float calc_pi_dpstd_onestep (int num_steps, Policy& policy) {
426
426
float step = 1 .0f / (float )num_steps;
427
427
428
428
float total = std::transform_reduce (
@@ -450,65 +450,65 @@ int main(int argc, char** argv) {
450
450
// Since we are using JIT compiler for samples,
451
451
// we need to run each step once to allow for compile
452
452
// to occur before we time execution of function.
453
- pi = dpstd_native (num_steps, policy);
454
- pi = dpstd_native2 (num_steps, policy, groups);
455
- pi = dpstd_native3 (num_steps, groups, policy);
456
- pi = dpstd_native4 (num_steps, groups, policy);
453
+ pi = calc_pi_dpstd_native (num_steps, policy);
454
+ pi = calc_pi_dpstd_native2 (num_steps, policy, groups);
455
+ pi = calc_pi_dpstd_native3 (num_steps, groups, policy);
456
+ pi = calc_pi_dpstd_native4 (num_steps, groups, policy);
457
457
458
- pi = dpstd_two_steps_lib (num_steps, policy);
459
- pi = dpstd_onestep (num_steps, policy);
458
+ pi = calc_pi_dpstd_two_steps_lib (num_steps, policy);
459
+ pi = calc_pi_dpstd_onestep (num_steps, policy);
460
460
461
461
dpc_common::TimeInterval T;
462
- pi = cpu_seq (num_steps);
462
+ pi = calc_pi_cpu_seq (num_steps);
463
463
auto stop = T.Elapsed ();
464
464
std::cout << " Cpu Seq calc: \t\t " ;
465
465
std::cout << std::setprecision (3 ) << " PI =" << pi;
466
466
std::cout << " in " << stop << " seconds\n " ;
467
467
468
468
dpc_common::TimeInterval T2;
469
- pi = cpu_tbb (num_steps);
469
+ pi = calc_pi_cpu_tbb (num_steps);
470
470
auto stop2 = T2.Elapsed ();
471
471
std::cout << " Cpu TBB calc: \t\t " ;
472
472
std::cout << std::setprecision (3 ) << " PI =" << pi;
473
473
std::cout << " in " << stop2 << " seconds\n " ;
474
474
475
475
dpc_common::TimeInterval T3;
476
- pi = dpstd_native (num_steps, policy);
476
+ pi = calc_pi_dpstd_native (num_steps, policy);
477
477
auto stop3 = T3.Elapsed ();
478
478
std::cout << " dpstd native:\t\t " ;
479
479
std::cout << std::setprecision (3 ) << " PI =" << pi;
480
480
std::cout << " in " << stop3 << " seconds\n " ;
481
481
482
482
dpc_common::TimeInterval T3a;
483
- pi = dpstd_native2 (num_steps, policy, groups);
483
+ pi = calc_pi_dpstd_native2 (num_steps, policy, groups);
484
484
auto stop3a = T3a.Elapsed ();
485
485
std::cout << " dpstd native2:\t\t " ;
486
486
std::cout << std::setprecision (3 ) << " PI =" << pi;
487
487
std::cout << " in " << stop3a << " seconds\n " ;
488
488
489
489
dpc_common::TimeInterval T3b;
490
- pi = dpstd_native3 (num_steps, groups, policy);
490
+ pi = calc_pi_dpstd_native3 (num_steps, groups, policy);
491
491
auto stop3b = T3b.Elapsed ();
492
492
std::cout << " dpstd native3:\t\t " ;
493
493
std::cout << std::setprecision (3 ) << " PI =" << pi;
494
494
std::cout << " in " << stop3b << " seconds\n " ;
495
495
496
496
dpc_common::TimeInterval T3c;
497
- pi = dpstd_native4 (num_steps, groups, policy);
497
+ pi = calc_pi_dpstd_native4 (num_steps, groups, policy);
498
498
auto stop3c = T3c.Elapsed ();
499
499
std::cout << " dpstd native4:\t\t " ;
500
500
std::cout << std::setprecision (3 ) << " PI =" << pi;
501
501
std::cout << " in " << stop3c << " seconds\n " ;
502
502
503
503
dpc_common::TimeInterval T4;
504
- pi = dpstd_two_steps_lib (num_steps, policy);
504
+ pi = calc_pi_dpstd_two_steps_lib (num_steps, policy);
505
505
auto stop4 = T4.Elapsed ();
506
506
std::cout << " dpstd two steps:\t " ;
507
507
std::cout << std::setprecision (3 ) << " PI =" << pi;
508
508
std::cout << " in " << stop4 << " seconds\n " ;
509
509
510
510
dpc_common::TimeInterval T5;
511
- pi = dpstd_onestep (num_steps, policy);
511
+ pi = calc_pi_dpstd_onestep (num_steps, policy);
512
512
auto stop5 = T5.Elapsed ();
513
513
std::cout << " dpstd transform_reduce: " ;
514
514
std::cout << std::setprecision (3 ) << " PI =" << pi;
0 commit comments