带宽的重要性
根据roofline模型,一个平台的吞吐率取决于片外存储带宽和峰值计算性能,在加速卷积层时,制约系统吞吐率的瓶颈是峰值计算性能,而对于全连接层,计算量较小,而参数却非常多,无法完全存储在FPGA的片内RAM上,因此权值需要从片外存储器(DDR)读取,此时限制吞吐率的瓶颈主要是内存带宽。下面将介绍如何增大PL访问ddr的带宽。
data_pack在本人的设计中,权重被量化为16位定点数,而AXI HP接口的位宽最大为64bit,这意味这事实上m_axi总线一次可以传输4个权重数据,吞吐率增大了4倍,在HLS中,可以用结构体和data_pack指令来实现这一目标。 下面是一个用作演示的Demo
#include"fc.h"
typedef ap_fixed data_t;
typedef struct data_in{
data_t A[4];
}din;
void fc(volatile din* in,volatile din* out){
#pragma HLS INTERFACE m_axi port=in offset=slave bundle=IN num_read_outstanding=32
#pragma HLS INTERFACE m_axi port=out offset=slave bundle=OUT num_write_outstanding=32
#pragma HLS INTERFACE s_axilite port=return bundle=CTRL
#pragma HLS data_pack variable=in
#pragma HLS data_pack variable=out
din a[100];
int i;
for(i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?