简介
该工具主要是为了进行能够对Halide使用了trace之后,打印出来的计算信息进行动态图可视化,如此可以更好地理解Halide的调度过程
代码实现
下面部分显示了所有的代码实现
import cv2
import numpy as np
import imageio
# 显示Halide计算过程的图像可视化
def readtxt(filename:str):
f = open(filename)
line = f.readline()
allline = []
while line:
allline.append(line)
line = f.readline()
f.close()
return allline
# 分析文本,返回画图信息
def txt2struct(allline:list):
#分割
info = []
for line in allline:
if '(' in line and ')' in line:
a = line.split('(')
name = a[0].split(' ')[-1]
if ')' in a[-1]:
b = a[-1].split(')')[0].split(',')
point = [int(i.strip()) for i in b]
# 添加进入info
info.append({
'name':name, 'point':point})
return info
'''
{
maxtrix:[{name:str,size:[],begin:[]},]
timeline:
[{name:str,point:[,]},]
}
'''
def info2max(info:list):
allinfo = {
}
allmaxtrix = []
all_name = []
for i in info:
if i['name'] not in all_name:
all_name.append(i['name'])
for i in all_name:
maxtrix = {
}
maxtrix['name'] = i
maxtrix['size'] = [0,0]
maxtrix['begin'] = [0,0]
allp = []
for j in info:
if j['name'] == i:
allp.append(j['point'])
maxtrix['size'] = [max

该博客介绍了如何使用Python代码实现Halide调度过程的可视化,通过读取Halide的trace信息,将计算步骤转化为动态图,帮助开发者更好地理解Halide的调度。首先,从文本文件中读取信息,然后解析成结构数据,接着根据数据生成矩阵并绘制动态点,最后将动态点序列保存为GIF动画,展示Halide的计算流程。
最低0.47元/天 解锁文章
2878

被折叠的 条评论
为什么被折叠?



