Skip to content

Commit e32fb3d

Browse files
Merge branch 'dev' into compute-ref-offload
2 parents 462945f + a627ad8 commit e32fb3d

333 files changed

Lines changed: 25029 additions & 8112 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/trigger-ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ jobs:
5353
|| github.actor == 'lhb8125'
5454
|| github.actor == 'kunlunl'
5555
|| github.actor == 'pstjohn'
56-
|| github.actor == 'mk-61'
56+
|| github.actor == 'vcherepanov-nv'
57+
|| github.actor == 'tdophung'
58+
|| github.actor == 'vthumbe1503'
59+
|| github.actor == 'janekb04'
60+
|| github.actor == 'shengfangd'
5761
)
5862
steps:
5963
- name: Check if comment is issued by authorized person

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@
2020
[submodule "examples/pytorch/nanogpt"]
2121
path = examples/pytorch/nanogpt
2222
url = https://github.com/floraamd/nanoGPTwTE.git
23+
[submodule "3rdparty/cutlass"]
24+
path = 3rdparty/cutlass
25+
url = https://github.com/NVIDIA/cutlass.git

3rdparty/aiter

3rdparty/cudnn-frontend

Submodule cudnn-frontend updated 190 files

3rdparty/cutlass

Submodule cutlass added at 57e3cfb

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
recursive-include transformer_engine/common/include *.*

README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -526,15 +526,15 @@ For example to use the NGC PyTorch container interactively,
526526

527527
.. code-block:: bash
528528
529-
docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:25.04-py3
529+
docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:25.08-py3
530530
531531
For example to use the NGC JAX container interactively,
532532

533533
.. code-block:: bash
534534
535-
docker run --gpus all -it --rm nvcr.io/nvidia/jax:25.04-py3
535+
docker run --gpus all -it --rm nvcr.io/nvidia/jax:25.08-py3
536536
537-
Where 25.04 (corresponding to April 2025 release) is the container version.
537+
Where 25.08 (corresponding to August 2025 release) is the container version.
538538

539539
**Benefits of using NGC containers:**
540540

benchmarks/attention/benchmark_attention.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
import torch
1010
import nvtx
1111
import transformer_engine
12-
from tests.pytorch.fused_attn.test_fused_attn import (
12+
from tests.pytorch.utils import (
1313
ModelConfig,
14-
_get_attention_backends,
15-
_run_dot_product_attention,
14+
get_available_attention_backends,
1615
)
16+
from tests.pytorch.attention.test_attention import _run_dot_product_attention
1717

1818
pd.set_option("display.precision", 4)
1919

@@ -197,7 +197,7 @@ def main():
197197
)
198198
for model in model_configs.keys():
199199
config = model_configs[model]
200-
available_backends, fused_attn_backends = _get_attention_backends(
200+
available_backends, _, fused_attn_backends = get_available_attention_backends(
201201
config,
202202
qkv_dtype=dtype,
203203
qkv_layout=qkv_layout,

benchmarks/attention/benchmark_attention_rocm.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# This file was modified for portability to AMDGPU
2-
# Copyright (c) 2025, Advanced Micro Devices, Inc. All rights reserved.
2+
# Copyright (c) 2025-2026, Advanced Micro Devices, Inc. All rights reserved.
33
# Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
44
#
55
# See LICENSE for license information.
@@ -13,17 +13,17 @@
1313
import transformer_engine
1414
from transformer_engine_torch import NVTE_Fused_Attn_Backend
1515

16-
# Add test_fused_attn to the sys path
16+
# Add TE repo root to the sys path
1717
tests_path = os.path.abspath(
18-
os.path.join(os.path.dirname(__file__), "../../tests/pytorch/fused_attn")
18+
os.path.join(os.path.dirname(__file__), "../../")
1919
)
2020
sys.path.append(tests_path)
2121

22-
from test_fused_attn import (
22+
from tests.pytorch.utils import (
2323
ModelConfig,
24-
_get_attention_backends,
25-
_run_dot_product_attention,
24+
get_available_attention_backends,
2625
)
26+
from tests.pytorch.attention.test_attention import _run_dot_product_attention
2727

2828
pd.set_option("display.precision", 4)
2929

@@ -46,12 +46,12 @@
4646
is_training = True
4747

4848
model_configs = {
49-
# test: b, h, hg, d, sq, skv, p, mask, bias
50-
"test_0": ModelConfig(2, 16, 16, 64, 512, 512, 0.0, "no_mask", "no_bias"), # short seq
51-
"test_1": ModelConfig(2, 16, 16, 128, 2048, 2048, 0.0, "causal", "no_bias"), # longer seq, mask
52-
"test_2": ModelConfig(2, 16, 16, 128, 2048, 2048, 0.0, "causal", "post_scale_bias"), # bias
53-
"test_3": ModelConfig(2, 32, 4, 128, 8192, 8192, 0.0, "causal", "no_bias"), # GQA
54-
"test_4": ModelConfig(2, 128, 8, 128, 8192, 8192, 0.0, "causal_bottom_right", "no_bias")
49+
# b, sq, h, dqk
50+
"test_0": ModelConfig(2, 512, 16, 64), # short seq
51+
"test_1": ModelConfig(2, 2048, 16, 128, attn_mask_type="causal"), # longer seq, mask
52+
"test_2": ModelConfig(2, 2048, 16, 128, attn_mask_type="causal", attn_bias_type="post_scale_bias"), # bias
53+
"test_3": ModelConfig(2, 8192, 32, 128, num_gqa_groups=4, attn_mask_type="causal"), # GQA
54+
"test_4": ModelConfig(2, 8192, 128, 128, num_gqa_groups=8, attn_mask_type="causal_bottom_right")
5555
}
5656

5757
# DataFrame indices and columns for results
@@ -303,7 +303,7 @@ def sanity_checks(
303303
}
304304

305305
for model, cfg in model_configs.items():
306-
avail, _, fused_bes = _get_attention_backends(
306+
avail, _, fused_bes = get_available_attention_backends(
307307
cfg,
308308
qkv_dtype=dtype,
309309
qkv_layout=qkv_layout,
@@ -364,7 +364,7 @@ def main(args):
364364
# Benchmarking starts..
365365
for model in model_configs.keys():
366366
config = model_configs[model]
367-
available_backends, _, fused_attn_backends = _get_attention_backends(
367+
available_backends, _, fused_attn_backends = get_available_attention_backends(
368368
config,
369369
qkv_dtype=dtype,
370370
qkv_layout=qkv_layout,

benchmarks/linear/benchmark_grouped_linear.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ def run_benchmark_linear(mkns, recipe_name, use_bias, num_gemms=4):
247247
num_gemms_list = [8]
248248

249249
if args.profile:
250-
mkns = [(4096, 4096, 4096)]
250+
mkns = [(4096 * 8, 4096, 4096)]
251251
# in profile mode, only run one recipe specified in args.recipe
252252
assert args.recipe != "all", (
253253
"In profile mode, only one recipe can be specified, please specify the recipe as"

0 commit comments

Comments
 (0)