Skip to content
Open
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
1 change: 1 addition & 0 deletions modeling/transformers/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ tilegym_hf_bench = ["kernel_filters/*.yaml"]
managed = true
override-dependencies = [
"transformers==5.10.2",
"triton==3.7.1",
"cuda-toolkit[tileiras,nvcc,nvvm]==13.3.0",
"nvidia-cuda-runtime>=13.3,<14",
"nvidia-nvjitlink>=13.3,<14",
Expand Down
402 changes: 198 additions & 204 deletions modeling/transformers/uv.lock

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions skills/tilegym-monkey-patch-kernels-to-transformers/BENCHMARK.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This benchmark summarizes 3-Tier Evaluation from NVSkills-Eval results for the s
## Evaluation Summary

- Skill: `tilegym-monkey-patch-kernels-to-transformers`
- Evaluation date: 2026-06-16
- Evaluation date: 2026-07-10
- NVSkills-Eval profile: `external`
- Environment: `astra-sandbox`
- Dataset: 5 evaluation tasks
Expand Down Expand Up @@ -55,10 +55,10 @@ Task composition is derived from the evaluation dataset when possible. Entries w
| Dimension | Num | `claude-code` | `codex` |
|---|---:|---:|---:|
| Security | 5 | 100% (+0%) | 100% (+0%) |
| Correctness | 5 | 100% (+12%) | 99% (+12%) |
| Discoverability | 5 | 100% (+11%) | 94% (+2%) |
| Effectiveness | 5 | 98% (+18%) | 100% (+19%) |
| Efficiency | 5 | 96% (+13%) | 90% (+1%) |
| Correctness | 5 | 100% (+15%) | 99% (+14%) |
| Discoverability | 5 | 100% (+13%) | 99% (+9%) |
| Effectiveness | 5 | 98% (+17%) | 100% (+19%) |
| Efficiency | 5 | 96% (+13%) | 96% (+7%) |

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ Use FlashInfer Solution metadata with source paths:
- `name`, `definition`, `author`, `spec`, and `sources` are required.
- `spec.language` is `cuda-tile` for cuTile kernels.
- `spec.entry_point` uses `{file_path}::{function_name}` and points at `kernels/<kernel_name>.py`.
- `spec.target_hardware` lists supported GPUs, for example `NVIDIA_B200`.
- `spec.target_hardware` lists supported CUDA compute capabilities, for example `SM100`.
- `sources.path` references one or more repo-relative files containing the implementation.

For Ocean in-repo inventory, `sources.content` is not required. If an external FlashInfer-Bench submission needs embedded file content, materialize it from `sources.path` at export time.
For TileGym in-repo inventory, `sources.content` is not required. If an external FlashInfer-Bench submission needs embedded file content, materialize it from `sources.path` at export time.

## Agent workflow rules

Expand Down
25 changes: 17 additions & 8 deletions skills/tilegym-monkey-patch-kernels-to-transformers/skill-card.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,17 @@ NVIDIA <br>
### License/Terms of Use: <br>
CC-BY-4.0 AND Apache-2.0 <br>
## Use Case: <br>
Developers and engineers integrating TileGym GPU kernels into Hugging Face transformers models for LLM training and inference performance improvements. <br>
Developers and engineers integrating TileGym high-performance CUDA Tile kernels into Hugging Face transformers models to validate end-to-end functional correctness and improve inference and training throughput. <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>
Expand All @@ -23,11 +29,14 @@ Mitigation: Review and scan skill before deployment. <br>
- [Kernel Integration](references/kernel-integration.md) <br>
- [Auto Kernelize](references/auto-kernelize.md) <br>
- [Kernel Inventory Schema](references/kernel-inventory-schema.md) <br>
- [NVIDIA CUDA Tile IR Documentation](https://docs.nvidia.com/cuda/tile-ir/latest/) <br>
- [Workflow Diagram](references/workflow-diagram.png) <br>
- [CUDA Tile IR Documentation](https://docs.nvidia.com/cuda/tile-ir/latest/) <br>
- [FlashInfer-Bench Definition Schema](https://github.com/flashinfer-ai/flashinfer-bench/blob/main/docs/flashinfer-trace/definition.mdx) <br>
- [FlashInfer-Bench Solution Schema](https://github.com/flashinfer-ai/flashinfer-bench/blob/main/docs/flashinfer-trace/solution.mdx) <br>


## Skill Output: <br>
**Output Type(s):** [Code, Shell commands, Configuration instructions] <br>
**Output Type(s):** [Code, Shell commands, Analysis] <br>
**Output Format:** [Markdown with inline code blocks] <br>
**Output Parameters:** [1D] <br>
**Other Properties Related to Output:** [None] <br>
Expand All @@ -39,7 +48,7 @@ Mitigation: Review and scan skill before deployment. <br>


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

## Evaluation Metrics Used: <br>
Reported benchmark dimensions: <br>
Expand All @@ -64,10 +73,10 @@ Underlying evaluation signals used in this run: <br>
| Dimension | Num | `claude-code` | `codex` |
|---|---:|---:|---:|
| Security | 5 | 100% (+0%) | 100% (+0%) |
| Correctness | 5 | 100% (+12%) | 99% (+12%) |
| Discoverability | 5 | 100% (+11%) | 94% (+2%) |
| Effectiveness | 5 | 98% (+18%) | 100% (+19%) |
| Efficiency | 5 | 96% (+13%) | 90% (+1%) |
| Correctness | 5 | 100% (+15%) | 99% (+14%) |
| Discoverability | 5 | 100% (+13%) | 99% (+9%) |
| Effectiveness | 5 | 98% (+17%) | 100% (+19%) |
| Efficiency | 5 | 96% (+13%) | 96% (+7%) |

## Skill Version(s): <br>
2026.06.03 (source: frontmatter) <br>
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAidGlsZWd5bS1tb25rZXktcGF0Y2gta2VybmVscy10by10cmFuc2Zvcm1lcnMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjY3ZWEzY2FiYzUwYWNhMmNkYWIyYmZlZGZlYmY5MTVjYzQ4MDg1NmU5MDY3Yzk2Yjg0MjYzOWJjNDhiOGVmMiIKICAgICAgfQogICAgfQogIF0sCiAgInByZWRpY2F0ZVR5cGUiOiAiaHR0cHM6Ly9tb2RlbF9zaWduaW5nL3NpZ25hdHVyZS92MS4wIiwKICAicHJlZGljYXRlIjogewogICAgInNlcmlhbGl6YXRpb24iOiB7CiAgICAgICJoYXNoX3R5cGUiOiAic2hhMjU2IiwKICAgICAgIm1ldGhvZCI6ICJmaWxlcyIsCiAgICAgICJpZ25vcmVfcGF0aHMiOiBbCiAgICAgICAgIi5naXRodWIiLAogICAgICAgICIuZ2l0aWdub3JlIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIgogICAgICBdLAogICAgICAiYWxsb3dfc3ltbGlua3MiOiBmYWxzZQogICAgfSwKICAgICJyZXNvdXJjZXMiOiBbCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAiQkVOQ0hNQVJLLm1kIiwKICAgICAgICAiZGlnZXN0IjogIjYxY2E2MWMwMzUzN2JhNGEzMGNiNWZjYmRjNWRiOGIzYTcwYzFhNGZlZjQzNTI2OTEyYTYxZjM3OWExMWJkZWMiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiLAogICAgICAgICJkaWdlc3QiOiAiZGU3YTAwZWU2OWM4NTljY2JkYTRiYThhYzkxYTI2NjU1NDkxZTllMzAzOWIxYWUwY2FkYzc5NjZhOGFhN2E5MyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJldmFscy9ldmFscy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogImIzMTEwNThlN2RlNWIxOGFhMjI4YjVmNGU4NTBhMzE2MDNhMzRlN2FjZjk0Yzk0MTQwYmIwMGE3YWY1NTlkYTQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9hdXRvLWtlcm5lbGl6ZS5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICI3NTk3YjA0MjJjMjQ3YmFhNGZiMTgwZmI5MjU2NWNkOWI3ZDM5N2NlYmEwMDFmMDY3Y2IzNWE4NDg4YmU3NGQ3IgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMvZW52aXJvbm1lbnQtc2V0dXAubWQiLAogICAgICAgICJkaWdlc3QiOiAiYjM5ZWM4ZTUzZTJkODU0MTFkM2ZlMTZlYjczODEzMGVlOGFmYWM0N2RkODhlOTBhNzY1NGNjYTA4Y2E4Y2E0NyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL2tlcm5lbC1pbnRlZ3JhdGlvbi5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICIyNGY4NGE0NDA0MWUzM2VhMWIwYWRlYTBjYWUwNWExNmM1Zjc4ZjU2NDg2YzQ0ZjFlZDdkYjliOTU5YWU5ODc5IgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMva2VybmVsLWludmVudG9yeS1zY2hlbWEubWQiLAogICAgICAgICJkaWdlc3QiOiAiN2Y1MDdhNWY1MGJiMjc0OTBiYjNiMmY4YzJmYjRkODQ0NjBkYjAxZDU5OThhMmUzZjNkZDQ2YTBjNDcyZWM5ZSIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL3dvcmtmbG93LWRpYWdyYW0ucG5nIiwKICAgICAgICAiZGlnZXN0IjogIjIyZWRkZDNkODFiM2MzN2QyYjQ3NjY1ZDZmZjE5NzAxODY1MzY0NDk3OTkxZDY1MDYyZTJmOWNhM2VmNmVmODUiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAic2tpbGwtY2FyZC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICJmMWI2ODc1NjBiYTJlNDE1MzU1ODE0NDI2YmE0NTJiNmY2NTdhOTZmY2FmMDBkMzhjODhjNTcxNDNiNTE5MWEyIgogICAgICB9CiAgICBdCiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGUCMQDbfR92FeMjEcZQzIbdqnlmgaxCNd7nGVXKp6/pladsoMnT3ckTYOfsHF6MxAi9+5ECME668JO/ltcRgtzmnMcr2y+8p56SBhMcuQt7UYx6w8Z+9ShLyaZHF6+3gK7hFd6LFw==","keyid":""}]}}
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAidGlsZWd5bS1tb25rZXktcGF0Y2gta2VybmVscy10by10cmFuc2Zvcm1lcnMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjRkZDY4YzIxMTk0ZmEyYzc3ODc4NGIwYzM0Y2I1Y2MyZjMxMjRjODM2YmRkYjcxY2U5YWIyY2MyNDcyN2JhOCIKICAgICAgfQogICAgfQogIF0sCiAgInByZWRpY2F0ZVR5cGUiOiAiaHR0cHM6Ly9tb2RlbF9zaWduaW5nL3NpZ25hdHVyZS92MS4wIiwKICAicHJlZGljYXRlIjogewogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiNGRhZDg0ZjFlZTJiYTNmMDQyYTQ2YmZiMzA2NGZiM2FmOGYzYmU1MmZlZWNiMTIzYTVlZWZjZGJhNDM2YTNkZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogIkJFTkNITUFSSy5tZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiZGU3YTAwZWU2OWM4NTljY2JkYTRiYThhYzkxYTI2NjU1NDkxZTllMzAzOWIxYWUwY2FkYzc5NjZhOGFhN2E5MyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogIlNLSUxMLm1kIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICJiMzExMDU4ZTdkZTViMThhYTIyOGI1ZjRlODUwYTMxNjAzYTM0ZTdhY2Y5NGM5NDE0MGJiMDBhN2FmNTU5ZGE0IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAiZXZhbHMvZXZhbHMuanNvbiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiNzU5N2IwNDIyYzI0N2JhYTRmYjE4MGZiOTI1NjVjZDliN2QzOTdjZWJhMDAxZjA2N2NiMzVhODQ4OGJlNzRkNyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogInJlZmVyZW5jZXMvYXV0by1rZXJuZWxpemUubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogImIzOWVjOGU1M2UyZDg1NDExZDNmZTE2ZWI3MzgxMzBlZThhZmFjNDdkZDg4ZTkwYTc2NTRjY2EwOGNhOGNhNDciLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL2Vudmlyb25tZW50LXNldHVwLm1kIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICIyNGY4NGE0NDA0MWUzM2VhMWIwYWRlYTBjYWUwNWExNmM1Zjc4ZjU2NDg2YzQ0ZjFlZDdkYjliOTU5YWU5ODc5IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9rZXJuZWwtaW50ZWdyYXRpb24ubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjljNWE3NjEyZGQyYTUyMzdlZTY2YTBkM2QzOGVjZTM0YjEzMGFkNTBiODk5MWY0N2FlODE1NjA3NGJkMjIwNDIiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL2tlcm5lbC1pbnZlbnRvcnktc2NoZW1hLm1kIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICIyMmVkZGQzZDgxYjNjMzdkMmI0NzY2NWQ2ZmYxOTcwMTg2NTM2NDQ5Nzk5MWQ2NTA2MmUyZjljYTNlZjZlZjg1IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy93b3JrZmxvdy1kaWFncmFtLnBuZyIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiM2ZmODg2NGQ5MGE4OGRiZjg1Y2ZmMmYxNzk3ZmRiMzY2ZTExZjc2YmNjYTUwZTU0MjQwNzM2ZjdlYzM5ZDEwOCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogInNraWxsLWNhcmQubWQiCiAgICAgIH0KICAgIF0sCiAgICAic2VyaWFsaXphdGlvbiI6IHsKICAgICAgIm1ldGhvZCI6ICJmaWxlcyIsCiAgICAgICJhbGxvd19zeW1saW5rcyI6IGZhbHNlLAogICAgICAiaWdub3JlX3BhdGhzIjogWwogICAgICAgICIuZ2l0aHViIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRpZ25vcmUiLAogICAgICAgICIuZ2l0YXR0cmlidXRlcyIKICAgICAgXSwKICAgICAgImhhc2hfdHlwZSI6ICJzaGEyNTYiCiAgICB9CiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGQCMDWygNgixRS5Om5qKqmF0KeGegPpXb3Hqk6XlkrTnKM7l+9zOLmhYcyML1ncceiL9AIwVNBfYl9mWsMkkd1fNSALxLytTGTtohgh1wSZwPhZCgKwMRWJL7aX5dwl7F8E7n9R","keyid":""}]}}
14 changes: 0 additions & 14 deletions src/tilegym/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,6 @@ def _check_torch_dependencies():
) from None


def _check_ct_tune_dependency():
"""Verify that cuda-tile with tune support is installed with helpful error message."""
try:
import cuda.tile.tune # noqa: F401
except (ImportError, ModuleNotFoundError):
raise ImportError(
"\n\n[TileGym] cuda.tile.tune is required but not available.\n"
"Please install or upgrade cuda-tile:\n\n"
" pip install cuda-tile\n\n"
"See: https://github.com/NVIDIA/cutile-python"
) from None


# Check dependencies before any imports
_check_torch_dependencies()

Expand All @@ -54,7 +41,6 @@ def _check_ct_tune_dependency():

# Setup cutile integration
if is_backend_available("cutile"):
_check_ct_tune_dependency()
# Apply experimental kernel tracking patch
from .experimental import _apply_patch as _apply_experimental_patch

Expand Down
10 changes: 9 additions & 1 deletion src/tilegym/backend/selector.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,25 @@ def is_nvt_available():

try:
import cuda.tile as ct
import cuda.tile.tune # noqa: F401 # required by every op under ops/cutile/

CUTILE_AVAILABLE = True

except ImportError:
import warnings

warnings.warn("Failed to import cuda_tile_compiler, CUDA Tile backend is not available")
warnings.warn(
"Failed to import cuda.tile / cuda.tile.tune, CUDA Tile backend is not available. "
"To enable it: `pip install cuda-tile` "
"(see https://github.com/NVIDIA/cutile-python)"
)
CUTILE_AVAILABLE = False


def is_cutile_available():
if os.environ.get("TILEGYM_DISABLE_CUTILE") == "1":
print("[TileGym] TILEGYM_DISABLE_CUTILE=1; CUDA Tile backend force-disabled")
return False
return CUTILE_AVAILABLE


Expand Down
Loading
Loading