
深度学习编译
wangbowj123
炼丹中。
展开
-
基于FPGA的卷积加速
基于FPGA的卷积并行加速其实有很多方法,例如脉动阵列、加法树等操作。本篇博客将介绍一下基于加法树的并行化设计。其实总体原理也是很简单的。如下图所示,九个叶子节点是乘法器节点,分别代表九次乘法运算(卷积核是3*3的)。在得到乘法运算结果之后,将结果传送给加法节点。为了进一步增加并行性,加法树结构采用三叉树。即,对每三个子节点进行求和。最终得到一个部分和。实现方式是写一个加法器模块,再写一个...原创 2020-04-18 23:32:46 · 5380 阅读 · 8 评论 -
第一行 CUDA 代码之GPU架构理解与代码编写
CUDA 编程之软硬件结构的相关概念首先是对 CUDA 编程中可能会遇到的各种概念进行简单总结。如对 Kernel、Grid、Device、Host、Thread、Thread Block、SM 等部件进行梳理并且阐明相互之间的关系,并且牵涉到CUDA编程的基本理念与基本方法。最后写下CUDA的并行计算的简单入门代码。原创 2020-04-14 16:25:34 · 1179 阅读 · 0 评论 -
如何去设计一个深度学习加速器?
How to make your own deep learning accelerator chip!Currently, there are more than 100 companies all over the world building ASICs (Application Specific Integrated Circuit) or SOC’s (System on Chip) ...原创 2020-03-01 15:02:22 · 3726 阅读 · 0 评论 -
循环优化与多面体模型
循环通常是数据并行应用的最密集计算段,因此循环优化直接影响性能。当面对嵌套循环时,分配给线程的计算粒度将直接影响性能。循环转换如Fission(循环裂变)与Fusion(循环融合)的嵌套式循环可促使并行化,并提高工作效率。本文就几种循环优化的方法与多面体模型的调度进行简要阐述(因为LZ已经被这些循环优化搞得痛不欲生了)。Loop fusion顾名思义,该变换令循环进行了融合。如图所示,原始...原创 2019-09-22 22:01:26 · 3827 阅读 · 1 评论 -
isl使用方法
1.isl_ctx对象的创建:All manipulations of integer sets and relations occur within the context of an isl_ctx. A given isl_ctx can only be used within a single thread. All arguments of a function are require...原创 2019-10-04 10:43:51 · 5132 阅读 · 2 评论