NVDLA compiler
NVDLA简介
nvdia深度学习加速器(NVDLA)是一种免费开放式架构,具有可扩展性,高度可配置性,旨在简化集成和可移植性。NVDLA软件生态系统包括一个设备上的软件堆栈(开源版本的一部分),一个完整的培训基础架构,用于构建包含深度学习的新模型,以及将现有模型转换为可在设备上使用的形式的解析器软件。可以提供其自己的硬件平台以及软件内核:
NVDLA可以加速神经网络推理工作,可分两步完成
- 针对DLA硬件优化训练有素的神经网络,并将图形转换为DLA HW指令。转换后的图形将保存到称为可加载的平面缓冲区文件中。使用NVDLA编译器可以实现此目的,并且可以在主机系统上脱机执行。
- 使用步骤1中的可加载程序在DLA上运行推理作业。这是使用NVDLA运行时实现的,并在目标系统上执行
NVDLA Compiler
NVDLA编译器用于为DLA HW体系结构优化神经网络,并创建HW指令列表以在DLA上运行推理。NVDLA编译器可以从源代码构建,也可以直接使用预编译的二进制文件
root@6b9d78f7dd:# ./nvdla_compiler -h
Usage: ./nvdla_compiler [-options] --prototxt <prototxt_file> --caffemodel <caffemodel_file>
where options include:
-h print this help message
-o <outputpath> outputs wisdom files in 'outputpath' directory
--profile <basic|default|performance|fast-math> computation profile (default: fast-math)
--cprecision <fp16|int8> compute precision (default: fp16)
--configtarget <opendla-full|opendla-large|opendla-small> target platform (default: nv_full)
--calibtable <int8 calib file> calibration table for INT8 networks (default: 0.00787)
--quantizationMode <per-kernel|per-filter> quantization mode for INT8 (default: per-kernel)
--batch batch size (default: 1)
--informat <ncxhwx|nchw|nhwc> input data format (default: nhwc)
转换example(以resnet50 nv_full int8 为例)
./nvdla_compiler --prototxt ResNet-50-deploy.prototxt --caffemodel ResNet-50-model.caffemodel -o . --profile fast-math --cprecision int8 --configtarget nv_full --calibtable resnet50.json --quantizationMode per-filter --batch 1 --informat nhwc
输出
一旦编译成功,它将在使用-o参数指定的输出目录中生成.nvdla文件。例如,在上述情况下,它将在curren目录中生成fast-math.nvdla
如果需要自行编译nvdla_compiler
cd umd export TOP={sw-repo-root}/umd make compilerNote : 使用sdk中默认的libprotobuf.a可能链接会报错,这个需要根据自己的环境重新编译一下protobuf,命令如下 ./configure --enable-shared make make check sudo make install
NVDLA compiler相关推荐
- NVDLA VP使用指南
本文用流水账的形式记录如何使用nvdla的virtual platform编译生成NVDLA硬件可识别代码并且在QEMU中模拟运行.NVDLA硬件为full模式,并没有对硬件做任何的配置. 使用Doc ...
- Python3:ImportError: No module named 'compiler.ast'
from compiler.ast import flatten 上面这条语句好像在python3 以后就废除了,如果使用的话就会报错. Traceback (most recent call las ...
- 深度学习编译器综述The Deep Learning Compiler
深度学习编译器综述The Deep Learning Compiler The Deep Learning Compiler: A Comprehensive Survey 参考文献: https:/ ...
- JIT Compiler编译器及指令集
JIT Compiler编译器及指令集 LLVM一些编程语法语义特性 High Level Structure Module Structure LLVM 程序由Module's组成,每个 's 是输 ...
- 全文翻译(全文合集):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
全文翻译(全文合集):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 摘要 人们越来越需要将机器学习应用到各种各样 ...
- 全文翻译(四) TVM An Automated End-to-End Optimizing Compiler
全文翻译(四) TVM An Automated End-to-End Optimizing Compiler 6.3 嵌入式GPU评估 对于移动GPU实验,在配备ARM Mali-T860MP4 G ...
- 全文翻译(三) TVM An Automated End-to-End Optimizing Compiler
全文翻译(三) TVM An Automated End-to-End Optimizing Compiler 5. 自动化优化 考虑到一组丰富的调度原语,剩下的问题是为DL模型的每一层,找到最佳的算 ...
- 全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
全文翻译(二): TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 3.优化计算图 计算图是在DL框架中表示程序的常 ...
- 全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning 摘要 人们越来越需要将机器学习应用到各种各样的硬件 ...
最新文章
- Ckeditor通过Ajax更新数据
- GitHub 新手详细教程转载,亲测可用
- H.264码流解析 一个SPS的nalu及获取视频的分辨率
- 开发辅助 | 阿里图标库iconfont入门使用
- get post put delete
- Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十四】
- 教你炒股票19:学习缠中说禅技术分析理论的关键
- 北京计算机应用基础考试时间,07年北京市自学考试计算机应用基础课周末开考...
- vue.config.js跨域配置
- C++ 创建 TcpClient 客户端,使用QAbstractSocket 、 QtNetwork
- SAP固定资产的几个日期
- 使用VNC远程登录百度智能云服务器
- Joint Discriminative and Generative Learning for Person Re-identification论文翻译
- 不需要数据库的php迷你博客程序,GitHub - Smilefish0/miniblog: 一个不需要数据库、轻量级、微型、开源的博客程序!...
- 如何快速知道哪些中文期刊是中文核心期刊
- 【JZOJ4587】Snow的追寻 题解
- 团队管理31-典型场景(向上沟通)
- matlab画六面体,MATLAB绘制平行六面体
- 【备忘录】浏览器不能上网但是微信能收到消息的一个解决办法
- 高通平台wifi命令操作