每周乱搞日记(2)
5.11
在搞大物实验和数设项目
5.12
let binding :
let %x : Tensor[(10, 10), float32] = Constant(1, (10, 10), float32);
%x + %x
let表达式绑定的变量只作用在表达式body内
5.13
在看TVM优化卷积的应用
TVM使用tensor表示计算的量
tensor的表示形式在AI的一些如CNN等数据比较规整的领域较为合理,目前在考虑能否在不规整数据类型的应用中找到研究点
比如当前考虑的ASpT应用就是一种不规整数据类型
一个结论是在搞一个项目的时候首先应该尽量从已知的文档中获取信息,或者说make the best of前人的工作
tvm.te.schedule :
s = te.create_schedule(B.op)
WW = s.cache_read(W, "shared", [B])
## cache_read(tensor, scope, readers)
## 将tensor cache到scope中,readers会读取cache的内容
5.14
vtune intel性能分析器
5.17
新学到的cuda相关东西:
shared memory以bank方式存储
为达到最大性能,一个wrap内32个线程:
访问不同bank 或 访问同一地址
同一个wrap中线程的不同执行路径需要串行执行。