03 2023 档案

摘要:TVM图级优化按照优化范围,可分为局部优化和全局优化 局部优化是TVM图级优化的重点,其中算子融合是AI编译器必不可少的优化方法。 算子融合核心思想就是将多个算子合并成一个内核,因而无需将中间结果写回全局内存,减少了中间变量的分配,也减少了片上缓存和片外存储之间的数据传输。 那算子融合也是有条件的, 阅读全文
posted @ 2023-03-27 00:13 牛犁heart 阅读(312) 评论(0) 推荐(0) 编辑
摘要:虽然之前也依据tvm官方文档写过一篇关于TVM架构的博客,但总感觉属于一种身在此山中的感觉(偏向于TVM实现的各个模块),并没有一览众山小的即视感(对框架的整体理解)。 因此,今天再次请求出战... 华丽的分割线 首先呢,想先来介绍下常规编译器的结构和特征 常规的编译器通常是由前端(frontend 阅读全文
posted @ 2023-03-12 17:00 牛犁heart 阅读(1356) 评论(0) 推荐(0) 编辑
摘要:这是一篇科普文--关于thread_local关键字 首先,C++11之前并没有对并发进行任何的支持,C++11首次提供了以下的支持: 语言核心定义了一个内存模型,保证当更改"被两个不同线程使用"的两个object时,他们彼此独立,而引用thread_local关键字 标准库支持启动多线程,包括传递 阅读全文
posted @ 2023-03-07 23:39 牛犁heart 阅读(328) 评论(0) 推荐(0) 编辑
摘要:好吧,承认是自己浅薄了 当被问起C++重载时,嘴角不自觉的微微上扬,然后脱口而出,C++重载的原则: 函数名相同,函数参数列表不同(类型、个数、顺序) 匹配原则1:严格匹配,找到再调用 匹配原则2:通过隐式类型转换寻求一个匹配,找到则调用 注:返回类型不构成重载条件 C++编译时多态也是由重载函数来 阅读全文
posted @ 2023-03-05 13:32 牛犁heart 阅读(405) 评论(0) 推荐(1) 编辑
摘要:批量归一化(BN)如何实现?作用 实现过程: 计算训练阶段mini_batch数量激活函数前结果的均值和方差,然后对其进行归一化,最后对其进行放缩和平移。 作用: 可以使用更高的学习率进行优化 移除或使用较低的dropout 降低L2权重衰减系数 调整数据的分布,不考虑激活函数,它让没一层的输出归一 阅读全文
posted @ 2023-03-04 20:47 牛犁heart 阅读(64) 评论(0) 推荐(0) 编辑