自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 TVM框架调研 — 编译与部署

TVM框架调研 — 编译与部署

2022-12-13 11:57:30 285 1

原创 TVM框架调研 — 环境搭建

TVM框架调研 — 环境搭建

2022-12-12 21:56:49 248

原创 TVM 框架调研

记录调研TVM框架的过程和结论

2022-12-12 12:01:32 540

原创 深度学习计算框架综述(十三)HVX 计算优化实践—HVX 编程基础知识

本节主要介绍HVX编程的基础知识以及示例代码,主要是五部分:Registers: 介绍常用的寄存器Program Flow: 介绍程序流中常用到的循环、跳转、调用等指令Software Stack: 介绍软件栈的结构,以及SP、FP、LR等寄存器的正确使用方法Scalar/Vector Instructions: 介绍常用的标量和向量指令Sample Code: 结合前三部分的内容实现的示例代码...

2021-01-19 11:22:26 3371

原创 深度学习计算框架综述(十三)HVX 计算优化实践—Concat 优化

主要有三种维度的Concat,Height、Width、Channel,如果是浮点计算,只需要进行数据拷贝即可,但是基于Quantization Aware Training的定点计算,需要判断输入和输出的量化信息是否匹配:如果一致,则可以直接拷贝;如果不一致,则需要转换量化信息中的scale和bias值,由于Feature Map的数据范围是限定的,即0-255,所以可以在init函数中将0-255对应的转换值提前计算好,这一步骤的代码如下(same_as_output_array_是一个数组,.

2021-01-09 17:38:12 934 3

原创 深度学习计算框架综述(十三)HVX 计算优化实践—DSP 开发调试

Overview FARF printf Runtime FARF Introduction Enabling runtime FARF via config file Config file name Contents of the config file Enabling at process start-up Enabling runtime FARF programmatically Obtaining PID and ASID of FastRPC pro

2021-01-09 14:30:25 1374

原创 深度学习计算框架综述(十三)HVX 计算优化实践—Unsigned PD 介绍

如果设备已经开启了Secure Boot,可以通过Unsigned PD的方式开发Hexagon DSP的应用:Unsigned PD is a sandboxed low-rights process that allows the signature-free modules to run on the cDSP只需要三行代码,就可以帮助开发者确定设备是否支持Unsigned PD:UNSIGNED_PD_SUPPORT Description: Check if DSP sup

2021-01-09 14:27:00 1651 4

原创 深度学习计算框架综述(十三)HVX 计算优化实践—VCAP Hexagon 计算框架介绍

架构简介:VCAP Hexagon DSP计算框架是一个针对高通DSP的高性能计算框架,框架可以简化为三层结构:模型层:负责模型转换,提供了vaim2bin转换工具,通过vaim2bin将vaim模型转换成DSP param/bin模型,并计算内存复用的策略框架层:负责模型解析、dspCV的初始化、内存复用策略的执行、OP的计算策略计算层:负责计算策略的执行,使用HVX汇编对常见的OP进行了深度优化针对这三层,此处再展开描述一下:模型层也可以采用其他的模型格式,...

2021-01-09 14:25:34 1799 6

原创 深度学习计算框架综述(十三)HVX 计算优化实践—HVX汇编技巧与经验

本节主要介绍HVX汇编优化常用的工具,以及我在工作中积累的经验。

2020-07-11 14:47:00 1666 1

原创 深度学习计算框架综述(十三)HVX 计算优化实践—Depthwise Conv 优化

本节主要介绍DepthwiseConvHVX的实现。

2020-07-11 14:44:46 1348

原创 深度学习计算框架综述(十三)HVX 计算优化实践—Conv 优化

本节主要介绍Conv的HVX实现。

2020-07-11 14:43:40 2820 9

原创 深度学习计算框架综述(十三)HVX 计算优化实践—访存优化原理

处理器运行速度比存储器的访问速度快很多,以HexagonDSP为例(下面数据来源于参考资料): DDR memory access: ~250 ns L2 read latency: 6 thread cycles通常来说,访存优化的收益比计算优化的收益要高。对于DSP而言,访存优化的核心问题,就是如何高效利用以下概念:Intermediate Buffer L1 Cache L2 Cache VTCMIntermediate Buffer是一块临时内存,用于存储少量的数..

2020-07-11 14:40:28 2902

原创 深度学习计算框架综述(十三)HVX 计算优化实践—D32 Format浅析

运用Hexagon DSP做深度学习计算,D32 Format 是我们要熟练掌握的基础知识,下图是Hexagon NN中采用的D32 Format(和VCAP采用的存在一些差异,请看文末)。D32 Format是指Feature Map的排布,D32则是指Feature Map的Channel 32对齐,假设Feature Map的维度是[1,24,120,120](NCHW),那么就需要把24补齐到32,即实际分配的Feature Map为[1,32,120,120],另外,对于Width,我们.

2020-07-11 14:31:50 1022

原创 深度学习计算框架综述(十三)HVX 计算优化实践—Hexagon DSP简介

本节,我们主要介绍一下HexagonDSP的架构:

2020-07-11 14:30:46 3204 7

原创 深度学习计算框架综述 开篇

先简单的自我介绍一下,笔者17年本科毕业于西安交大,在vivo工作近三年,一直从事深度学习计算框架开发、端侧部署相关的工作,17年左右开始接触Tensorflow、SNPE,到后来研究NCNN、MACE、TFLite、MNN等,一路见证了计算框架的发展。目前我们团队在开发vivo自研计算框架VCAP(一年半了),同时也支持了超过20个算法的端侧部署,在工作之余,希望能把自己工作中积累的经验和大...

2020-02-23 01:25:00 1554 1

原创 深度学习计算框架综述(十五)TEE 开发实践

本章会结合笔者的开发经历,介绍在TEE环境中开发时,会遇到哪些问题,以及应对措施。

2020-02-23 00:04:03 632

原创 深度学习计算框架综述(十四)终端训练框架设计

本章主要介绍,如何设计一个在端侧运行的训练框架。

2020-02-21 21:56:10 461

原创 深度学习计算框架综述(十三)HVX 计算优化实践

本章主要介绍,如何用Hexagon DSP的HVX来优化Conv、Pooling等算子。

2020-02-21 21:45:00 2073 1

原创 深度学习计算框架综述(十二)量化原理分析及量化工具设计

本章主要介绍,深度学习中常用的量化算法的原理,以及如何设计一个通用的量化工具。

2020-02-21 21:40:57 946 4

原创 随笔

笔者在大三暑假,利用假期的时间翻译了一本心理学著作,Adult Children of Emotionally Immature Parents: How to Heal from Distant, Rejecting, or Self-Involved Parents,书名的中文译名是《不成熟的父母》,那两个月,每天要翻译四个小时,翻译完后,稿子又改了很多版,生怕有错别字之类的,感觉被掏空了,等...

2020-02-21 01:49:47 259

原创 深度学习计算框架综述(十一)OpenGL ES 计算优化实践

本章会结合OpenGLES优化代码,分析Conv、Pooling等算子的优化思想。

2020-02-20 23:35:14 462 2

原创 深度学习计算框架综述(十)OpenCL 计算优化实践

本章会结合OpenCL优化代码,分析Conv、Pooling等算子的优化思想。

2020-02-20 23:34:00 677 1

原创 深度学习计算框架综述(九)CPU 计算优化实践

本章会结合CPU优化代码,分析Conv、Pooling等算子的优化思想。

2020-02-20 23:32:31 577

原创 深度学习计算框架综述(八)并行计算优化思想

本章主要介绍,不同处理器,CPU、GPU、DSP如何做并行计算加速,这要求我们掌握不同处理器的硬件特性,如寄存器的尺寸和个数、Cache的大小,还有指令支持,这些都是计算优化中很重要的影响因素,同时需要学习Neon、OpenCL、OpenGL、HVX编程,此外,对于DSP,我们还需要掌握量化算法。下面我们就按照CPU、GPU、DSP的顺序来介绍优化思想。...

2020-02-20 23:29:42 1012

原创 深度学习计算框架综述(六)内存复用算法设计

本章主要介绍,内存复用的算法如何设计。typedef struct mem_block { int block_id; int mem_size; std::vector<int> layer_ids; bool used = false;} MemBlock;

2020-02-20 23:20:00 2203 1

原创 深度学习计算框架综述(七)架构设计

本章主要介绍,笔者在开发深度学习计算框架的时候,在架构上的一些思考,不同的业务场景,适合的架构也会有所不同,我们在开发一个框架的时候,一定要把大部分需求考虑到,同时也需要确保架构具备较好的可扩展性,举个例子:权值共享,倘若在架构设计之初,完全没想到会有ALBERT这样权值共享的端侧模型的出现,也没有设计好可扩展的API,那么你设计的框架可能需要大改才能支持ALBERT这类的模型;再比如,CPU F...

2020-02-20 23:14:19 483

原创 深度学习计算框架综述(五)模型可视化工具设计

本章主要介绍,如何基于Netron开发模型可视化工具,以下是VCAP模型可视化工具的效果图。

2020-02-20 22:38:04 379

原创 深度学习计算框架综述(四)模型Converter设计

本章主要介绍,Converter的设计思想以及如何将Tensorflow、Caffe等深度学习模型转换为自定义模型。

2020-02-20 22:30:23 444 1

原创 深度学习计算框架综述(三)模型格式设计

本章

2020-02-20 02:37:06 1147

原创 深度学习计算框架综述(二)计算框架的组成与设计要点

本章

2020-02-20 02:35:52 1444 1

原创 深度学习计算框架综述(一)行业内计算框架总览

我们先来看一下行业内主流的深度学习计算框架,大致可以分为三类:1.

2020-02-20 02:35:34 1834

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除