Skip to main content

sass-diff

Use when asked to check for SASS (or PTX) changes between commits, branches, or a local changeset; guides normalization, comparison, and reporting of CUDA disassembly diffs.

소스 정보

저장소
NVIDIA/cccl
최근 소스 활동
2026년 7월 15일 12:07
감지된 SKILL.md 언어
영어
스타
2,571
포크
551

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
sass-diff
description
Use when asked to check for SASS (or PTX) changes between commits, branches, or a local changeset; guides normalization, comparison, and reporting of CUDA disassembly diffs.
# SASS Diffs Use this when asked to check for SASS changes between commits, branches or a local changeset. ## Goal Detect relevant changes in generated CUDA machine code (i.e. SASS) while filtering noise from addresses, symbols, metadata, etc. Any non-trivial change must be detected. ## Inputs to establish * Compilation target under test * The CUDA SM architectures to compile for. Try to detect this from the code and offer the user a list of suggestions. The user must confirm or provide this list. * Baseline source (e.g. the previous commit/branch or the current commit without the changes in the working copy). * Comparison source (e.g. the current commit/branch or the current commit with the changes in the working copy). * Whether a SASS (default) or PTX diff is requested. ## Disassembly listing generation * Compile both, the baseline and comparison source, with the same compiler flags and options. When not specified otherwise, lookup the options from `compile_commands.json` or the current build system (i.e. CMake files). Make sure the CUDA SM architectures (`CMAKE_CUDA_ARCHITECTURES`) are set to the user-provided or approved list. * Dump the disassembly from the binaries produced in the previous set using `cuobjdump -sass` or `cuobjdump -ptx`. ## Comparison rules (what matters) Ignore as trivial: * Register renaming with identical instruction sequence and operands. * Pure label renumbering or reordering of identical basic blocks. * Formatting-only differences or reordered symbol tables. * Changes to symbol names (global function names) ## Reporting * If any non-trivial change was detected, report the top 5 regions where a non-trivial change was detected, including the name of the kernel they appeared in. * Provide a short summary of the diff type, including opcode changes, memory access size/cache policy changes, control-flow changes, register-count changes, spills/local memory, shared memory, and occupancy-relevant resource deltas. * Explicitly state if only noise was detected. * If you are not sure if the differences are impactful, show it and ask the user for guidance. * Keep the disassembly dumps available and tell the user where they can find them.
GitHub에서 보기