0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vitis HLS前端现已在GitHub上全面开源,开启了无限可能的新世界

电子工程师 来源:XILINX技术社区 作者:XILINX技术社区 2021-03-24 16:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

赛灵思一直致力于支持开源计划的不断飞跃,为帮助开发人员和研发社区充分发挥自适应计算的优势,我们再次做出了令人振奋的举措: 在 GitHub 上开放提供 Vitis HLS(高层次综合)前端(GitHub 是全球规模最大的开发平台以及构建和共享软件代码的开放社区)

Vitis HLS 工具能够将 C++ 和 OpenCL 功能部署到器件的逻辑结构和 RAM/DSP 块上。在 GitHub 上提供 Vitis HLS 前端为研究人员、开发人员和编译器爱好者开启了无限可能的新世界,使他们可以利用 Vitis HLS 技术并根据其应用的特定需求进行修改。

10 多年来,赛灵思不断改进 HLS 技术,帮助硬件开发人员提高设计生产力,并且让没有硬件设计经验的软件和应用开发人员更容易接受和利用赛灵思自适应平台。随着 Vitis HLS 前端现已在 GitHub 上全面开源,软硬件开发人员可以灵活运用标准的 Clang/LLVM 基础架构并为以下功能定制设计流程:

为 C/C++ 和 OpenCL 之外新的高级语言提供支持

添加新的特定领域优化编译指令或编译器指导

定制 LLVM IR 转换(即新的 LLVM pass)

Vitis HLS 中的 C/C++ 到 RTL 综合流程包括两个主要组成部分:

[1] 前端:该部分主要解析用 C/C++ 或 OpenCL 表示的代码,使用 Clang/LLVM 工具链进行前端和中端转换。

[2] 后端:该阶段采用 LLVM IR 输入,并执行 FPGA 特定的底层映射和调度,直到最后一步,生成 RTL 。

4edfde26-8c49-11eb-8b86-12bb97331649.png

除了支持Clang/LLVM 流程外,该项目还提供:

用于编译指示支持和硬件可综合性检查的框架

一种将固有顺序 C 代码映射到空间硬件架构的方法

通往 Vitis 统一软件平台的网关,以访问相关流程和库

我们的生态系统合作伙伴 Silexica 以及美国伊利诺伊大学厄巴纳 - 香槟分校 (UIUC)、帝国理工学院、香港科技大学的研究社区是如何利用 Vitis HLS 前端扩展功能,并助力其研究项目的呢?

“Vitis HLS 的前端开源有助于 FPGA 研究和生态系统合作伙伴社区进行扩展、定制乃至进一步优化 HLS 编译过程。赛灵思新的开源计划还为 Vitis HLS 提供了全新的‘注入使用模型’,能够注入定制的第三方代码转换,甚至使用完全定制的 Clang 编译器前端。”

通过与赛灵思密切合作,Silexica 开发了一款 SLX 插件,它可以利用新的注入使用模型扩展Vitis HLS 2020.2 代码转换。SLX 插件是一种 HLS 编译器插件,通过提供新的 Loop Interchange 指导,有助于改善 Vitis HLS 的延迟问题和吞吐量结果。这是 Silexica 计划的许多 HLS 优化指导中的第一个。该插件可作为 Vitis HLS 的纯独立插件使用,也可与 Silexica 的SLX FPGA 工具结合使用,以同时使用其深层代码分析、自动设计探索以及最佳指导识别和调优功能。

“通过 UIUC 的赛灵思自适应计算集群 (XACC) 项目合作,我们提前获得了开源软件包。利用软件包提供的接口,我们可以方便地定制并集成新的 Clang 编译指示和 LLVM pass 到 Vitis HLS 中,以实施和评估我们的研究思路。在Vitis HLS流程中利用LLVM的能力在许多方面都带来了新的可能性。此外,开源 Vitis HLS 前端还将大幅促进 HLS 开源社区的增长。我们很高兴自己能成为其中的一员。

“对我这样的 HLS 工具设计师来说,在将 LLVM IR 转换回 C 代码(包括 pragmas)时,将代码输入到 Vitis HLS中是非常困难的。新的 Vitis HLS 前端能够极大地帮助我们的工具动态和静态调度 (DASS) 集成到 HLS 流程中。例如,开源前端使我们能直接进行程序分析和转换,并将编译指示插入到 LLVM 中。”

“从我们的角度看,开发全面的 HLS 工具需要大量工程设计工作,这也是学术界与工业之间存在的差距之一。赛灵思慷慨地开放了商业 HLS 前端,它能与 Vitis HLS 结合使用,从而提供了灵活的 API 以及从解析到 IR 优化的可读源代码。它使得我们不必再处理详细的实施方案,使我们能够在实用应用场景中解决问题,并帮助我们高效地评估自己的想法。对于 HLS 社区,我们相信这个开源项目将大幅促进创新,因为它能帮助用户根据具体需求轻松定制工具。”

香港科技大学的两个开发项目利用了 Vitis HLS 前端:

项目 1:高效自动优化 Pass 阶段排序:

在该项目中,根据输入源代码的特性,开源前端中提供优化 pass 的最佳顺序将通过机器学习和启发式算法进行搜索,用于改进性能和资源消耗。

项目 2:多 FPGA HLS:

在该项目中,开源前端生成的 IR 代码将通过性能和资源模型进行分析,并自动划分为子模块,这些子模块针对与网络或 DDR 存储器互联的多个 FPGA 应用进行了优化。

Readyto Get Started?

Vitis HLS 前端的源代码可在赛灵思 GitHub 库中获取。该库共享的3个示例演示了如何使用和定制流程,包括构建定制 LLVM pass 的流程。

4f4cfba0-8c49-11eb-8b86-12bb97331649.png

52901dba-8c49-11eb-8b86-12bb97331649.png

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 赛灵思
    +关注

    关注

    33

    文章

    1798

    浏览量

    133643
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51895
  • 硬件开发
    +关注

    关注

    3

    文章

    193

    浏览量

    25213
  • HLS
    HLS
    +关注

    关注

    1

    文章

    135

    浏览量

    25967

原文标题:开启无限可能的世界: Vitis HLS 前端现已全面开源

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Keil Studio现已支持在GitHub Codespaces中运行

    Keil Studio 现已支持在 GitHub Codespaces 中运行,通过你的浏览器即可将 Arm 量产级、兼容 CMSIS 的开发工作流,融入全托管、容器化的云端工作空间。数秒内即可搭建纯净且可复用的开发环境,让构建、代码评审与自动化流程与代码深度协同。
    的头像 发表于 04-21 14:38 163次阅读
    Keil Studio<b class='flag-5'>现已</b>支持在<b class='flag-5'>GitHub</b> Codespaces中运行

    蓝牙信道探测(Bluetooth® Channel Sounding)

    Toolbox移动应用现已集成信道测距模式,兼容手机可与蓝牙信道测距反射器交互,并在屏幕显示彼此间的距离。该应用采用开源模式,可作为参考模板供开发者在自有Android应用中集成信道测距功能。欲
    发表于 04-16 10:42

    大晓机器人开源实时生成世界模型Kairos 3.0-4B

    近日,大晓机器人重磅开源开悟世界模型3.0(Kairos 3.0)-4B 系列具身原生世界模型。作为业内首个实现 “多模态理解 — 生成 — 预测” 一体化的开源具身原生
    的头像 发表于 03-14 16:54 1995次阅读
    大晓机器人<b class='flag-5'>开源</b>实时生成<b class='flag-5'>世界</b>模型Kairos 3.0-4B

    模力方舟现已正式开源官方Skills仓库Moark Skills

    模力方舟现已正式开源官方 Skills 仓库 Moark Skills,首批上线图像生成、OCR、文档内容提取和文本合规审查四个技能模块。开发者和用户只需将技能文件导入 OpenClaw,Agent 即可通过自然语言直接调用这些能力,省去从零对接各类 API 的重复工作。
    的头像 发表于 03-03 16:47 1432次阅读
    模力方舟<b class='flag-5'>现已</b>正式<b class='flag-5'>开源</b>官方Skills仓库Moark Skills

    探索KITPF5030SKTEVM编程板:开启PF5030的无限可能

    探索KITPF5030SKTEVM编程板:开启PF5030的无限可能 引言 在电子工程的领域中,一款优秀的评估板能够为工程师们提供极大的便利,帮助他们更好地开发和验证新的设计。NXP
    的头像 发表于 12-25 11:40 615次阅读

    EVAL-6ED2231S12TM1评估板:开启电机驱动新世界

    EVAL-6ED2231S12TM1评估板:开启电机驱动新世界 作为电子工程师,我们一直在寻找性能卓越、功能强大的评估板来助力电机驱动设计。今天,就来和大家深入探讨一下
    的头像 发表于 12-20 11:35 2337次阅读

    全新AMD Vitis统一软件平台2025.2版本发布

    AMD Vitis统一软件平台 2025.2 版现已推出,此版本为使用 AMD Versal AI Engine 的高性能 DSP 应用提供了更出色的设计环境,还增强了仿真功能以加快复杂设计。
    的头像 发表于 12-12 15:06 840次阅读

    AMD Vitis AI 5.1测试版现已开放下载

    AMD Vitis AI 5.1全新发布——新增了对 AMD Versal AI Edge 系列神经网络处理单元( NPU )的支持。Vitis AI 包含优化的 NPU IP、模型编译工具和部署 API,可在嵌入式平台上实现可扩展的高性能推理。
    的头像 发表于 11-08 09:24 1430次阅读

    NVIDIA ACE现已支持开源Qwen3-8B小语言模型

    为助力打造实时、动态的 NPC 游戏角色,NVIDIA ACE 现已支持开源 Qwen3-8B 小语言模型(SLM),可实现 PC 游戏中的本地部署。
    的头像 发表于 10-29 16:59 1397次阅读

    开源项目!FourThirdsEye 开源 M4/3 相机模块

    数据散射的情况,而使用 20 cm 排线则没有问题。此外,要在 RPI5 充分利用该传感器的全部性能/帧率,您需要对 RP1(相机前端)进行超频,使其能够处理 60 FPS 4K 的数据。传感器本身也
    发表于 07-30 13:43

    如何在Unified IDE中创建视觉库HLS组件

    最近我们分享了开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE)和开发者分享|AMD Vitis
    的头像 发表于 07-02 10:55 1666次阅读
    如何在Unified IDE中创建视觉库<b class='flag-5'>HLS</b>组件

    微软开源GitHub Copilot Chat,AI编程迎来新突破

    30分,微软首席执行官Satya Nadella向大家展示了VS Code的最新AI开源编辑器GitHub Copilot Chat。 GitHub Copilot Chat的一大技术亮点是其支持
    的头像 发表于 07-02 09:34 1417次阅读
    微软<b class='flag-5'>开源</b><b class='flag-5'>GitHub</b> Copilot Chat,AI编程迎来新突破

    使用AMD Vitis Unified IDE创建HLS组件

    这篇文章在开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE) 的基础撰写,但使用的是 AMD
    的头像 发表于 06-20 10:06 2531次阅读
    使用AMD <b class='flag-5'>Vitis</b> Unified IDE创建<b class='flag-5'>HLS</b>组件

    如何使用AMD Vitis HLS创建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 来创建一个 HLS IP,通过 AXI4 接口从存储器读取数据、执行简单的数学运算,然后将数据写回存储器。接着会在 AMD Vivado Design Suite 设计中使用此
    的头像 发表于 06-13 09:50 2221次阅读
    如何使用AMD <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>创建<b class='flag-5'>HLS</b> IP

    龙芯2K0300开发板软件资料-新世界更新

    【资料更新】正点原子龙芯2K0300开发板资料更新! 龙芯2K0300开发板软件资料-新世界更新: U-boot版本为2022.04,内核版本为6.12,buildroot版本为2024.08,交叉
    发表于 04-22 14:16