33
44void binary_tree (
55 const std::string& model,
6+ const size_t num_layers,
67 const unsigned num_threads,
78 const unsigned num_rounds
89 ) {
@@ -11,7 +12,7 @@ void binary_tree(
1112 << std::setw (12 ) << " runtime"
1213 << std::endl;
1314
14- for (unsigned i=1 ; i<=21 ; ++i) {
15+ for (size_t i=1 ; i<=num_layers ; ++i) {
1516
1617 double runtime {0.0 };
1718
@@ -22,6 +23,9 @@ void binary_tree(
2223 else if (model == " tbb" ) {
2324 runtime += measure_time_tbb (i, num_threads).count ();
2425 }
26+ else if (model == " omp" ) {
27+ runtime += measure_time_omp (i, num_threads).count ();
28+ }
2529 else assert (false );
2630 }
2731
@@ -40,12 +44,15 @@ int main(int argc, char* argv[]) {
4044
4145 unsigned num_rounds {1 };
4246 app.add_option (" -r,--num_rounds" , num_rounds, " number of rounds (default=1)" );
47+
48+ size_t num_layers {25 };
49+ app.add_option (" -l,--num_layers" , num_layers, " number of layers (default=25)" );
4350
4451 std::string model = " tf" ;
4552 app.add_option (" -m,--model" , model, " model name tbb|omp|tf (default=tf)" )
4653 ->check ([] (const std::string& m) {
47- if (m != " tbb" && m != " tf" ) {
48- return " model name should be \" tbb\" or \" tf\" " ;
54+ if (m != " tbb" && m != " tf" && m != " omp " ) {
55+ return " model name should be \" tbb\" , \" omp \" , or \" tf\" " ;
4956 }
5057 return " " ;
5158 });
@@ -57,7 +64,7 @@ int main(int argc, char* argv[]) {
5764 << " num_rounds=" << num_rounds << ' '
5865 << std::endl;
5966
60- binary_tree (model, num_threads, num_rounds);
67+ binary_tree (model, num_layers, num_threads, num_rounds);
6168
6269 return 0 ;
6370}
0 commit comments