Skip to content

Commit fef6e73

Browse files
authored
Merge branch 'main' into cmake-arch-cleanup
2 parents 65ff818 + b242554 commit fef6e73

15 files changed

Lines changed: 834 additions & 117 deletions

File tree

app/Accuracy/accuracy_check.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ int main() {
1313
RuntimeOptions options;
1414
options.backend = Backend::kNaive;
1515
options.threads = 4;
16-
options.parallel = true;
1716
std::string image_path = IMAGE1_PATH;
1817
cv::Mat image = cv::imread(image_path);
1918
if (image.empty()) {

app/Graph/acc_check.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ int main(int argc, char* argv[]) {
1919
model_name = argv[++i];
2020
} else if (std::string(argv[i]) == "--onednn") {
2121
options.backend = Backend::kOneDnn;
22-
if (options.isParallel()) {
22+
if (options.par_backend != ParBackend::kSeq) {
2323
std::cout << "Warning: oneDNN backend is not compatible with parallel "
2424
"execution. Disabling parallelism."
2525
<< '\n';
26-
options.setParallelBackend(ParBackend::kSeq);
26+
options.par_backend = ParBackend::kSeq;
2727
}
2828
} else if (std::string(argv[i]) == "--parallel" && i + 1 < argc) {
2929
if (options.backend == Backend::kOneDnn) {
@@ -36,15 +36,15 @@ int main(int argc, char* argv[]) {
3636

3737
std::string backend_str = argv[++i];
3838
if (backend_str == "tbb") {
39-
options.setParallelBackend(ParBackend::kTbb);
39+
options.par_backend = ParBackend::kTbb;
4040
} else if (backend_str == "threads" || backend_str == "stl") {
41-
options.setParallelBackend(ParBackend::kThreads);
41+
options.par_backend = ParBackend::kThreads;
4242
} else if (backend_str == "omp") {
43-
options.setParallelBackend(ParBackend::kOmp);
43+
options.par_backend = ParBackend::kOmp;
4444
} else {
4545
std::cerr << "Unknown parallel backend: " << backend_str
4646
<< ". Using default (Threads)." << '\n';
47-
options.setParallelBackend(ParBackend::kThreads);
47+
options.par_backend = ParBackend::kThreads;
4848
}
4949
} else if (std::string(argv[i]) == "--threads" && i + 1 < argc) {
5050
options.threads = std::stoi(argv[++i]);

app/Graph/graph_build.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ int main(int argc, char* argv[]) {
1616
model_name = argv[++i];
1717
} else if (std::string(argv[i]) == "--onednn") {
1818
options.backend = Backend::kOneDnn;
19-
if (options.isParallel()) {
19+
if (options.par_backend != ParBackend::kSeq) {
2020
std::cout << "Warning: oneDNN backend is not compatible with parallel "
2121
"execution. Disabling parallelism."
2222
<< '\n';
23-
options.setParallelBackend(ParBackend::kSeq);
23+
options.par_backend = ParBackend::kSeq;
2424
}
2525
} else if (std::string(argv[i]) == "--parallel" && i + 1 < argc) {
2626
if (options.backend == Backend::kOneDnn) {
@@ -33,15 +33,15 @@ int main(int argc, char* argv[]) {
3333

3434
std::string backend_str = argv[++i];
3535
if (backend_str == "tbb") {
36-
options.setParallelBackend(ParBackend::kTbb);
36+
options.par_backend = ParBackend::kTbb;
3737
} else if (backend_str == "threads" || backend_str == "stl") {
38-
options.setParallelBackend(ParBackend::kThreads);
38+
options.par_backend = ParBackend::kThreads;
3939
} else if (backend_str == "omp") {
40-
options.setParallelBackend(ParBackend::kOmp);
40+
options.par_backend = ParBackend::kOmp;
4141
} else {
4242
std::cerr << "Unknown parallel backend: " << backend_str
4343
<< ". Using default (Threads)." << '\n';
44-
options.setParallelBackend(ParBackend::kThreads);
44+
options.par_backend = ParBackend::kThreads;
4545
}
4646
} else if (std::string(argv[i]) == "--threads" && i + 1 < argc) {
4747
options.threads = std::stoi(argv[++i]);

include/graph/runtime_options.hpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,6 @@ struct RuntimeOptions {
1212
Backend backend{Backend::kNaive};
1313
ParBackend par_backend{ParBackend::kSeq};
1414
int threads{0};
15-
bool parallel{false};
16-
17-
[[nodiscard]] ParBackend getEffectiveParBackend() const {
18-
return parallel ? par_backend : ParBackend::kSeq;
19-
}
20-
21-
void setParallelBackend(ParBackend p) {
22-
par_backend = p;
23-
parallel = (p != ParBackend::kSeq);
24-
}
25-
26-
[[nodiscard]] bool isParallel() const {
27-
return parallel && (par_backend != ParBackend::kSeq);
28-
}
2915
};
3016

3117
} // namespace it_lab_ai

src/layers/ConvLayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ void ConvolutionalLayer::run(const std::vector<Tensor>& input,
1818
throw std::out_of_range("input must be 4-dimensional");
1919
}
2020

21-
ParBackend backend = options.getEffectiveParBackend();
21+
ParBackend backend = options.par_backend;
2222

2323
if (group_ > 1) {
2424
if (group_ == input[0].get_shape()[1] && group_ == kernel_.get_shape()[0]) {

src/layers/EWLayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void EWLayer::run(const std::vector<Tensor>& input, std::vector<Tensor>& output,
1717
throw std::runtime_error("EWLayer: Input tensors not 1");
1818
}
1919

20-
ParBackend backend = options.getEffectiveParBackend();
20+
ParBackend backend = options.par_backend;
2121

2222
switch (input[0].get_type()) {
2323
case Type::kInt: {

src/layers/PoolingLayer.cpp

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@ void PoolingLayer::run(const std::vector<Tensor>& input,
1414
if (input.size() != 1) {
1515
throw std::runtime_error("PoolingLayer: Input tensors not 1");
1616
}
17-
if (options.parallel) {
18-
switch (options.par_backend) {
19-
case ParBackend::kTbb:
20-
implType_ = kTBB;
21-
break;
22-
case ParBackend::kSeq:
23-
default:
24-
implType_ = kDefault;
25-
break;
26-
}
17+
switch (options.par_backend) {
18+
case ParBackend::kTbb:
19+
implType_ = kTBB;
20+
break;
21+
case ParBackend::kSeq:
22+
default:
23+
implType_ = kDefault;
24+
break;
2725
}
2826
switch (input[0].get_type()) {
2927
case Type::kInt: {

test/benchmarking/test_layers_time.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,9 @@ TEST(pooling_test, is_pooling_tbb_ok) {
3232
Tensor input = make_tensor(a1, test_shape);
3333
Tensor output;
3434
RuntimeOptions options_seq;
35-
options_seq.parallel = false;
3635
options_seq.par_backend = ParBackend::kSeq;
3736

3837
RuntimeOptions options_tbb;
39-
options_tbb.parallel = true;
4038
options_tbb.par_backend = ParBackend::kTbb;
4139

4240
PoolingLayer p1(Shape({2, 2}), "max");
@@ -69,11 +67,9 @@ TEST(conv_test, is_conv_stl_ok) {
6967
Tensor output;
7068

7169
RuntimeOptions options_seq;
72-
options_seq.parallel = false;
7370
options_seq.par_backend = ParBackend::kSeq;
7471

7572
RuntimeOptions options_stl;
76-
options_stl.parallel = true;
7773
options_stl.par_backend = ParBackend::kTbb;
7874

7975
ConvolutionalLayer p1(1, 1, 2, kernel, Tensor());

test/inference/test_inference.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ using namespace it_lab_ai;
2020
TEST(bfs, check_struct_graph) {
2121
RuntimeOptions options;
2222
options.backend = Backend::kNaive;
23-
options.parallel = false;
2423
options.threads = 4;
2524

2625
Graph graph;
@@ -96,7 +95,6 @@ TEST(bfs, check_struct_graph) {
9695
TEST(bfs, check_struct_graph_not_used_yolo) {
9796
RuntimeOptions options;
9897
options.backend = Backend::kNaive;
99-
options.parallel = false;
10098
options.threads = 4;
10199

102100
Graph graph;
@@ -150,7 +148,6 @@ TEST(bfs, check_struct_graph_not_used_yolo) {
150148
TEST(bfs, check_struct_graph_resnet1) {
151149
RuntimeOptions options;
152150
options.backend = Backend::kNaive;
153-
options.parallel = false;
154151
options.threads = 4;
155152

156153
Graph graph;
@@ -196,7 +193,6 @@ TEST(bfs, check_struct_graph_resnet1) {
196193
TEST(bfs, check_struct_graph_resnet2) {
197194
RuntimeOptions options;
198195
options.backend = Backend::kNaive;
199-
options.parallel = false;
200196
options.threads = 4;
201197

202198
Graph graph;
@@ -240,7 +236,6 @@ TEST(bfs, check_struct_graph_resnet2) {
240236
TEST(bfs, check_struct_graph_google1) {
241237
RuntimeOptions options;
242238
options.backend = Backend::kNaive;
243-
options.parallel = false;
244239
options.threads = 4;
245240

246241
Graph graph;
@@ -286,7 +281,6 @@ TEST(bfs, check_struct_graph_google1) {
286281
TEST(bfs, check_result_vec) {
287282
RuntimeOptions options;
288283
options.backend = Backend::kNaive;
289-
options.parallel = false;
290284
options.threads = 4;
291285

292286
Graph graph;
@@ -364,7 +358,6 @@ TEST(bfs, check_result_vec) {
364358
TEST(bfs, check_end_to_end) {
365359
RuntimeOptions options;
366360
options.backend = Backend::kNaive;
367-
options.parallel = false;
368361
options.threads = 4;
369362

370363
Graph graph;
@@ -410,7 +403,6 @@ TEST(bfs, check_end_to_end) {
410403
TEST(bfs, check_struct_layer) {
411404
RuntimeOptions options;
412405
options.backend = Backend::kNaive;
413-
options.parallel = false;
414406
options.threads = 4;
415407

416408
Graph graph;
@@ -443,7 +435,6 @@ TEST(bfs, check_struct_layer) {
443435
TEST(bfs, check_struct_layer_added) {
444436
RuntimeOptions options;
445437
options.backend = Backend::kNaive;
446-
options.parallel = false;
447438
options.threads = 4;
448439

449440
Graph graph;
@@ -479,7 +470,6 @@ TEST(bfs, check_struct_layer_added) {
479470
FLAKY_TEST(bfs, check_struct_graph_split) {
480471
RuntimeOptions options;
481472
options.backend = Backend::kNaive;
482-
options.parallel = false;
483473
options.threads = 4;
484474

485475
std::vector<std::vector<std::pair<int, int>>> split = {

0 commit comments

Comments
 (0)