NVIDIA / NVIDIA/TensorRT-LLM

[Feature]: AutoDeploy: new load hook system

Open
#11,067 0 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

AutoDeploy feature request
Dominant language
Python
Stars
14.7k
Forks
2.8k
Avg merge
2d 23h
Merged PRs (30d)
489

Description

🚀 The feature, motivation and pitch

Currently, AutoDeploy load hooks are part of PyTorch's built-in load hook system inside nn.Module.

Let's write a custom load hook system that we have more control over for the following reason:

  1. PyTorch's built-in load hook system is hierarchical (i.e. the order is determined by both the order of registration and the submodule hierarchy, see ticket #10348) This makes ensuring a constant order confusing. We should instead focus on having a flat load hook system where load hooks are always executed on the state dict / root module and order of execution is purely determined by the order of registration
  2. Execute load hooks on CPU during pre-loading. This ensures we only allocate GPU memory we actually need for the weight and ensures better control over the memory management
Alternatives

No response

Additional context

No response

Before submitting a new issue...
  • Make sure you already searched for relevant issues, and checked the documentation and examples for answers to frequently asked questions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.