Skip to content

Conversation

@lanluo-nvidia
Copy link
Collaborator

@lanluo-nvidia lanluo-nvidia commented Nov 20, 2025

Description

The engine_cache bug is introduced due to recent cpu/memory optimzation feature where we moved the cache insert logic
Previously, cache_insert will only happen after we actually build the engine.
Now we moved to convert_module, so it is possible the engine is the cached one and we insert cache again.
The fix is to add a check if the cache exists already, then do not insert again.

Fixes # (issue)

Type of change

Please delete options that are not relevant and/or add your own.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project (You can use the linters)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas and hacks
  • I have made corresponding changes to the documentation
  • I have added tests to verify my fix or my feature
  • New and existing unit tests pass locally with my changes
  • I have added the relevant labels to my PR in so that relevant reviewers are notified

@meta-cla meta-cla bot added the cla signed label Nov 20, 2025
@github-actions github-actions bot added component: tests Issues re: Tests component: conversion Issues re: Conversion stage component: api [Python] Issues re: Python API component: dynamo Issues relating to the `torch.compile` or `torch._dynamo.export` paths labels Nov 20, 2025
@lanluo-nvidia lanluo-nvidia marked this pull request as ready for review November 20, 2025 21:16
@github-actions github-actions bot requested a review from peri044 November 20, 2025 21:16
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some changes that do not conform to Python style guidelines:

--- /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:15:55.433017+00:00
+++ /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:43.787199+00:00
@@ -28,10 +28,11 @@
        self.engine_cache_dir = engine_cache_dir
        if not os.path.exists(self.engine_cache_dir):
            os.makedirs(self.engine_cache_dir, exist_ok=True)

        self.hashes = {}
+
    def exist(self, hash: str) -> bool:
        return hash in self.hashes

    def save(
        self,

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some changes that do not conform to Python style guidelines:

--- /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:09.872580+00:00
+++ /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:52.726852+00:00
@@ -28,10 +28,11 @@
        self.engine_cache_dir = engine_cache_dir
        if not os.path.exists(self.engine_cache_dir):
            os.makedirs(self.engine_cache_dir, exist_ok=True)

        self.hashes = {}
+
    def exist(self, hash: str) -> bool:
        return hash in self.hashes

    def save(
        self,

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some changes that do not conform to Python style guidelines:

--- /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:09.968505+00:00
+++ /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:54.092908+00:00
@@ -28,10 +28,11 @@
        self.engine_cache_dir = engine_cache_dir
        if not os.path.exists(self.engine_cache_dir):
            os.makedirs(self.engine_cache_dir, exist_ok=True)

        self.hashes = {}
+
    def exist(self, hash: str) -> bool:
        return hash in self.hashes

    def save(
        self,

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some changes that do not conform to Python style guidelines:

--- /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:14.709932+00:00
+++ /home/runner/work/TensorRT/TensorRT/tests/py/dynamo/models/test_engine_cache.py	2025-11-20 21:16:57.038199+00:00
@@ -28,10 +28,11 @@
        self.engine_cache_dir = engine_cache_dir
        if not os.path.exists(self.engine_cache_dir):
            os.makedirs(self.engine_cache_dir, exist_ok=True)

        self.hashes = {}
+
    def exist(self, hash: str) -> bool:
        return hash in self.hashes

    def save(
        self,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla signed component: api [Python] Issues re: Python API component: conversion Issues re: Conversion stage component: dynamo Issues relating to the `torch.compile` or `torch._dynamo.export` paths component: tests Issues re: Tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants