协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
pytorch【开发与工程】Operate transformer_engine.pytorch for PyTorch layers, precision control, distributed overlap, and debug workflows.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when the task is to apply Transformer Engine's PyTorch surface inside a model, training loop, export path, or debugging session.
torch.nn layers with transformer_engine.pytorch.Linear, GroupedLinear, LayerNorm, RMSNorm, LayerNormLinear, LayerNormMLP, DotProductAttention, MultiheadAttention, or TransformerLayer.params_dtype and torch.autocast.te.autocast(...).Read these bundled references before changing code or explaining usage:
references/api-reference.md for constructors, helpers, tensor classes, and op-fuser surfaces.references/workflows.md for minimal BF16/FP16 flows and guarded low-precision recipes.references/distributed-and-advanced.md for FSDP, checkpointing, userbuffers, CPU offload, export, and advanced fusion.references/troubleshooting.md for import order, runtime mismatches, and precision failures.Run the bundled smoke script to validate a small BF16 te.Linear path without depending on the source repository:
python scripts/pytorch_bf16_smoke.py --help
python scripts/pytorch_bf16_smoke.py --device cuda --in-features 16 --out-features 32 --batch-size 4
The helper prints version, device, and precision-availability facts, then runs a tiny BF16 forward/backward pass. It is intentionally narrower than the full TransformerLayer examples.
torch.autocast for BF16/FP16 compute control; use te.autocast for FP8/MXFP8/NVFP4 quantized compute. They are not interchangeable.quantized_model_init(enabled=True) is used with master-weight optimizers, preserve or copy high-precision init values before clearing them if you need FP32 seeding.