Individual skill
optimize-triton-ascend-int-vectors
Optimize integer vector kernels for Triton-Ascend by preferring int32 arithmetic when the value and index ranges permit it. Use when an agent ports an int64 GPU elementwise kernel to Ascend NPU, observes scalarized integer arithmetic, or designs vector addition, subtraction, or reduction over integer tensors.
skills/optimize-triton-ascend-int-vectors/SKILL.md
Source commit 4ab5ee7adf47755ecd42723f55f4c58e38be95a7
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 4, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 189
- Repository last updated
- Aug 15, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- ai Repository topic
- ascend Repository topic
- ascend-npu Repository topic
- npu Repository topic
- triton Repository topic
- triton-ascend Repository topic
- claude-code Repository topic
- codex Repository topic
- opencode Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Read excerpt
# Optimize Triton-Ascend Integer Vectors
## Goal
Keep integer elementwise work on efficient Ascend vector paths without changing numerical semantics.
## Workflow
1. Determine the minimum signed range required by inputs, offsets, intermediates, and outputs.
2. Use torch.int32 tensors and int32-compatible scalar arguments when every possible value fits.
3. Keep pointer arithmetic and tail masking separate from the arithmetic dtype decision.
4. Launch a masked one-dimensional kernel and compare it with an int32 PyTorch reference.
5. Benchmark int32 and int64 only after synchronizing the NPU around timed regions.