【Vitis】Vitis性能优化的开源库

 Vitis HLS简介
Vitis™HLS是一种高层次综合工具,支持将C、C++和OpenCL™函数硬连线到器件逻辑互连结构和RAM/DSP块上。

Vitis HLS可在Vitis应用加速开发流程中实现硬件内核,并使用C/C++语言代码在Vivado®Design Suite中为赛灵思器件设计开发RTL IP。

【Vitis】HLS高层次综合的优势

【Vitis】Vitis性能优化的开源库

【Vitis】基于C++函数开发组件的步骤

【Vitis】Vitis HLS2023不支持的功能特性


目录

概述

Vitis 加速库

使用熟悉的编程语言

可扩展、灵活度高

针对 Versal AI 引擎优化的 Vitis 库函数 

库文件组织

Vitis 视觉库

开始设计

文档与下载

了解更多

网络研讨会点播


概述

Vitis 加速库

Vitis™ 统一软件平台包括一组广泛的、性能优化的开源库,这些库提供了即开即用的加速功能,并且对现有应用实现最小化代码更改或零更改。

  • 通用 Vitis 加速库(包括求解器、基本线性代数子程序 (BLAS)、稀疏、DSP 和实用程序)可为各种不同的应用提供一系列核心功能。
  • 特定领域 Vitis 加速库为视觉及图像编解码器处理、定量金融、HPC、图形、数据库、数据分析、数据压缩等工作负载提供开箱即用的加速。
  • 利用合作伙伴加速库、框架插件以及加速应用这一不断发展的生态系统,迅速启动设计,加速您的量产进程。

Vitis 库现在包含 DSP、矩阵和其它函数,这些函数针对在 Versal™ 器件的 AI 引擎部分实施进行了优化。


使用熟悉的编程语言

使用采用您熟悉的常用编程语言(如 C/C++)编程的 Vitis 加速库。此外,其中一些库还包括 3 级 Python 函数,例如 Vitis BLAS 库和 Vitis Quantitative Finance 库等。将 AMD 平台作为实现您应用的工具 — 在应用层面工作,将您的主要精力集中在解决您所在领域极具挑战性的问题上,并加速洞察与创新的进程。

无论您是想要加速现有 x86 主机应用代码的某些部分,还是想要开发在 AMD 嵌入式平台上部署的加速器,在您的代码中调用 Vitis 加速器库 API 或内核都可提供与任何软件库相同的抽象级别。


可扩展、灵活度高

所有开发人员都可通过 GitHub 访问 Vitis 加速器库,而且这些库可在所有 AMD 平台间扩展。使用这些优化的库开发应用并在边缘、本地或云的平台间进行无缝部署,无需重新实现加速应用。

AMD 可为您的应用带来快速原型设计和评估,您可将这些库用作即插即用加速器,在用户应用中作为 API 直接调用,满足计视觉及图像编解码器处理、定量金融、HPC、图形、数据库和数据分析等工作负载需求。

要为您的应用设计自定义加速器,可将 Vitis 库函数用作优化的算法构建块,对其进行修改,以满足您的特定需求,也可将其用作参考来完全设计您自己的加速器。选择您需要的灵活性!

将特定域 Vitis 库与 Vitis AI 库或 Vitis AI 开发套件预先优化的深度学习模型相结合,不仅可加速整个应用,而且还可达到整个系统级的功能及性能目标。


针对 Versal AI 引擎优化的 Vitis 库函数 

位于 Versal 器件的 AI 引擎可为基于矢量的算法提供极高的计算密度。

以下库添加了 AI 引擎:

  • Vitis DSP 库
  • Vitis 视觉库
  • Vitis Solver 库

AI 引擎代码位于“AIE”目录(位于 AIE 专用函数的 L1 下以及 AIE 和 Pl 代码组成的函数的 L2 下)下。

注:如欲了解更多详情,请参阅各库的页面。


库文件组织

一个 Vitis 库通常有三个级别 (L1/L2/L3) 的函数:

L1 原语

  • 设计内核的基本算法函数(HLS 函数)
  • 可以自定义,也可以与其它原语及内核组合
  • 需要用 Vitis 工具构建和编译

L2 内核

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

L3 软件 API

  • 可在主机应用中直接调用的高层次软件 API
  • API 可调用预先构建的 FPGA 映像(为特定平台提供)
  • 用户可自定义,也可重新构建

Vitis 视觉库

在 AMD 平台上为 ADAS、视频监控和数据中心等开发和部署加速的计算机视觉及图像处理算法。

开始设计

文档与下载

  •  下载所有 Vitis 库
  •  所有 Vitis 库文档

了解更多

  •  AMD Xilinx 合作伙伴库和解决方案
  •  Vitis 环境深入教程

网络研讨会点播

  •  使用 Vitis 加速库开发应用
  •  比较图算法在 AMD Xilinx FPGA 和 Nvidia GPU 上的性能

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不坑盒子 助力高效办公的Office插件

不坑盒子简介 很多朋友在工作过程中需要对Word文档进行编辑处理,如果想让Word排版更有效率可以试试小编带来的这款不坑盒子软件,是一个非常好用的办公工具,拥有近百项功能的Word,wps插件,支持Office 2010以上的版本&a…

【plt.bar绘制条形图or柱状图】:从入门到精通,只需一篇文章!【Matplotlib可视化】

【📊plt.bar绘制条形图】:从入门到精通,只需一篇文章!【Matplotlib】 利用Matplotlib进行数据可视化示例 🌵文章目录🌵 🔍 一、初识plt.bar:条形图的基本概念💡 二、plt.…

Maven - Plugins报错的正确解决之道

背景: 正确解决之道: 在自己本地Maven的安装目录中找到自己的仓库地址目录:直接搜索自己报错的插件文件,把它们删除,如图: 接着回到IDEA点击Maven刷新按钮重新加载即可:已解决 反例&#xff1…

【机构vip教程】Appium自动化(2):Python+Appium环境搭建

windows下搭建pythonappium环境 搭建过程步骤如下: 1、安装jdk并配置好环境变量(jdk版本1.8以上) 2、安装android-sdk并配置好环境变量;具体步骤见:https://www.cnblogs.com/YouJeffrey/p/15243705.html 3、安装安…

浅谈js事件机制

事件是什么?事件模型? 原始事件模型(DOM0级) HTML代码中指定属性值:在js代码中指定属性值:优点:缺点: IE 事件模型DOM2事件模型 对事件循环的理解 宏任务(Macrotasks&…

Three.JS教程5 threejs中的材质

Three.JS教程5 threejs中的材质 一、什么是Three.js材质?二、Three.js的材质类型1. 材质类型2. 材质的共用属性(1).alphaHash : Boolean(2).alphaTest : Float(3).alphaToCoverage : Boolean&am…

白酒:制曲工艺的微生物多样性及其作用

在云仓酒庄豪迈白酒的制曲工艺中,微生物多样性是一个关键要素。曲是白酒生产中的重要配料,它由小麦、麸皮等原料制成,经过微生物的发酵和生长而形成。微生物的多样性和相互作用对曲的品质和白酒的口感具有重要影响。 首先,微生物多…

【后端高频面试题--设计模式上篇】

🚀 作者 :“码上有前” 🚀 文章简介 :后端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 往期精彩内容 【后端高频面试题–设计模式上篇】 【后端高频面试题–设计模式下篇】 【后端高频…

C++面向对象程序设计-北京大学-郭炜【课程笔记(三)】

C面向对象程序设计-北京大学-郭炜【课程笔记(三)】 1、构造函数(constructor)1.1、基本概念 2、赋值构造函数2.1、基本概念2.1、复制构造函数起作用的三种情况2.2、常引用参数的使用 3、类型转换构造函数3.1、什么事类型转换构造函…

深入解析Android AIDL:实现跨进程通信的利器

深入解析Android AIDL:实现跨进程通信的利器 1. 介绍Android AIDL Android Interface Definition Language (AIDL) 是一种Android系统中的跨进程通信机制。AIDL允许一个应用程序的组件与另一个应用程序的组件通信,并在两者之间传输数据。 AIDL的主要作…

【机构vip教程】​python(1):python正则表达式匹配指定的字符开头和指定的字符结束

一&#xff0c;使用python的re.findall函数&#xff0c;匹配指定的字符开头和指定的字符结束 代码示例&#xff1a; 1 import re 2 # re.findall函数;匹配指定的字符串开头和指定的字符串结尾(前后不包含指定的字符串) 3 str01 hello word 4 str02 re.findall((?<e).*?…

[嵌入式系统-27]:RT-Thread -14- 操作系统配置:rtconfig.h文件与menuconfig命令

目录 一、rtconfig.h 1.1 概述 1.2 软硬件资源配置 1.3 功能模块选择 1.4 内核配置详解 1.5 调度器配置 1.6 硬件设备驱动配置 1.7 网络配置 1.8 调试配置 二、menuconfig 2.1 概述 2.2 主要功能 三、RT Thread配置 VS Linux配置 一、rtconfig.h 1.1 概述 rtco…

Shiro-03-shiro 核心概念 Subject,SecurityManager 和 Realms

核心概念&#xff1a;Subject&#xff0c;SecurityManager 和 Realms Shiro的体系结构具有三个主要概念-主题&#xff08;Subject&#xff09;&#xff0c;安全管理器(SecurityManager)和领域&#xff08;Realms&#xff09;。 Subject 在保护应用程序安全时&#xff0c;可能…

阿里云香港轻量应用服务器怎么样,建站速度快吗?

阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品&#xff0c;中国电信CN2高速网络高质量、大规格BGP带宽&#xff0c;运营商精品公网直连中国内地&#xff0c;时延更低&#xff0c;优化海外回中国内地流量的公网线路&#xff0c;可以提高国际业务访问质量。阿里云服务…

[java基础揉碎]类与对象

目录 类与对象的引出: 类与对象的概述: 类与对象在内存中的布局: 属性的注意细节: 类与对象在内存中创建的过程: 类与对象的引出: 例如这样一个问题: 如果用单独变量来解决, 就会有一个问题, 不利于数据的管理, 将所有猫的信息都给拆解了: 如果用数组来解决, 则会有 1)数…

ClickHouse--11--ClickHouse API操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Java 读写 ClickHouse API1.1 首先需要加入 maven 依赖1.2 Java 读取 ClickHouse 集群表数据JDBC--01--简介 ClickHouse java代码 1.3 Java 向 ClickHouse 表中写…

计算机设计大赛 深度学习乳腺癌分类

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

Mysql5.6忘记密码,如何找回(windows)

mysql5.6安装 第一步&#xff1a;关闭正在运行的数据库服务 net stop mysql第二步&#xff1a;在my.ini文件当中的[mysqld] 任意一个位置放入 skip-grant-tables第三步&#xff1a;启动mysql服务 net start mysql第四步&#xff1a;服务启动成功后就可以登录了&#xff0c;…

举个栗子!Tableau 技巧(265):灵活对比文本表的行数据

通过文本表查看数据时&#xff0c;我们经常需要将某一行数据与其他行进行对比&#xff0c;如何能更灵活更直观的对比分析各行数据情况呢&#xff1f; 可以试试这个方法&#xff01;如下示例&#xff1a;点击某明细行时&#xff0c;该明细行会自动置顶&#xff0c;且其它行会新…

Linux系统:iptables 防火墙

目录 一、安全技术与防火墙 1、安全技术概念 2、防火墙 2.1 防火墙概念 2.2 防火墙分类 2.3 linux的防火墙Netfilter 2.4 防火墙工具介绍 2.5 netfilter 和 iptables 的关系 二、iptables 1、概念 2、五表五链 2.1 五个table表 2.2 五个chain链 2.3 内核中数据包…