You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

大型项目场景下,如何通过nsys查找特定kernel?

在NSys分析结果中查找特定Kernel的方法

命令行快速过滤

如果习惯用命令行处理,可通过NSys自带工具直接筛选:

  • 使用nsys stats实时查询:直接指定报告类型和过滤条件,无需导出完整数据
    nsys stats --report=kernel --query="Name like '%your_target_kernel%'" your_profile.qdrep
    
    其中%是通配符,可匹配任意字符,比如%conv%能找到包含卷积相关的kernel。
  • 导出后用文本工具过滤:先导出kernel统计数据到CSV,再用grep或awk筛选
    # 导出kernel信息到CSV
    nsys export --type=csv --output=kernel_data.csv --force your_profile.qdrep
    # 查找特定kernel
    grep "your_target_kernel" kernel_data.csv
    

NSys图形界面可视化查找

适合需要查看kernel上下文(比如调用栈、关联API)的场景:

  • 打开NSys UI,加载目标.qdrep文件
  • 在左侧导航栏选择Kernels视图,这里会列出所有GPU kernel的执行数据
  • 点击视图右上角的搜索框,输入目标kernel的名称或关键词,界面会实时过滤出匹配的条目
  • 可点击表头(如Duration、Start Time)排序,快速定位耗时最长或特定时间点的目标kernel

脚本批量处理(适合大规模数据)

如果需要更复杂的筛选逻辑(比如结合执行时长、启动时间),可导出数据后用脚本处理:
示例Python脚本:

import csv

target_kernel_name = "your_target_kernel"
csv_path = "kernel_data.csv"

with open(csv_path, mode='r') as file:
    reader = csv.DictReader(file)
    # 遍历所有kernel条目
    for row in reader:
        if target_kernel_name in row['Name']:
            print(f"Kernel Name: {row['Name']}")
            print(f"Duration: {row['Duration (ns)']} ns")
            print(f"Start Time: {row['Start Time (ns)']} ns")
            print(f"Launching Process: {row['Process Name']}")
            print("---")

内容的提问来源于stack exchange,提问作者rongtao zhou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:05:06