Skip to content

Commit 5e0880b

Browse files
committed
Merge branch 'anuragd/flag_based_test_selection' into 'release/1.0'
(//tests): CI based masking on test cases See merge request adlsa/TRTorch!13
2 parents e2b7b56 + 7a0c9a5 commit 5e0880b

10 files changed

+137
-107
lines changed

.bazelrc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ build:pre_cxx11_abi --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
3535
build:pre_cxx11_abi --linkopt="-D_GLIBCXX_USE_CXX11_ABI=0"
3636
build:pre_cxx11_abi --define=abi=pre_cxx11_abi
3737

38-
build:ci_testing --define=torchtrt_src=pre_built
38+
build:ci_testing --define=torchtrt_src=pre_built --cxxopt="-DDISABLE_TEST_IN_CI" --action_env "NVIDIA_TF32_OVERRIDE=0"
3939
build:use_precompiled_torchtrt --define=torchtrt_src=pre_built
4040

41-
test:ci_testing --define=torchtrt_src=pre_built
42-
test:use_precompiled_torchtrt --define=torchtrt_src=pre_built
41+
test:ci_testing --define=torchtrt_src=pre_built --cxxopt="-DDISABLE_TEST_IN_CI" --action_env "NVIDIA_TF32_OVERRIDE=0"
42+
test:use_precompiled_torchtrt --define=torchtrt_src=pre_built

tests/core/conversion/converters/test_activation.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ TEST(Converters, ATenEluConvertsCorrectly) {
200200
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results[0], trt_results[0], 2e-6));
201201
}
202202

203+
#ifndef DISABLE_TEST_IN_CI
204+
203205
TEST(Converters, ATenGELUConvertsCorrectly) {
204206
const auto graph = R"IR(
205207
graph(%0 : Tensor):
@@ -226,3 +228,4 @@ TEST(Converters, ATenGELUConvertsCorrectly) {
226228

227229
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results[0], trt_results[0], 5e-3));
228230
}
231+
#endif

tests/core/conversion/converters/test_lstm_cell.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include "tests/util/util.h"
55
#include "torch/csrc/jit/ir/irparser.h"
66

7+
#ifndef DISABLE_TEST_IN_CI
8+
79
TEST(Converters, ATenGRUCellConvertsCorrectlyWithBiasCheckHidden) {
810
const auto graph = R"IR(
911
graph(%0 : Tensor,
@@ -283,3 +285,5 @@ TEST(Converters, ATenLSTMCellConvertsCorrectlyWithoutBiasCheckCell) {
283285
ASSERT_TRUE(
284286
torch_tensorrt::tests::util::almostEqual(jit_results[0], trt_results[0].reshape_as(jit_results[0]), 2e-5));
285287
}
288+
289+
#endif

tests/core/conversion/converters/test_softmax.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include "tests/util/util.h"
55
#include "torch/csrc/jit/ir/irparser.h"
66

7+
#ifndef DISABLE_TEST_IN_CI
8+
79
TEST(Converters, ATenSoftmax1DConvertsCorrectly) {
810
const auto graph = R"IR(
911
graph(%0 : Tensor):
@@ -127,4 +129,5 @@ TEST(Converters, ATenSoftmaxNDConvertsCorrectlyNegtiveIndex) {
127129
auto trt = trt_results[0].reshape_as(jit_results[0]);
128130

129131
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results[0], trt, 2e-6));
130-
}
132+
}
133+
#endif
Lines changed: 105 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,105 @@
1-
#include <string>
2-
#include <unordered_set>
3-
#include "core/compiler.h"
4-
#include "gtest/gtest.h"
5-
#include "tests/util/util.h"
6-
#include "torch/script.h"
7-
8-
TEST(Partitioning, ComputeResNet50FallbackGraphCorrectly) {
9-
torch::jit::script::Module mod;
10-
try {
11-
mod = torch::jit::load("tests/modules/resnet50_traced.jit.pt");
12-
} catch (const c10::Error& e) {
13-
std::cerr << "error loading the model\n";
14-
return;
15-
}
16-
17-
const std::vector<std::vector<int64_t>> input_shapes = {{1, 3, 224, 224}};
18-
std::vector<torch::jit::IValue> jit_inputs_ivalues;
19-
std::vector<torch::jit::IValue> trt_inputs_ivalues;
20-
for (auto in_shape : input_shapes) {
21-
auto in = at::randint(5, in_shape, {at::kCUDA});
22-
jit_inputs_ivalues.push_back(in.clone());
23-
trt_inputs_ivalues.push_back(in.clone());
24-
}
25-
26-
std::vector<torch_tensorrt::core::ir::Input> input_ranges{torch_tensorrt::core::ir::Input({1, 3, 224, 224})};
27-
28-
torch_tensorrt::core::CompileSpec cfg(input_ranges);
29-
cfg.partition_info.enabled = true;
30-
cfg.partition_info.forced_fallback_operators.push_back("aten::add");
31-
32-
auto jit_results = mod.forward(jit_inputs_ivalues).toTensor();
33-
auto trt_mod = torch_tensorrt::core::CompileGraph(mod, cfg);
34-
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
35-
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-6));
36-
}
37-
38-
TEST(Partitioning, ComputeMobileNetFallbackGraphCorrectly) {
39-
torch::jit::script::Module mod;
40-
try {
41-
mod = torch::jit::load("tests/modules/mobilenet_v2_traced.jit.pt");
42-
} catch (const c10::Error& e) {
43-
std::cerr << "error loading the model\n";
44-
return;
45-
}
46-
47-
const std::vector<std::vector<int64_t>> input_shapes = {{1, 3, 224, 224}};
48-
std::vector<torch::jit::IValue> jit_inputs_ivalues;
49-
std::vector<torch::jit::IValue> trt_inputs_ivalues;
50-
for (auto in_shape : input_shapes) {
51-
auto in = at::randint(5, in_shape, {at::kCUDA});
52-
jit_inputs_ivalues.push_back(in.clone());
53-
trt_inputs_ivalues.push_back(in.clone());
54-
}
55-
56-
std::vector<torch_tensorrt::core::ir::Input> input_ranges{torch_tensorrt::core::ir::Input({1, 3, 224, 224})};
57-
auto g = mod.get_method("forward").graph();
58-
torch_tensorrt::core::CompileSpec cfg(input_ranges);
59-
cfg.partition_info.enabled = true;
60-
cfg.partition_info.forced_fallback_operators.push_back("aten::hardtanh");
61-
62-
auto jit_results = mod.forward(jit_inputs_ivalues).toTensor();
63-
auto trt_mod = torch_tensorrt::core::CompileGraph(mod, cfg);
64-
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
65-
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-6));
66-
}
67-
68-
TEST(Partitioning, ComputeResNet50HalfFallbackGraphCorrectly) {
69-
torch::jit::script::Module mod;
70-
try {
71-
mod = torch::jit::load("tests/modules/resnet50_traced.jit.pt");
72-
} catch (const c10::Error& e) {
73-
std::cerr << "error loading the model\n";
74-
return;
75-
}
76-
77-
mod.to(torch::kHalf);
78-
79-
const std::vector<std::vector<int64_t>> input_shapes = {{1, 3, 224, 224}};
80-
std::vector<torch::jit::IValue> jit_inputs_ivalues;
81-
std::vector<torch::jit::IValue> trt_inputs_ivalues;
82-
for (auto in_shape : input_shapes) {
83-
auto in = at::randint(5, in_shape, {at::kCUDA}).to(torch::kHalf);
84-
jit_inputs_ivalues.push_back(in.clone());
85-
trt_inputs_ivalues.push_back(in.clone());
86-
}
87-
88-
auto in_shape = torch_tensorrt::core::ir::Input({1, 3, 224, 224});
89-
in_shape.dtype = nvinfer1::DataType::kHALF;
90-
91-
std::vector<torch_tensorrt::core::ir::Input> input_ranges({in_shape});
92-
auto g = mod.get_method("forward").graph();
93-
torch_tensorrt::core::CompileSpec cfg(input_ranges);
94-
cfg.partition_info.enabled = true;
95-
cfg.partition_info.forced_fallback_operators.push_back("aten::add");
96-
97-
auto jit_results = mod.forward(jit_inputs_ivalues).toTensor();
98-
auto trt_mod = torch_tensorrt::core::CompileGraph(mod, cfg);
99-
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
100-
// Lower threshold because FP16
101-
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-1));
102-
}
1+
#include <string>
2+
#include <unordered_set>
3+
#include "core/compiler.h"
4+
#include "gtest/gtest.h"
5+
#include "tests/util/util.h"
6+
#include "torch/script.h"
7+
8+
#ifndef DISABLE_TEST_IN_CI
9+
10+
TEST(Partitioning, ComputeResNet50FallbackGraphCorrectly) {
11+
torch::jit::script::Module mod;
12+
try {
13+
mod = torch::jit::load("tests/modules/resnet50_traced.jit.pt");
14+
} catch (const c10::Error& e) {
15+
std::cerr << "error loading the model\n";
16+
return;
17+
}
18+
19+
const std::vector<std::vector<int64_t>> input_shapes = {{1, 3, 224, 224}};
20+
std::vector<torch::jit::IValue> jit_inputs_ivalues;
21+
std::vector<torch::jit::IValue> trt_inputs_ivalues;
22+
for (auto in_shape : input_shapes) {
23+
auto in = at::randint(5, in_shape, {at::kCUDA});
24+
jit_inputs_ivalues.push_back(in.clone());
25+
trt_inputs_ivalues.push_back(in.clone());
26+
}
27+
28+
std::vector<torch_tensorrt::core::ir::Input> input_ranges{torch_tensorrt::core::ir::Input({1, 3, 224, 224})};
29+
30+
torch_tensorrt::core::CompileSpec cfg(input_ranges);
31+
cfg.partition_info.enabled = true;
32+
cfg.partition_info.forced_fallback_operators.push_back("aten::add");
33+
34+
auto jit_results = mod.forward(jit_inputs_ivalues).toTensor();
35+
auto trt_mod = torch_tensorrt::core::CompileGraph(mod, cfg);
36+
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
37+
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-6));
38+
}
39+
40+
TEST(Partitioning, ComputeMobileNetFallbackGraphCorrectly) {
41+
torch::jit::script::Module mod;
42+
try {
43+
mod = torch::jit::load("tests/modules/mobilenet_v2_traced.jit.pt");
44+
} catch (const c10::Error& e) {
45+
std::cerr << "error loading the model\n";
46+
return;
47+
}
48+
49+
const std::vector<std::vector<int64_t>> input_shapes = {{1, 3, 224, 224}};
50+
std::vector<torch::jit::IValue> jit_inputs_ivalues;
51+
std::vector<torch::jit::IValue> trt_inputs_ivalues;
52+
for (auto in_shape : input_shapes) {
53+
auto in = at::randint(5, in_shape, {at::kCUDA});
54+
jit_inputs_ivalues.push_back(in.clone());
55+
trt_inputs_ivalues.push_back(in.clone());
56+
}
57+
58+
std::vector<torch_tensorrt::core::ir::Input> input_ranges{torch_tensorrt::core::ir::Input({1, 3, 224, 224})};
59+
auto g = mod.get_method("forward").graph();
60+
torch_tensorrt::core::CompileSpec cfg(input_ranges);
61+
cfg.partition_info.enabled = true;
62+
cfg.partition_info.forced_fallback_operators.push_back("aten::hardtanh");
63+
64+
auto jit_results = mod.forward(jit_inputs_ivalues).toTensor();
65+
auto trt_mod = torch_tensorrt::core::CompileGraph(mod, cfg);
66+
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
67+
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-6));
68+
}
69+
70+
TEST(Partitioning, ComputeResNet50HalfFallbackGraphCorrectly) {
71+
torch::jit::script::Module mod;
72+
try {
73+
mod = torch::jit::load("tests/modules/resnet50_traced.jit.pt");
74+
} catch (const c10::Error& e) {
75+
std::cerr << "error loading the model\n";
76+
return;
77+
}
78+
79+
mod.to(torch::kHalf);
80+
81+
const std::vector<std::vector<int64_t>> input_shapes = {{1, 3, 224, 224}};
82+
std::vector<torch::jit::IValue> jit_inputs_ivalues;
83+
std::vector<torch::jit::IValue> trt_inputs_ivalues;
84+
for (auto in_shape : input_shapes) {
85+
auto in = at::randint(5, in_shape, {at::kCUDA}).to(torch::kHalf);
86+
jit_inputs_ivalues.push_back(in.clone());
87+
trt_inputs_ivalues.push_back(in.clone());
88+
}
89+
90+
auto in_shape = torch_tensorrt::core::ir::Input({1, 3, 224, 224});
91+
in_shape.dtype = nvinfer1::DataType::kHALF;
92+
93+
std::vector<torch_tensorrt::core::ir::Input> input_ranges({in_shape});
94+
auto g = mod.get_method("forward").graph();
95+
torch_tensorrt::core::CompileSpec cfg(input_ranges);
96+
cfg.partition_info.enabled = true;
97+
cfg.partition_info.forced_fallback_operators.push_back("aten::add");
98+
99+
auto jit_results = mod.forward(jit_inputs_ivalues).toTensor();
100+
auto trt_mod = torch_tensorrt::core::CompileGraph(mod, cfg);
101+
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
102+
// Lower threshold because FP16
103+
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-1));
104+
}
105+
#endif

tests/cpp/test_compiled_modules.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ TEST_P(CppAPITests, CompiledModuleIsClose) {
2424
}
2525
}
2626

27+
#ifndef DISABLE_TEST_IN_CI
28+
2729
INSTANTIATE_TEST_SUITE_P(
2830
CompiledModuleForwardIsCloseSuite,
2931
CppAPITests,
@@ -36,3 +38,5 @@ INSTANTIATE_TEST_SUITE_P(
3638
PathAndInSize({"tests/modules/mobilenet_v2_scripted.jit.pt", {{1, 3, 224, 224}}, 2e-5}),
3739
PathAndInSize({"tests/modules/efficientnet_b0_scripted.jit.pt", {{1, 3, 224, 224}}, 8e-3}),
3840
PathAndInSize({"tests/modules/vit_scripted.jit.pt", {{1, 3, 224, 224}}, 8e-2})));
41+
42+
#endif

tests/cpp/test_module_fallback.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include "torch/script.h"
55
#include "torch_tensorrt/torch_tensorrt.h"
66

7+
#ifndef DISABLE_TEST_IN_CI
8+
79
TEST(CppAPITest, ResNetModuleFallbacksCorrectly) {
810
torch::jit::script::Module mod;
911
try {
@@ -69,3 +71,4 @@ TEST(CppAPITest, MobileNetModuleFallbacksCorrectlyWithOneEngine) {
6971
auto trt_results = trt_mod.forward(trt_inputs_ivalues).toTensor();
7072
ASSERT_TRUE(torch_tensorrt::tests::util::almostEqual(jit_results, trt_results, 2e-6));
7173
}
74+
#endif

tests/cpp/test_modules_as_engines.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ TEST_P(CppAPITests, ModuleToEngineToModuleIsClose) {
5151
torch_tensorrt::tests::util::almostEqual(jit_results[0], trt_results[0].reshape_as(jit_results[0]), threshold));
5252
}
5353

54+
#ifndef DISABLE_TEST_IN_CI
55+
5456
INSTANTIATE_TEST_SUITE_P(
5557
ModuleAsEngineForwardIsCloseSuite,
5658
CppAPITests,
@@ -63,3 +65,5 @@ INSTANTIATE_TEST_SUITE_P(
6365
PathAndInSize({"tests/modules/mobilenet_v2_scripted.jit.pt", {{1, 3, 224, 224}}, 2e-5}),
6466
PathAndInSize({"tests/modules/efficientnet_b0_scripted.jit.pt", {{1, 3, 224, 224}}, 2e-5}),
6567
PathAndInSize({"tests/modules/vit_scripted.jit.pt", {{1, 3, 224, 224}}, 8e-2})));
68+
69+
#endif

tests/cpp/test_multiple_registered_engines.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include "torch/script.h"
55
#include "torch_tensorrt/torch_tensorrt.h"
66

7+
#ifndef DISABLE_TEST_IN_CI
8+
79
TEST(CppAPITest, CanRunMultipleEngines) {
810
torch::jit::script::Module mod1;
911
torch::jit::script::Module mod2;
@@ -63,3 +65,4 @@ TEST(CppAPITest, CanRunMultipleEngines) {
6365
torch_tensorrt::tests::util::almostEqual(jit2_results[i], trt2_results[i].reshape_as(jit2_results[i]), 2e-5));
6466
}
6567
}
68+
#endif

tests/cpp/test_runtime_thread_safety.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
#include "torch/script.h"
66
#include "torch_tensorrt/torch_tensorrt.h"
77

8+
#ifndef DISABLE_TEST_IN_CI
9+
810
void run_infer(
911
int thread_id,
1012
torch::jit::Module& mod,
@@ -80,4 +82,5 @@ TEST(CppAPITests, RuntimeThreadSafety) {
8082
flag = flag && f;
8183
}
8284
ASSERT_TRUE(flag);
83-
}
85+
}
86+
#endif

0 commit comments

Comments
 (0)