Vitis HLS 学习笔记--Vitis Accelerated Libraries介绍

1. 简介

Vitis Accelerated Libraries,包含很多现成的库,这些库都是开源的,也就是说代码是公开的,而且已经优化过,可以让程序运行得更快。你不需要改变太多你的代码,就能让你的程序速度提升。

这些库有很多种,比如用于解算数学问题的、做基础数学运算的、处理稀疏矩阵的、数字信号处理的,还有一些其他的工具。这些都是很基础的功能,但是可以用在很多不同的程序上。

还有一些特别的库,它们是为了特定的领域设计的,比如处理图像、金融计算、高性能计算、图形处理、数据库管理、数据分析、数据压缩等等。这些库可以让这些特定领域的程序直接加速。

Vitis的库中还包括了一些特别为Versal™设备中的AI引擎优化过的功能,比如数字信号处理、矩阵运算等等。这意味着这些功能在Versal设备上会运行得特别快。

2. 库的组织结构 

2.1 结构级别L1/L2/L3

Vitis 库分为 L1、L2 和 L3 文件夹,每个文件夹与应用程序开发的不同阶段相关:

L1 Primitives

主要包含基本的原始函数(primitives),这些函数可以单独仿真,并且可以用于Vitis HLS生成Verilog HDL和IP。这些函数是底层的,通常用于硬件开发者。

L1 中的 Makefile 和源代码有助于基于 HLS 的流程进行快速检查:

  • 检查单个内核的功能(C simulation)
  • 估计资源使用情况、延迟等(Synthesis)
  • 运行周期精确模拟(Co-simulation)
  • 打包为 IP 并获取最终资源利用率/时序详细信息(Export RTL)

特点:

  • 主要提供给精通硬件的开发者,想要了解底层实现逻辑并进行性能优化
  • 包含有流接口
  • 通常为单个计算模块实现
  • 不能被主机代码直接调用

L2 Kernels

由将L1库中的原始函数与数据移动器(data movers)集成而成,这些集成函数可以被主代码调用,使用XRT运行时库。L2库的功能是基于L1库的功能进行扩展和优化。

L2 中的 Makefile 和源代码用于从内核的各种源代码(HDL、HLS 或 XO 文件)构建 XCLBIN 文件,并使用针对设备的 OpenCL/XRT 框架编写的主机代码:

  • 主要提供给了解XRT API的主机代码开发者
  • 始终具有内存(DDR/HBM)接口
  • 由 L1 原语函数与一些数据移动器模块链接而成
  • 主机可调用

L3 Software APIs

提供C、C++和Python等编程语言的接口,允许纯软件开发者将图算法操作(如BLAS)转移到AMD平台上,而无需额外的硬件配置。L3库是最高级别的,它为软件开发者提供了一个更高层次的接口。

  • 主要为纯软件工程师提供
  • 功能参数与硬件无关
  • 通常用于部署
  • 主机可调用

2.2 文件内容

L1 子目录:

  • include/hw:原始函数的头文件
  • tests/hw:顶级模块,包括数据移动器和原始函数
  • test/sw:调用原始函数的测试平台和基础设施支持

L2 子目录:

  • include/hw:内核函数的头文件
  • include/sw:调用内​​核函数的主机模块
  • test/hw:包含用于构建每个已实现的内核函数的 Makefile

L3 子目录:

  • include/sw:软件API函数的头文件
  • test/sw:包含用于测试每个已实现的软件API函数的Makefile

3. 分类介绍

3.1 blas

Basic Linear Algebra Subroutines,基本线性代数子程序,包含一些矩阵和向量运算函数。

矩阵运算函数:

  • 一般矩阵乘法

向量运算函数:

搜索向量元素位置

3.2 codec

编解码库,用于加速图像编码、解码和相关处理算法。

3.3 data_analytics

数据挖掘:分类、聚类、回归。

文本处理:非结构化信息的提取和转换。

地理空间:空间分析和空间数据挖掘。

3.4 data_compression

硬件加速压缩算法。

3.5 data_mover

在PL和DDR之间高效率传输数据。

3.6 database

SQL引擎开发,使用FPGA卡来加速查询执行。

3.7 dsp

DDS、FFT、FIRs、矩阵乘法(GeMM)和Widgets。

3.8 graph

图形库,包括相似性分析、分类、中心性分析、寻路、连通性分析、社区检测、搜索、图形格式。

3.9 hpc

高性能计算库,多层感知器(MLP)、二维反时间迁移(RTM)、三维RTM、共轭梯度求解器(CG)。

3.10 motor_control

FOC:Field-Orientated Control,场向控制。

SVPWM_DUTY / PWM_GEN:Space Vector Pulse Width Modulation,空间矢量脉宽调制(SVPWM)。

QEI:Quadrature Encoder Interface,四象限编码器接口。

3.11 quantitative_finance

L1:统计函数、数值方法和线性代数函数,支持实际用户实现高级建模,

L2:评估常见的金融衍生产品,如股权产品、利率产品、外汇(FX)产品和信贷产品。

3.12 security

安全算法:对称块密码,对称流密码,非对称加密,密码操作模式,消息认证码和哈希函数。

3.13 solver

矩阵分解操作,线性求解器和特征值求解器。

3.14 utils

实用库,高效地访问DDR、HBM或URAM中的内存执行数据分发、收集、重新排序、插入和丢弃。

3.15 vision

OpenCV视觉库

4. 总结

Vitis加速库为FPGA开发者提供了一系列优化的开源库,涵盖了从基础数学运算到专业领域应用的广泛功能。这些库分为三个层级:L1原语提供设计内核的基础算法,L2内核为性能优化的内核,而L3软件API则提供高级软件接口。特别地,对于Versal™ AI引擎,库中包含了专门优化的功能,以实现极致的运行效率。无论是在数据分析、图像处理、金融计算还是安全算法等领域,Vitis库都能显著提升程序的性能,简化开发流程,使得FPGA的强大计算能力更加易于访问和利用。这些库不仅支持广泛的应用场景,还能够根据用户需求进行定制和扩展,极大地推动了硬件加速的创新和应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/707473.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年GIS大赛奖金盘点,看看哪家最香?

之前盘点过2024年值得参加的GIS比赛,点这里回顾。 今天我们重点盘点一下不同比赛的奖项设置和奖金,排名不分先后。 全国高校GlS技能大赛 1. 比赛介绍: http://contest.gisera.com/view_191.html 2. 奖项/奖金设置: 获奖者颁…

ListView的使用

📖ListView的使用 ✅1. 创建ListView✅2. 创建适配器Adapter✅3. 开始渲染数据 主要3步骤: 创建ListView 创建适配器Adapter,和Adapter对应的视图 开始渲染数据 效果图: ✅1. 创建ListView 例如现有DemoActivity页面&#xf…

自动控制:滑模控制(Sliding Mode Control, SMC)

自动控制:滑模控制(Sliding Mode Control, SMC) 滑模控制(Sliding Mode Control, SMC)是一种在处理非线性系统时非常有效的控制技术。它通过驱动系统状态达到并保持在特定的滑模面附近,来实现控制目标。本文将介绍滑模控制的基本…

四川赤橙宏海商务信息咨询有限公司靠谱吗?

在数字化浪潮席卷而来的今天,电商行业正经历着前所未有的变革。四川赤橙宏海商务信息咨询有限公司,凭借其深厚的行业经验和敏锐的市场洞察力,专注于抖音电商服务领域,致力于为广大商家提供全方位、高效益的电商解决方案。 赤橙宏…

OpenGL3.3_C++_Windows(3)

GLSL Shader基础 Shader(把输入转化为输出,运行在GPU上):首先要声明版本,有各自的入口点main()顶点数据上限:16个包含4分量:16 * 4 64个分量向量:容器vec。使用.x、.y、.z和.w&am…

算法day27

第一题 515. 在每个树行中找最大值 首先是遍历每层的节点,将每一层最大值的节点的值保留下来,最后将所有层的最大值的表返回;具体的遍历每层节点的过程如上一篇故事; 综上所述,代码如下: /*** Definition …

HTML静态网页成品作业(HTML+CSS)—— 零食商城网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

同三维T80005EH4 H.265 4路高清HDMI编码器

同三维T80005EH4 H.265 4路高清HDMI编码器 4路HDMI输入2路3.5音频输入,第1路和第2路HDMI可支持4K30,其它支持高清1080P60 产品简介: 同三维T80005EH4 4路HDMI高清H.265编码器采用最新高效H.265高清数字视频压缩技术,具备稳定…

SQL Server 2022 RTM 最新累积更新:Cumulative Update #13 for SQL Server 2022 RTM

SQL Server 2022 RTM (最新累积更新) - 基于 Azure 的持续性能和安全创新 Cumulative Update #13 for SQL Server 2022 RTM 请访问原文链接:https://sysin.org/blog/sql-server-2022/,查看最新版。原创作品,转载请保留出处。 作者主页&…

C++笔记:模板

模板 为什么要学习模板编程 在学习模板之前,一定要有算法及数据结构的基础,以及重载,封装,多态,继承的基础知识,不然会出现看不懂,或者学会了没办法使用。 为什么C会有模板,来看下面…

听说前端都是切图仔,所以学了PS

PS 从零开始-基础篇 什么话都不想说了,前端以死后端已死,毁灭即是新生,我要开始追梦了, 从小就希望,制作一款自己的游戏🎮去学了编程,了解了:Java、C#、前端... 不小心入了web领域…

idea 配置文件中文乱码

再进行springboot项目开发时发现新建的配置文件中文注释乱码,如下: 处理办法: 1、打开idea,在 File 中找到 Settings,如下图 2、搜索 encodings 找到 File Encodings,如下图 3、将上图中圈上的地方全部改为 UTF-8 编码最后点击 Apply 应用即…

10 SpringBoot 静态资源访问

我们在开发Web项目的时候,往往会有很多静态资源,如html、图片、css等。那如何向前端返回静态资源呢? 以前做过web开发的同学应该知道,我们以前创建的web工程下面会有一个webapp的目录,我们只要把静态资源放在该目录下…

后端跨域问题的处理

问题描述 在做前后端分离的项目时,很有可能会遇到这样一种情况: 就是在游览器中请求后端的接口,出现了 CORS error 错误 报错信息如下: Access to XMLHttpRequest at http://localhost:8860/user/auth/login from origin http:…

MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)

目录 前言1. 授予权限2. 撤销权限3. 查询权限4. Demo 前言 公司内部的数据库权限一般针对不同人员有不同的权限分配,而不都统一给一个root权限 1. 授予权限 授予用户权限的基本命令是GRANT 可以授予的权限种类很多,涵盖从数据库和表级别到列和存储过…

郑州申请大气污染防治乙级资质,这些材料必不可少

在郑州申请大气污染防治乙级资质时,以下材料是必不可少的: 一、企业基础资料: 企业法人营业执照副本:需清晰,且在有效期内[1][2]。企业章程:提交企业章程的扫描件或复印件,以展示企业的组织结构…

183.二叉树:二叉搜索树中的众数(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

农资投入品系统架构:数字化农业的技术支撑与创新

在当今数字化时代,农业领域也在迅速迈向数字化和智能化的新阶段。农资投入品系统作为农业生产的重要支撑,其系统架构的设计与创新对于提高农业生产效率、保障粮食安全具有重要意义。本文将探讨农资投入品系统架构的设计原则、核心模块以及未来发展趋势。…

实例化游戏物体的实例(生成游戏物体)

一、实例1:实例化 1、准备工作:制备预制体,命名。如Circle 2、Create Empty,名字自取。如:CirclePrefab 3、给CirclePrefab添加Test.cs public GameObject CirclePrefab; // 预制体变量,用于存储Circle预…

湖南安全技术职业学院校长邓德艾一行到我中心考察交流

6月4日上午,湖南安全技术职业学院校长邓德艾一行莅临方班网安人才教育服务中心交流研讨,一方面是访企拓岗,另一方面是针对产教融合、政校企合作人才培养展开深入研讨。为将本次研讨进行得更深入全面,方班网安人才教育服务中心邀请…