Skip to main content
Glama

disasm

Disassemble GPU kernels to inspect generated SASS or PTX from cubin, PTX, SO, and EXE files, or locate the latest Triton cache kernel by name.

Instructions

Disassemble a kernel. target is a .cubin/.ptx/.so/.exe path, or 'triton-cache' to search ~/.triton/cache (and TRITON_CACHE_DIR) for the most recent kernel whose name contains kernel. level: 'sass' (via cuobjdump -sass) or 'ptx' (cuobjdump -ptx / the .ptx file). A real kernel is 500-3000 SASS lines; max_lines<=0 returns all of them.

Input Schema

NameRequiredDescriptionDefault
levelNosass
kernelNo
targetYes
max_linesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description does real work: it discloses the underlying implementations (cuobjdump -sass vs cuobjdump -ptx or the raw .ptx file), the magic 'triton-cache' lookup that searches ~/.triton/cache and TRITON_CACHE_DIR for the most recent name-matching kernel, and the size/truncation behavior (500-3000 SASS lines typical; max_lines<=0 returns everything). Gaps remain around failure behavior when no kernel matches or the tool is missing, and there is no statement of the return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences, front-loaded with the core action and then walking parameters in schema order; nothing is padding. It reads a bit run-on and the backtick/code-marker mixing makes it slightly harder to scan than separate per-parameter lines would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter tool with no annotations and no output schema, the description covers inputs thoroughly and sets output-size expectations, which is the main thing an agent needs to avoid blowing context. It stops short of describing the actual response structure (raw text vs path, truncation notice), which matters since no output schema exists to fill that in.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it largely does: target's accepted values and the 'triton-cache' sentinel are spelled out, level's two values are mapped to concrete commands, kernel is explained as a name-substring filter, and max_lines gains meaning via the <=0 convention. What is left implicit is whether `kernel` has any effect for non-'triton-cache' targets and why the default cap is 1500.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Disassemble a kernel') and immediately clarifies that 'kernel' means GPU kernel code, not an OS kernel, by enumerating the artifact types accepted (.cubin/.ptx/.so/.exe). This is clearly distinguishable from siblings like profile, bench, or top_kernels, which do not produce code listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied through the accepted target formats and the 'triton-cache' shortcut, which tells an agent when this tool is the right one to reach for. However, there is no explicit when-to-use/when-not-to-use statement, no mention of alternatives (e.g., use top_kernels first to find a kernel name), and no prerequisites such as needing cuobjdump on PATH or a compiled artifact already on disk.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.