NVDLA专题12:具体模块介绍——RUBIK

2024-08-24 04:12

本文主要是介绍NVDLA专题12:具体模块介绍——RUBIK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

RUBIK类似于BDMA,它无需任何数据计算对数据映射格式进行转换。RUBIK有3种工作模式,分别是:

  • 合并(Contract)数据立方体
  • 将特征数据立方体分割为多平面(multi-planar)格式
  • 将多平面(multi-planar)格式合并到数据立方体

由于该模块的功能是转换特征数据立方体,我们称之为RUBIK单元。

合并(contract)

软件反卷积层总是使用几个硬件层或两个阶段。第一阶段是卷积流水线产生结果,第二阶段是contract的合同模式。

正常情况下,SW反卷积层的反卷积 x stride和 y stride大于1。通过这些strides的扩展,第一阶段硬件层的输出是一个通道扩展的数据立方体。RUBIK中的contract模式转换映射格式来扩展立方体。下图显示了一个重新映射示例,其中x stride为2,y stride 为3。

输入立方体大小和输出立方体大小的公式为:

RUBIK引擎slice by sclice 地实现contract,它接受一个Wx1xC输入sclice,并将其转换为一个W'xH'xC '输出子多维数据子立方体。然后继续到下一个输入slice,它从不跨线路边界发送请求。

当执行contract时,输入/输出起始地址和行间距应与32 bytes对齐。它总是试图发送256 bytes的请求,存储效率在80%~100%之间,受起始地址的影响。如果所有地址stride和起始地址都是256 byte对齐的,则存储器效率达到100%。

contract模式的要求:

  • 通道大小应能被解卷积x stride、y stride和32 bytes整除。如下式所示:
  • 输入和输出数据立方体的每个维度,如输入数据宽度、输出数据宽度、输入通道大小,在一个contract层中不应超过8192。

拆分和合并(Split and Merge)

拆分和合并是RUBIK中两种相反的操作模式。Split将数据立方体转换为M平面格式(M-planar formats, NCHW),平面的数量等于通道尺寸。合并模式将一系列平面转换为要特征据立方体。转换如下图所示。

M平面格式类似于图像格式。它是一种pitch linear格式,包含T_R16_I、T_R8_I或T_R16_F数据。每个平面仅包含1个通道数据或单个元素,所有平面(M平面)的line stride和planar stride应与64bytes对齐。它不同于NVDLA的其他数据格式。

功耗

RUBIK单元在数据路径中应用时钟门控,当单元空闲且可编程寄存器中没有可用的硬件层时,RUBIK数据路径的时钟被选通(gated)。

这篇关于NVDLA专题12:具体模块介绍——RUBIK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101418

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL分区表的具体使用

《MySQL分区表的具体使用》MySQL分区表通过规则将数据分至不同物理存储,提升管理与查询效率,本文主要介绍了MySQL分区表的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、分区的类型1. Range partition(范围分区)2. List partition(列表分区)3. H

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Java Multimap实现类与操作的具体示例

《JavaMultimap实现类与操作的具体示例》Multimap出现在Google的Guava库中,它为Java提供了更加灵活的集合操作,:本文主要介绍JavaMultimap实现类与操作的... 目录一、Multimap 概述Multimap 主要特点:二、Multimap 实现类1. ListMult

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.