Skip to content

Commit 672b863

Browse files
authored
Merge pull request #376 from NVIDIA/fix_seralization_memory_leak
fix(//core/conversion/conversionctx): Fix memory leak in conversionctx
2 parents 04188a8 + a658b28 commit 672b863

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

core/conversion/conversionctx/ConversionCtx.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,9 @@ std::string ConversionCtx::SerializeEngine() {
148148
auto engine = builder->buildEngineWithConfig(*net, *cfg);
149149
auto serialized_engine = engine->serialize();
150150
engine->destroy();
151-
return std::string((const char*)serialized_engine->data(), serialized_engine->size());
151+
auto engine_str = std::string((const char*)serialized_engine->data(), serialized_engine->size());
152+
serialized_engine->destroy();
153+
return engine_str;
152154
}
153155

154156
bool ConversionCtx::CheckLayerAddition(const torch::jit::Node* n) {

py/trtorch/_compiler.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,5 +157,6 @@ def get_build_info() -> str:
157157
build_info = "TRTorch Version: " + str(__version__) + '\n' + build_info
158158
return build_info
159159

160+
160161
def set_device(gpu_id):
161162
trtorch._C.set_device(gpu_id)

tests/py/test_multi_gpu.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
from model_test_case import ModelTestCase
77

8+
89
class TestMultiGpuSwitching(ModelTestCase):
10+
911
def setUp(self):
1012
if torch.cuda.device_count() < 2:
1113
self.fail("Test is not relevant for this platform since number of available CUDA devices is less than 2")
@@ -55,12 +57,14 @@ def test_compile_script(self):
5557
trtorch.set_device(0)
5658
self.assertTrue(same < 2e-3)
5759

60+
5861
def test_suite():
5962
suite = unittest.TestSuite()
6063
suite.addTest(TestMultiGpuSwitching.parametrize(TestMultiGpuSwitching, model=models.resnet18(pretrained=True)))
6164

6265
return suite
6366

67+
6468
suite = test_suite()
6569

6670
runner = unittest.TextTestRunner()

0 commit comments

Comments
 (0)