人工智能
文章平均质量分 82
爱上一只柠檬的pig_head
目前专注于深度学习框架的性能优化,主要针对CPU backend进行优化,熟悉模型量化,算子优化,分布式深度学习训练等领域。
展开
-
程序性能优化知识框架
1.计算机基础知识1.1 缓存 1)What is a “cache-friendly” code? https://stackoverflow.com/questions/16699247/what-is-a-cache-friendly-code/16699282#16699282 2)计算机缓存Cache以及Cache L...原创 2020-02-21 14:04:58 · 902 阅读 · 0 评论 -
liangan1@github
## issue && PR https://github.com/pytorch/FBGEMM/issues/125https://github.com/pytorch/pytorch/pull/30153## My toolhttps://github.com/liangan1/FBGEMM/tree/prv-dequantizeAVX2https://github.com/liangan1/pytorch_imperative_quantization_tool..原创 2020-11-19 10:22:04 · 131 阅读 · 0 评论 -
内存优化系列文章(1)AI性能加速1.3x倍就靠一个环境变量!
内存优化系列文章(1)AI性能加速1.3x倍就靠一个环境变量!虚拟内存、物理内存、内存分配、内存泄漏、TLB 不命中、缺页异常这些看似熟悉的计算名词却似懂非懂,没关系!本系列文章通过理论和实战带你一网打尽!自从工作中接触到深度学习内存优化知识以来,白丁决定重新系统研究一下计算机背后的内存故事。通读本文你将获得以下干货知识:为什么内存优化可以大幅度提升深度学习算法的性能?如何通过工具定量分析内存优化带来的性能好处?操作系统为什么采用虚拟内存管理而不直接使用物理内存?虚拟内存的核心思想是什么?虚拟内存管原创 2020-10-22 12:21:34 · 334 阅读 · 0 评论 -
深度学习工程化(1)多维图片在内存的高效存储和访问
大多数计算都是关于数据的:分析数据,调整数据,读取和存储数据,生成数据等。深度学习框架也不例外。图像,权重/过滤器,声音和文本需要有效地表示在计算机内存中,以便于以最便捷的方式快速执行操作。对计算机内存了解的同学应该知道,应用程序看到的内存是线性存储空间(即1D),而图片等数据是多维数据,如何建立多维逻辑表示和线性物理排布的映射关系并高效访问指定的指定的元素?本文致力于数据格式-一种数据表示形式,它描述了多维数组(nD)如何存储在线性(1D)内存地址空间中以及为什么这对深度学习算法非常重要。.原创 2020-10-22 12:53:43 · 658 阅读 · 0 评论 -
深度学习模型量化(低精度推理)大总结
模型量化作为一种能够有效减少模型大小,加速深度学习推理的优化技术,已经得到了学术界和工业界的广泛研究和应用。模型量化有 8/4/2/1 bit等,本文主要讨论目前相对比较成熟的 8-bit 低精度推理。 通过这篇文章你可以学习到以下内容:1)量化算法介绍及其特点分析,让你知其然并知其所以然; 2)Pytorch 量化实战,让你不再纸上谈兵;3)模型精度及性能的调优经验分享,让你面对问题不再束手无策...原创 2020-03-04 20:54:12 · 42014 阅读 · 15 评论 -
int8 矩阵乘法
C=A×BC=A\times BC=A×BA 矩阵采用 per tensor 量化, B 矩阵采用 per_channel 量化Aiint8=Aifp32scaleA+zeroAA_i^{int8} = \frac{A_i^{fp32}}{scale_{A}} + zero_AAiint8=scaleAAifp32+zeroABiint8=Bifp32scaleBcolj+zero...原创 2019-09-24 21:23:05 · 1506 阅读 · 0 评论 -
Linux下安装 llvm 和 clang
1. 下载git clone https://github.com/llvm/llvm-project.gitgit checkout llvmorg-7.0.1 ( llvm8.0.1 later 需要 GCC5.1 above)2. 编译cd llvm-projectcp -r clang llvm/tools/Cd llvm Mkdir buildCd build c...原创 2019-06-21 10:16:13 · 11000 阅读 · 2 评论 -
离散傅里叶变换(DFT)(二)
1. 各种频率之间的关系模拟频率:f=1/T,其中 T 是变化周期,单位是秒 s,f 是模拟频率,单位是 HZ/s, 因此, f 的物理含义是信号在 1 秒钟内含有变化周期的个数。模拟角频率:y=sin(Ωt) 其中 Ω 表示的是模拟角频率,Ω=2π/T 单位是 rad/s ,其表示信号在在 2π 时间内变化周期的个数。假如另 t=1s 那么 Ωt 则表示在 1 秒钟绕圆圈运动的...原创 2018-08-18 16:58:52 · 7543 阅读 · 1 评论 -
离散傅里叶变换(DFT)(一)
离散傅里叶变换(DFT)傅里叶变换的优点就是能够将信号从时序空间转换到频域,从频率的角度去分析信号,能够容易发现一些时域内不容易发现的频率。这句话在N多博客里都有类似的描述。那么为什么呢?怎么转换到的频域?1. 欧拉公式欧拉公式被誉为“宇宙第一公式”,在傅里叶级数、泰勒级数、三角函数等都存在它的身影,欧拉公式的具体形式如公式 (1.1) 所示。当x为π的时候,欧拉公式将产生欧拉恒等式公...原创 2018-08-11 11:17:40 · 44589 阅读 · 4 评论