From bd7bf75741c630585040e31233e95993d1665fa5 Mon Sep 17 00:00:00 2001 From: KaelanDt Date: Mon, 13 Oct 2025 14:12:15 +0000 Subject: [PATCH 1/5] fix recipes and update setup of job --- .github/run-benchmark-as-lit-jobs.py | 5 ++--- thunder/benchmarks/benchmark_hf.py | 13 +++---------- thunder/recipes/hf_transformers.py | 4 +++- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/run-benchmark-as-lit-jobs.py b/.github/run-benchmark-as-lit-jobs.py index b69ee8fbd3..5b9de62bd1 100644 --- a/.github/run-benchmark-as-lit-jobs.py +++ b/.github/run-benchmark-as-lit-jobs.py @@ -16,14 +16,13 @@ def main(gh_run_id: str = ""): print("Uploading package and benchmark script...") s.upload_folder("dist", remote_path="dist") pkg_path = glob.glob("dist/*.whl")[0] + s.upload_file("examples/coverage/requirements.txt", remote_path="benchmarks/requirements.txt") s.upload_file("thunder/benchmarks/benchmark_hf.py", remote_path="benchmarks/benchmark_hf.py") print("Starting studio...") s.start() print("Installing Thunder and dependencies...") - s.run( - f"pip install {pkg_path} -U transformers==4.52.4 nvidia-cudnn-frontend 'numpy<2.0' 'nvfuser_cu128_torch27==0.2.27.dev20250615'" - ) + s.run(f"pip install {pkg_path} -U -r benchmarks/requirements.txt") print("Running HF benchmark script...") job = Job.run( diff --git a/thunder/benchmarks/benchmark_hf.py b/thunder/benchmarks/benchmark_hf.py index 68bd56dc81..8ed2a29518 100644 --- a/thunder/benchmarks/benchmark_hf.py +++ b/thunder/benchmarks/benchmark_hf.py @@ -5,17 +5,10 @@ import thunder from thunder.dev_utils.benchmark import benchmark_n -from thunder.recipes.base import BaseRecipe +from thunder.recipes.hf_transformers import HFTransformers from torch.profiler import profile, record_function, ProfilerActivity - -class DebugRecipe(BaseRecipe): - def setup_config(self): - config = super().setup_config() - return config - - device = "cuda" model_name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B" @@ -28,8 +21,8 @@ def setup_config(self): plugins_str = "" if plugins is None else plugins if isinstance(plugins, str) else "-".join(plugins) # Define recipes -nvfuser_recipe = DebugRecipe() -torchcompile_recipe = DebugRecipe(fuser="torch.compile") +nvfuser_recipe = HFTransformers() +torchcompile_recipe = HFTransformers(fuser="torch.compile") recipes = [nvfuser_recipe, torchcompile_recipe] diff --git a/thunder/recipes/hf_transformers.py b/thunder/recipes/hf_transformers.py index 33b796e764..044db900ae 100644 --- a/thunder/recipes/hf_transformers.py +++ b/thunder/recipes/hf_transformers.py @@ -45,6 +45,7 @@ class HFTransformers(BaseRecipe): Args: show_progress (bool, optional): Forwarded to :class:`BaseRecipe`. + fuser (str, optional): which fuser to use, default NvFuser. interpreter (str, optional): Thunder interpreter to use. plugins (Iterable | None, optional): Extra Thunder plugins. """ @@ -52,10 +53,11 @@ class HFTransformers(BaseRecipe): def __init__( self, show_progress=False, + fuser="nvfuser", interpreter="thunder.jit", plugins=None, ): - super().__init__(show_progress=show_progress, interpreter=interpreter, plugins=plugins) + super().__init__(show_progress=show_progress, fuser=fuser, interpreter=interpreter, plugins=plugins) # for kv-cache inplace ops self.inplace_index_copy_transform = InplaceIndexCopyTransform() From 74a0829efcc2788de40ffca9ab02e4120ee90c42 Mon Sep 17 00:00:00 2001 From: KaelanDt Date: Mon, 13 Oct 2025 15:32:41 +0100 Subject: [PATCH 2/5] update requirements.txt --- examples/coverage/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/coverage/requirements.txt b/examples/coverage/requirements.txt index c33dcdc8c2..1603171a43 100644 --- a/examples/coverage/requirements.txt +++ b/examples/coverage/requirements.txt @@ -1,4 +1,4 @@ -transformers==4.52.4 +transformers==4.55.4 accelerate nvfuser-cu128-torch28 nvidia-cudnn-frontend From 9fa9de7b21558c2dd4f7e63cf58d7d969319b146 Mon Sep 17 00:00:00 2001 From: KaelanDt Date: Tue, 14 Oct 2025 10:58:31 +0000 Subject: [PATCH 3/5] change requirements --- .github/run-benchmark-as-lit-jobs.py | 2 +- examples/quickstart/benchmarks/requirements.txt | 4 ++++ thunder/benchmarks/benchmark_hf.py | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 examples/quickstart/benchmarks/requirements.txt diff --git a/.github/run-benchmark-as-lit-jobs.py b/.github/run-benchmark-as-lit-jobs.py index 5b9de62bd1..f5e89405e1 100644 --- a/.github/run-benchmark-as-lit-jobs.py +++ b/.github/run-benchmark-as-lit-jobs.py @@ -16,7 +16,7 @@ def main(gh_run_id: str = ""): print("Uploading package and benchmark script...") s.upload_folder("dist", remote_path="dist") pkg_path = glob.glob("dist/*.whl")[0] - s.upload_file("examples/coverage/requirements.txt", remote_path="benchmarks/requirements.txt") + s.upload_file("examples/quickstart/benchmarks/requirements.txt", remote_path="benchmarks/requirements.txt") s.upload_file("thunder/benchmarks/benchmark_hf.py", remote_path="benchmarks/benchmark_hf.py") print("Starting studio...") diff --git a/examples/quickstart/benchmarks/requirements.txt b/examples/quickstart/benchmarks/requirements.txt new file mode 100644 index 0000000000..9f4b1fce20 --- /dev/null +++ b/examples/quickstart/benchmarks/requirements.txt @@ -0,0 +1,4 @@ +transformers==4.55.4 +numpy<2.0 +torch==2.7.1 +nvfuser-cu128-torch27 \ No newline at end of file diff --git a/thunder/benchmarks/benchmark_hf.py b/thunder/benchmarks/benchmark_hf.py index 8ed2a29518..a84391b956 100644 --- a/thunder/benchmarks/benchmark_hf.py +++ b/thunder/benchmarks/benchmark_hf.py @@ -61,6 +61,8 @@ def run_and_profile(tag: str, fn, model, inp, compiled_models: dict[str, torch.n with open(profile_path, "w") as f: f.write(thunder_prof.key_averages().table(sort_by="cpu_time_total")) + print(timings) + with open(root / f"{tag}_timings_{plugins_str}.txt", "w") as f: f.write("\n".join(timings)) From 9926f62406d8c2931533d058ac030a6ba768e851 Mon Sep 17 00:00:00 2001 From: KaelanDt Date: Tue, 14 Oct 2025 11:09:37 +0000 Subject: [PATCH 4/5] requirements --- examples/coverage/requirements.txt | 2 +- examples/quickstart/benchmarks/requirements.txt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/coverage/requirements.txt b/examples/coverage/requirements.txt index 1603171a43..c33dcdc8c2 100644 --- a/examples/coverage/requirements.txt +++ b/examples/coverage/requirements.txt @@ -1,4 +1,4 @@ -transformers==4.55.4 +transformers==4.52.4 accelerate nvfuser-cu128-torch28 nvidia-cudnn-frontend diff --git a/examples/quickstart/benchmarks/requirements.txt b/examples/quickstart/benchmarks/requirements.txt index 9f4b1fce20..3e7edb0ace 100644 --- a/examples/quickstart/benchmarks/requirements.txt +++ b/examples/quickstart/benchmarks/requirements.txt @@ -1,4 +1,5 @@ -transformers==4.55.4 +transformers==4.52.4 numpy<2.0 torch==2.7.1 -nvfuser-cu128-torch27 \ No newline at end of file +nvfuser-cu128-torch27 +nvidia-cudnn-frontend \ No newline at end of file From 5ca2c81e2936f96bd4d5b17284ad9923e9b5dd05 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 14 Oct 2025 11:10:16 +0000 Subject: [PATCH 5/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/quickstart/benchmarks/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/quickstart/benchmarks/requirements.txt b/examples/quickstart/benchmarks/requirements.txt index 3e7edb0ace..5f16f94900 100644 --- a/examples/quickstart/benchmarks/requirements.txt +++ b/examples/quickstart/benchmarks/requirements.txt @@ -2,4 +2,4 @@ transformers==4.52.4 numpy<2.0 torch==2.7.1 nvfuser-cu128-torch27 -nvidia-cudnn-frontend \ No newline at end of file +nvidia-cudnn-frontend