首页 > 其他分享 >extract_triton_kernels.py

extract_triton_kernels.py

时间:2023-12-15 10:12:41浏览次数:25  
标签:triton kernels self py info time gpu line

import sys

filename = sys.argv[1]
with open(filename, 'r') as f:
    lines = f.readlines()

def extract_info(line):
    line = line.split()
    name = line[0].strip()
    self_gpu_time = line[6].strip()
    num_of_calls = int(line[10].strip())
    if self_gpu_time.endswith('ms'):
        self_gpu_time = float(self_gpu_time.replace('ms', ''))
    elif self_gpu_time.endswith('us'):
        self_gpu_time = float(self_gpu_time.replace('us', '')) / 1000.0
    elif self_gpu_time.endswith('s'):
        self_gpu_time = float(self_gpu_time.replace('s', '')) * 1000.0
    print(f'{name}, {self_gpu_time}, {num_of_calls}')
    return [name, self_gpu_time, num_of_calls]

total_timems = 0
triton_kernel_info = []
aten_kernel_info = []
for line in lines:
    line = line.strip().replace('XPU Triton kernel:', '')
    if 'triton_' in line:
        triton_kernel_info.append(extract_info(line))
    elif 'aten::' in line:
        aten_kernel_info.append(extract_info(line))

from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
sheet.title = 'gpu_triton'
sheet.append(['opname', 'self_gpu_timems', 'calls'])
for item in triton_kernel_info:
    sheet.append(item)

sheet2 = workbook.create_sheet(title='gpu_aten')
sheet2.append(['opname', 'self_gpu_timems', 'calls'])
for item in aten_kernel_info:
    sheet2.append(item)

workbook.save(f'{filename}.xlsx')

标签:triton,kernels,self,py,info,time,gpu,line
From: https://www.cnblogs.com/xytpai/p/17902750.html

相关文章

  • python heapq 模块
    堆的概念堆是用数组表示的二叉树,分为大根堆和小根堆:大根堆是堆顶元素最大的堆,小根堆是堆顶元素最小的堆 堆的建立堆用列表来表示。在往堆中加入元素时,在列表最后加入一个元素并与其父节点比较(n/2位置)看是否需要进行交换,然后层层比较直到根节点pythonheapq#建立小根堆......
  • python: json
     fromtypingimportListimportjsonclassStudent(object):def__init__(self,first_name:str,last_name:str):self.first_name=first_nameself.last_name=last_name@propertydefFirstNmae(self):returnself.f......
  • Python从入门到实践project飞船射击外星人3
    完善记分系统1确保难度升级分值跟着升级2将分值显示为10的整数倍3显示最高分4显示等级5显示剩余飞船数确保难度升级分值跟着升级self.alien_points=int(self.alien_points*self.score_scale)print(self.alien_points)print确保分值变化,确保后删除将分值显示为10的整数倍......
  • python虚拟环境(windows)
    venv虚拟环境,是Python用来创建和管理虚拟环境的模块,该模块供你用来存放你的各种python第三方模块,模块里的环境和本机是完全分开的,也就是说你在venv下通过pip安装的python第三方模块是不会影响到你本机的环境的。具体操作如下:1.先安装virtualenvpipinstallvirtualenv 2.进......
  • Python——了解Html+Css语言代码
    HTML(HyperTextMarkupLanguage超文本标记语言)用特殊的一种标签把需要特殊展示出来的内容圈起来。这就是标记语言语法规则<标记>被标记的内容</标记><标记/>巨大的坑。在以前2000年左右。那个时候语法规则不够规范。有些人写HTML的时候习惯性的漏掉括回文本:文字,字符串,符号。超......
  • 【python基础】颜色列表和颜色字典以及python画图
    前言 使用:list_keys=[iforiincnames.keys()]list_values=[iforiincnames.values()] 颜色列表示例:colormap=['#7A57D1','#FF731D','#004d61','#bc8420','#CF0A0A','#83FFE6','#0000A1',&#......
  • Python项目之ATM1.0多模块函数
    ATM1.0多模块【作业】#ATM:提款姬#===================用户功能菜单=====================#1.注册#2.登陆#3.取款#4.转账#5.充值余额#6.查看流......
  • ubuntu 创建一个与系统 python 分离的 python 环境
    为什么需要这样的python环境以免破坏系统python避免和其他用户共用python让python环境私有如何创建这样的环境下载python安装包aptdownloadpython3.8-minimal如果系统提示没有对应的版本,可以试试将3.8修改为其他版本。如果有更好的方法,欢迎留言。下载完成......
  • 12.15----python类
    classUser:def__init__(self,first_name,last_name):"""初始化姓和名"""self.f_name=first_nameself.l_name=last_namedefdescribe_user(self):"""返回整洁的描述性姓名"&q......
  • pytorch减少显存方式
     引导1.显存都用在哪儿了?2.技巧1:使用就地操作3.技巧2:避免中间变量4.技巧3:优化网络模型5.技巧4:减小BATCH_SIZE6.技巧5:拆分BATCH7.技巧6:降低PATCH_SIZE8.技巧7:优化损失求和9.技巧8:调整训练精度10.技巧9:分割训练过程11.技巧10:清理内存垃圾12.......