Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/tilegym-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ jobs:

# Fail loudly if ENABLE_TILE=1 + PYTHONPATH=/opt/triton-cuda-tileir did NOT actually
# activate the CUDA Tile IR backend (e.g. a silent fallback to the
# torch-bundled Triton). is_nvt_available() requires triton.backends.tileir,
# torch-bundled Triton). is_triton_tileir_available() requires triton.backends.tileir,
# which only the Triton CUDA Tile IR package provides.
docker pull ${IMAGE}
docker run --rm \
Expand All @@ -330,7 +330,7 @@ jobs:
-e PYTHONPATH=/opt/triton-cuda-tileir \
-w /workspace/tilegym/modeling/transformers \
${IMAGE} \
uv run --locked --no-sync python -c "import triton; from tilegym.backend.selector import is_nvt_available, get_available_triton_backend; assert is_nvt_available(), 'ENABLE_TILE=1 but the CUDA Tile IR backend is NOT active; triton=' + triton.__file__; print('CUDA Tile IR backend active: triton=' + triton.__file__ + ', get_available_triton_backend=' + get_available_triton_backend())"
uv run --locked --no-sync python -c "import triton; from tilegym.backend.selector import is_triton_tileir_available, get_available_triton_backend; assert is_triton_tileir_available(), 'ENABLE_TILE=1 but the CUDA Tile IR backend is NOT active; triton=' + triton.__file__; print('CUDA Tile IR backend active: triton=' + triton.__file__ + ', get_available_triton_backend=' + get_available_triton_backend())"

- name: Pull and run ops tests (shard ${{ matrix.shard }})
timeout-minutes: 50
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ To use the Triton CUDA Tile IR backend, install its wheel into a separate direct

```bash
# Install into a separate directory, kept apart from the default environment
pip install --target /opt/nvtriton <nvtriton-wheel-for-your-python>.whl
pip install --target /opt/triton_tileir <triton-tileir-wheel-for-your-python>.whl

# Select the Triton CUDA Tile IR backend at runtime
PYTHONPATH=/opt/nvtriton ENABLE_TILE=1 python your_script.py
PYTHONPATH=/opt/triton_tileir ENABLE_TILE=1 python your_script.py
```

## Quick Start
Expand Down
4 changes: 2 additions & 2 deletions README_chs.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ TileGym 为以下后端提供内核,每个后端的内核位于 `src/tilegym/o

```bash
# 安装到一个独立的目录,与默认环境隔离
pip install --target /opt/nvtriton <nvtriton-wheel-for-your-python>.whl
pip install --target /opt/triton_tileir <triton-tileir-wheel-for-your-python>.whl

# 在运行时选择 Triton CUDA Tile IR 后端
PYTHONPATH=/opt/nvtriton ENABLE_TILE=1 python your_script.py
PYTHONPATH=/opt/triton_tileir ENABLE_TILE=1 python your_script.py
```

## 快速开始
Expand Down
4 changes: 2 additions & 2 deletions README_cht.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ TileGym 為以下後端提供核心,每個後端的核心位於 `src/tilegym/o

```bash
# 安裝到一個獨立的目錄,與預設環境隔離
pip install --target /opt/nvtriton <nvtriton-wheel-for-your-python>.whl
pip install --target /opt/triton_tileir <triton-tileir-wheel-for-your-python>.whl

# 在執行時選擇 Triton CUDA Tile IR 後端
PYTHONPATH=/opt/nvtriton ENABLE_TILE=1 python your_script.py
PYTHONPATH=/opt/triton_tileir ENABLE_TILE=1 python your_script.py
```

## 快速開始
Expand Down
4 changes: 2 additions & 2 deletions README_fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ Pour utiliser le backend Triton CUDA Tile IR, installez son wheel dans un réper

```bash
# Installez dans un répertoire séparé, à l'écart de l'environnement par défaut
pip install --target /opt/nvtriton <nvtriton-wheel-for-your-python>.whl
pip install --target /opt/triton_tileir <triton-tileir-wheel-for-your-python>.whl

# Sélectionnez le backend Triton CUDA Tile IR à l'exécution
PYTHONPATH=/opt/nvtriton ENABLE_TILE=1 python your_script.py
PYTHONPATH=/opt/triton_tileir ENABLE_TILE=1 python your_script.py
```

## Démarrage rapide
Expand Down
4 changes: 2 additions & 2 deletions README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,10 @@ Triton CUDA Tile IR バックエンドを使用するには、その wheel を

```bash
# デフォルト環境とは分離した別のディレクトリにインストールします
pip install --target /opt/nvtriton <nvtriton-wheel-for-your-python>.whl
pip install --target /opt/triton_tileir <triton-tileir-wheel-for-your-python>.whl

# 実行時に Triton CUDA Tile IR バックエンドを選択します
PYTHONPATH=/opt/nvtriton ENABLE_TILE=1 python your_script.py
PYTHONPATH=/opt/triton_tileir ENABLE_TILE=1 python your_script.py
```

## クイックスタート
Expand Down
54 changes: 17 additions & 37 deletions skills/tilegym-improve-cutile-kernel-perf/BENCHMARK.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
# Evaluation Report

Evaluation of the `tilegym-improve-cutile-kernel-perf` skill before publication through NVSkills-Eval.
Evaluation of the `tilegym-improve-cutile-kernel-perf` skill before publication through Skill Evaluator.

This benchmark summarizes 3-Tier Evaluation from NVSkills-Eval results for the skill. The goal is to document whether the skill is safe, discoverable, effective, and useful for agents before it is published for broader workflow use.
This benchmark summarizes 3-Tier Evaluation from Skill Evaluator results for the skill. The goal is to document whether the skill is safe, discoverable, effective, and useful for agents before it is published for broader workflow use.

## Evaluation Summary

- Skill: `tilegym-improve-cutile-kernel-perf`
- Evaluation date: 2026-06-10
- NVSkills-Eval profile: `external`
- Environment: `astra-sandbox`
- Evaluation date: 2026-07-27
- Environment: `k8s-sandbox`
- Dataset: 5 evaluation tasks
- Attempts per task: 1
- Pass threshold: 50%
- Overall verdict: FAIL
The skill should be reviewed before NVSkills-Eval publication. **Skill owners should address the applicable findings below and rerun NVSkills-Eval to refresh this benchmark.**
- Overall verdict: PASS

## Agents Used

- `claude-code`
- `codex`
- Claude Code (`aws/anthropic/bedrock-claude-opus-4-8`)
- Codex (`openai/openai/gpt-5.5`)

## Metrics Used

Expand All @@ -39,7 +37,6 @@ Underlying evaluation signals used in this run:
- `accuracy` (Accuracy): grades final-answer correctness against the reference answer.
- `goal_accuracy` (Goal Accuracy): checks whether the overall user task completed successfully.
- `behavior_check` (Behavior Check): verifies expected behavior steps, including safety expectations.
- `token_efficiency` (Token Efficiency): compares token usage with and without the skill.

## Test Tasks

Expand All @@ -53,45 +50,28 @@ Task composition is derived from the evaluation dataset when possible. Entries w

## Results

| Dimension | Num | `claude-code` | `codex` |
| Dimension | Num | Claude Code (`aws/anthropic/bedrock-claude-opus-4-8`) | Codex (`openai/openai/gpt-5.5`) |
|---|---:|---:|---:|
| Security | 5 | 100% (+0%) | 100% (+0%) |
| Correctness | 5 | 88% (+8%) | 99% (+12%) |
| Discoverability | 5 | 80% (+0%) | 99% (+7%) |
| Effectiveness | 5 | 85% (+12%) | 97% (+17%) |
| Efficiency | 5 | 83% (-0%) | 97% (+7%) |
| Correctness | 5 | 100% (+20%) | 100% (+16%) |
| Discoverability | 5 | 99% (+9%) | 99% (+9%) |
| Effectiveness | 5 | 100% (+18%) | 97% (+12%) |
| Efficiency | 5 | 87% (+4%) | 100% (+10%) |

Score values show skill-assisted performance. Values in parentheses show uplift versus the no-skill baseline when baseline data is available.

## Tier 1: Static Validation Summary

Tier 1 validation reported findings. NVSkills-Eval ran 9 checks and found 37 total findings.
Tier 1 validation passed with observations. Skill Evaluator ran 1 checks and found 1 total findings.

Top findings:

- MEDIUM PII/phone_numbers: International phone number (`references/perf-knobs-catalog.md:38`)
- MEDIUM PII/phone_numbers: International phone number (`references/perf-knobs-catalog.md:103`)
- MEDIUM PII/phone_numbers: International phone number (`references/perf-knobs-catalog.md:178`)
- MEDIUM PII/phone_numbers: International phone number (`references/perf-knobs-catalog.md:179`)
- MEDIUM PII/phone_numbers: International phone number (`references/perf-knobs-catalog.md:180`)
- MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Examples' (`skills/tilegym-improve-cutile-kernel-perf/SKILL.md`)

## Tier 2: Deduplication Summary

Tier 2 validation reported findings. NVSkills-Eval ran 2 checks and found 4 total findings.
This tier was not run or did not produce findings in this report.

Top findings:
## Publication Recommendation

- HIGH DUPLICATE/duplicate: Duplicate content found across references/ir-dump-guide.md and references/optimization-playbook.md:
"### Mitigate" in references/ir-dump-guide.md (lines 209-219)
vs "### Mitigate" in references/optimization-playbook.md (lines 323-332) (`references/ir-dump-guide.md:209`)
- HIGH DUPLICATE/duplicate: Duplicate content found across references/optimization-playbook.md and references/perf-knobs-catalog.md:
"## Optimization D: Add TF32 Dtype Guard for MMA" in references/optimization-playbook.md (lines 181-187)
vs "# Cast FP32 → TF32 for tensor core utilization" in references/optimization-playbook.md (lines 200-209)
vs "## 9. TF32 Guard for MMA" in references/perf-knobs-catalog.md (lines 126-142) (`references/optimization-playbook.md:181`)
- LOW DUPLICATE/duplicate: Duplicate content found within references/cutile-api-reference.md:
"# Prefer Python arithmetic on host (simpler, no ct import needed)" in references/cutile-api-reference.md (lines 468-470)
vs "# Host — prefer Python arithmetic:" in references/cutile-api-reference.md (lines 652-653)
vs "# CORRECT — tuple of 1, 2, or 3 ints" in references/cutile-api-reference.md (lines 725-730) (`references/cutile-api-reference.md:468`)
- LOW DUPLICATE/duplicate: Duplicate content found within references/optimization-playbook.md:
"### Before" in references/optimization-playbook.md (lines 188-194)
vs "### After" in references/optimization-playbook.md (lines 195-199) (`references/optimization-playbook.md:188`)
The skill is suitable to proceed toward Skill Evaluator publication based on this benchmark. Skill owners should keep this file with the skill and refresh it when the evaluation dataset, skill behavior, or target agents materially change.
12 changes: 3 additions & 9 deletions skills/tilegym-improve-cutile-kernel-perf/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
---
name: tilegym-improve-cutile-kernel-perf
description: Iteratively optimize cuTile kernel performance through systematic profiling, bottleneck analysis, IR comparison, and targeted tuning. Covers tile sizes, occupancy, autotune configs, TMA, latency hints, persistent scheduling, num_ctas, flush_to_zero, and IR-level debugging. Use when asked to "optimize cutile kernel", "improve kernel perf", "tune cutile performance", "make kernel faster", or iteratively benchmark and refine a cuTile GPU kernel in the TileGym project.
version: 2026.04.11
environment:
IDE:
- Claude Code
- Cursor (Agent mode)
model:
- Opus 4.6
requires:
- GPU node Blackwell, Hopper and Ampere for benchmarking
license: CC-BY-4.0 AND Apache-2.0
metadata:
author: "TileGym Team <TileGym@nvidia.com>"
version: "2026.4.11"
environment: "IDE: Claude Code, Cursor (Agent mode); model: Opus 4.6"
requires: "GPU node Blackwell, Hopper and Ampere for benchmarking"
tags:
- cutile
- performance
Expand Down
41 changes: 23 additions & 18 deletions skills/tilegym-improve-cutile-kernel-perf/skill-card.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,44 @@ NVIDIA <br>
### License/Terms of Use: <br>
CC-BY-4.0 AND Apache-2.0 <br>
## Use Case: <br>
Developers and engineers who need to systematically optimize cuTile GPU kernel performance through profiling, bottleneck diagnosis, and iterative tuning in the TileGym project. <br>
Developers and engineers optimizing cuTile GPU kernel performance in the TileGym project through iterative profiling, bottleneck diagnosis, and systematic tuning. <br>

### Deployment Geography for Use: <br>
Global <br>

## Requirements / Dependencies: <br>
**Requires API Key or External Credential:** [Not Specified] <br>
**Credential Type(s):** [None identified] <br>

Do not include secrets in prompts/logs/output; use least-privilege credentials; rotate keys as appropriate. <br>

## Known Risks and Mitigations: <br>
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>
Mitigation: Review and scan skill before deployment. <br>

## Reference(s): <br>
- [optimization-playbook.md](references/optimization-playbook.md) <br>
- [perf-knobs-catalog.md](references/perf-knobs-catalog.md) <br>
- [cutile-api-reference.md](references/cutile-api-reference.md) <br>
- [performance-model.md](references/performance-model.md) <br>
- [ir-dump-guide.md](references/ir-dump-guide.md) <br>
- [cutile-patterns-reference.md](references/cutile-patterns-reference.md) <br>
- [Optimization Playbook](references/optimization-playbook.md) <br>
- [Performance Knobs Catalog](references/perf-knobs-catalog.md) <br>
- [cuTile API Reference](references/cutile-api-reference.md) <br>
- [Performance Model](references/performance-model.md) <br>
- [IR Dump Guide](references/ir-dump-guide.md) <br>
- [cuTile Patterns Reference](references/cutile-patterns-reference.md) <br>


## Skill Output: <br>
**Output Type(s):** [Code, Shell commands, Analysis] <br>
**Output Format:** [Markdown with inline code blocks and structured performance tables] <br>
**Output Format:** [Markdown with inline code blocks and performance tables] <br>
**Output Parameters:** [1D] <br>
**Other Properties Related to Output:** [None] <br>

## Evaluation Agents Used: <br>
- Claude Code (`claude-code`) <br>
- Codex (`codex`) <br>
- Claude Code (`aws/anthropic/bedrock-claude-opus-4-8`) <br>
- Codex (`openai/openai/gpt-5.5`) <br>



## Evaluation Tasks: <br>
Evaluated against 5 tasks (1 positive skill-activation, 4 negative activation) using NVSkills-Eval external profile in astra-sandbox environment. <br>
Evaluated against 5 evaluation tasks (1 positive skill-activation, 4 negative) in a k8s-sandbox environment. <br>

## Evaluation Metrics Used: <br>
Reported benchmark dimensions: <br>
Expand All @@ -57,21 +63,20 @@ Underlying evaluation signals used in this run: <br>
- `accuracy`: Grades final-answer correctness against the reference answer. <br>
- `goal_accuracy`: Checks whether the overall user task completed successfully. <br>
- `behavior_check`: Verifies expected behavior steps, including safety expectations. <br>
- `token_efficiency`: Compares token usage with and without the skill. <br>



## Evaluation Results: <br>
| Dimension | Num | `claude-code` | `codex` |
| Dimension | Num | Claude Code (`aws/anthropic/bedrock-claude-opus-4-8`) | Codex (`openai/openai/gpt-5.5`) |
|---|---:|---:|---:|
| Security | 5 | 100% (+0%) | 100% (+0%) |
| Correctness | 5 | 88% (+8%) | 99% (+12%) |
| Discoverability | 5 | 80% (+0%) | 99% (+7%) |
| Effectiveness | 5 | 85% (+12%) | 97% (+17%) |
| Efficiency | 5 | 83% (-0%) | 97% (+7%) |
| Correctness | 5 | 100% (+20%) | 100% (+16%) |
| Discoverability | 5 | 99% (+9%) | 99% (+9%) |
| Effectiveness | 5 | 100% (+18%) | 97% (+12%) |
| Efficiency | 5 | 87% (+4%) | 100% (+10%) |

## Skill Version(s): <br>
2026.04.11 (source: frontmatter) <br>
2026.4.11 (source: frontmatter) <br>

## Ethical Considerations: <br>
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal team to ensure this skill meets requirements for the relevant industry and use case and addresses unforeseen product misuse. <br>
Expand Down
Loading
Loading