当前位置: 首页 > news >正文

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

目录

1. 简介

2. 库的文件结构 

3. 分类介绍

3.1 blas

3.2 codec

3.3 data_analytics

3.4 data_compression

3.5 data_mover

3.6 database

3.7 dsp

3.8 graph

3.9 hpc

3.10 motor_control

3.11 quantitative_finance

3.12 security

3.13 solver

3.14 utils

3.15 vision

4. 总结


1. 简介

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

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

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

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

2. 库的文件结构 

通常,Vitis 库包含三个级别 (L1/L2/L3) 的函数:

L1 Primitives

  • 设计内核的基本算法函数(HLS函数)
  • 可自定义或与其他基本函数和内核结合使用
  • 需要使用Vitis工具进行构建和编译

L2 Kernels

  • 性能优化的内核,带有必需的接口和编译指令
  • 如有需要,可进行自定义,并使用Vitis工具构建加速器镜像
  • 通过与Xilinx运行时库(XRT)的集成管理初始化和数据传输

L3 Software APIs

  • 主机应用中可直接调用的高级软件API
  • 这些API调用预构建的FPGA镜像(适用于特定平台)
  • 用户可以自定义并重新构建

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.lryc.cn/news/371861.html

相关文章:

  • Vue3-滑动到最右验证功能
  • 深入理解MyBatis XML配置文件
  • 006 CentOS 7.9 elasticsearch7.10.0安装及配置
  • 蚂蚁分类信息系统二开仿么么街货源客模板微商货源网源码(带手机版)
  • 综合数据分析及可视化实战
  • N32G45XVL-STB之移植LVGL(8.4.0)
  • SwaggerSpy:一款针对SwaggerHub的自动化OSINT安全工具
  • Python酷库之旅-比翼双飞情侣库(05)
  • numpy数组transpose方法的基本原理
  • Docker Swarm集群部署管理
  • 碎片化知识如何被系统性地吸收?
  • 安鸾学院靶场——安全基础
  • ChatGPT:自然语言处理的新纪元与OpenAI的深度融合
  • AI引领项目管理新时代:效率与智能并驾齐驱
  • AUTOSAR汽车电子嵌入式编程精讲300篇-电池管理系统中 CAN 通信模块的设计与应用(中)
  • k8s概述
  • 多线程的运用
  • TF-IDF(Term Frequency-Inverse Document Frequency)算法
  • 富格林:细心发现虚假确保安全
  • 6.2 文件的缓存位置
  • 在Elasticsearch中,过滤器(Filter)是用于数据筛选的一种机制
  • MySQL----主键、唯一、普通索引的创建与删除
  • css预处理是什么?作用是什么?
  • 镜像拉取失败:[ERROR] Failed to pull docker image
  • FM全网自动采集聚合影视搜索源码
  • 【DevOps】什么是 pfSense?免费构建SDWAN
  • elementui table超出两行显示...鼠标已入tip显示
  • 空白服务器安装系统
  • 【车载音视频电脑】嵌入式AI分析车载DVR,支持8路1080P
  • Java实现Mysql批量插入与更新