0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Vitis HLS前端現(xiàn)已在GitHub上全面開(kāi)源,開(kāi)啟了無(wú)限可能的新世界

電子工程師 ? 來(lái)源:XILINX技術(shù)社區(qū) ? 作者:XILINX技術(shù)社區(qū) ? 2021-03-24 16:18 ? 次閱讀

賽靈思一直致力于支持開(kāi)源計(jì)劃的不斷飛躍,為幫助開(kāi)發(fā)人員和研發(fā)社區(qū)充分發(fā)揮自適應(yīng)計(jì)算的優(yōu)勢(shì),我們?cè)俅巫龀隽肆钊苏駣^的舉措: 在 GitHub 上開(kāi)放提供 Vitis HLS(高層次綜合)前端(GitHub 是全球規(guī)模最大的開(kāi)發(fā)平臺(tái)以及構(gòu)建和共享軟件代碼的開(kāi)放社區(qū))

Vitis HLS 工具能夠?qū)?C++ 和 OpenCL 功能部署到器件的邏輯結(jié)構(gòu)和 RAM/DSP 塊上。在 GitHub 上提供 Vitis HLS 前端為研究人員、開(kāi)發(fā)人員和編譯器愛(ài)好者開(kāi)啟了無(wú)限可能的新世界,使他們可以利用 Vitis HLS 技術(shù)并根據(jù)其應(yīng)用的特定需求進(jìn)行修改。

10 多年來(lái),賽靈思不斷改進(jìn) HLS 技術(shù),幫助硬件開(kāi)發(fā)人員提高設(shè)計(jì)生產(chǎn)力,并且讓沒(méi)有硬件設(shè)計(jì)經(jīng)驗(yàn)的軟件和應(yīng)用開(kāi)發(fā)人員更容易接受和利用賽靈思自適應(yīng)平臺(tái)。隨著 Vitis HLS 前端現(xiàn)已在 GitHub 上全面開(kāi)源,軟硬件開(kāi)發(fā)人員可以靈活運(yùn)用標(biāo)準(zhǔn)的 Clang/LLVM 基礎(chǔ)架構(gòu)并為以下功能定制設(shè)計(jì)流程:

為 C/C++ 和 OpenCL 之外新的高級(jí)語(yǔ)言提供支持

添加新的特定領(lǐng)域優(yōu)化編譯指令或編譯器指導(dǎo)

定制 LLVM IR 轉(zhuǎn)換(即新的 LLVM pass)

Vitis HLS 中的 C/C++ 到 RTL 綜合流程包括兩個(gè)主要組成部分:

[1] 前端:該部分主要解析用 C/C++ 或 OpenCL 表示的代碼,使用 Clang/LLVM 工具鏈進(jìn)行前端和中端轉(zhuǎn)換。

[2] 后端:該階段采用 LLVM IR 輸入,并執(zhí)行 FPGA 特定的底層映射和調(diào)度,直到最后一步,生成 RTL 。

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

除了支持Clang/LLVM 流程外,該項(xiàng)目還提供:

用于編譯指示支持和硬件可綜合性檢查的框架

一種將固有順序 C 代碼映射到空間硬件架構(gòu)的方法

通往 Vitis 統(tǒng)一軟件平臺(tái)的網(wǎng)關(guān),以訪問(wèn)相關(guān)流程和庫(kù)

我們的生態(tài)系統(tǒng)合作伙伴 Silexica 以及美國(guó)伊利諾伊大學(xué)厄巴納 - 香檳分校 (UIUC)、帝國(guó)理工學(xué)院、香港科技大學(xué)的研究社區(qū)是如何利用 Vitis HLS 前端擴(kuò)展功能,并助力其研究項(xiàng)目的呢?

“Vitis HLS 的前端開(kāi)源有助于 FPGA 研究和生態(tài)系統(tǒng)合作伙伴社區(qū)進(jìn)行擴(kuò)展、定制乃至進(jìn)一步優(yōu)化 HLS 編譯過(guò)程。賽靈思新的開(kāi)源計(jì)劃還為 Vitis HLS 提供了全新的‘注入使用模型’,能夠注入定制的第三方代碼轉(zhuǎn)換,甚至使用完全定制的 Clang 編譯器前端?!?/p>

通過(guò)與賽靈思密切合作,Silexica 開(kāi)發(fā)了一款 SLX 插件,它可以利用新的注入使用模型擴(kuò)展Vitis HLS 2020.2 代碼轉(zhuǎn)換。SLX 插件是一種 HLS 編譯器插件,通過(guò)提供新的 Loop Interchange 指導(dǎo),有助于改善 Vitis HLS 的延遲問(wèn)題和吞吐量結(jié)果。這是 Silexica 計(jì)劃的許多 HLS 優(yōu)化指導(dǎo)中的第一個(gè)。該插件可作為 Vitis HLS 的純獨(dú)立插件使用,也可與 Silexica 的SLX FPGA 工具結(jié)合使用,以同時(shí)使用其深層代碼分析、自動(dòng)設(shè)計(jì)探索以及最佳指導(dǎo)識(shí)別和調(diào)優(yōu)功能。

“通過(guò) UIUC 的賽靈思自適應(yīng)計(jì)算集群 (XACC) 項(xiàng)目合作,我們提前獲得了開(kāi)源軟件包。利用軟件包提供的接口,我們可以方便地定制并集成新的 Clang 編譯指示和 LLVM pass 到 Vitis HLS 中,以實(shí)施和評(píng)估我們的研究思路。在Vitis HLS流程中利用LLVM的能力在許多方面都帶來(lái)了新的可能性。此外,開(kāi)源 Vitis HLS 前端還將大幅促進(jìn) HLS 開(kāi)源社區(qū)的增長(zhǎng)。我們很高興自己能成為其中的一員。

“對(duì)我這樣的 HLS 工具設(shè)計(jì)師來(lái)說(shuō),在將 LLVM IR 轉(zhuǎn)換回 C 代碼(包括 pragmas)時(shí),將代碼輸入到 Vitis HLS中是非常困難的。新的 Vitis HLS 前端能夠極大地幫助我們的工具動(dòng)態(tài)和靜態(tài)調(diào)度 (DASS) 集成到 HLS 流程中。例如,開(kāi)源前端使我們能直接進(jìn)行程序分析和轉(zhuǎn)換,并將編譯指示插入到 LLVM 中。”

“從我們的角度看,開(kāi)發(fā)全面的 HLS 工具需要大量工程設(shè)計(jì)工作,這也是學(xué)術(shù)界與工業(yè)之間存在的差距之一。賽靈思慷慨地開(kāi)放了商業(yè) HLS 前端,它能與 Vitis HLS 結(jié)合使用,從而提供了靈活的 API 以及從解析到 IR 優(yōu)化的可讀源代碼。它使得我們不必再處理詳細(xì)的實(shí)施方案,使我們能夠在實(shí)用應(yīng)用場(chǎng)景中解決問(wèn)題,并幫助我們高效地評(píng)估自己的想法。對(duì)于 HLS 社區(qū),我們相信這個(gè)開(kāi)源項(xiàng)目將大幅促進(jìn)創(chuàng)新,因?yàn)樗軒椭脩?hù)根據(jù)具體需求輕松定制工具?!?/p>

香港科技大學(xué)的兩個(gè)開(kāi)發(fā)項(xiàng)目利用了 Vitis HLS 前端:

項(xiàng)目 1:高效自動(dòng)優(yōu)化 Pass 階段排序:

在該項(xiàng)目中,根據(jù)輸入源代碼的特性,開(kāi)源前端中提供優(yōu)化 pass 的最佳順序?qū)⑼ㄟ^(guò)機(jī)器學(xué)習(xí)和啟發(fā)式算法進(jìn)行搜索,用于改進(jìn)性能和資源消耗。

項(xiàng)目 2:多 FPGA HLS:

在該項(xiàng)目中,開(kāi)源前端生成的 IR 代碼將通過(guò)性能和資源模型進(jìn)行分析,并自動(dòng)劃分為子模塊,這些子模塊針對(duì)與網(wǎng)絡(luò)DDR 存儲(chǔ)器互聯(lián)的多個(gè) FPGA 應(yīng)用進(jìn)行了優(yōu)化。

Readyto Get Started?

Vitis HLS 前端的源代碼可在賽靈思 GitHub 庫(kù)中獲取。該庫(kù)共享的3個(gè)示例演示了如何使用和定制流程,包括構(gòu)建定制 LLVM pass 的流程。

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

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

編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 賽靈思
    +關(guān)注

    關(guān)注

    32

    文章

    1794

    瀏覽量

    131456
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1642

    瀏覽量

    49247
  • 硬件開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    3

    文章

    159

    瀏覽量

    24262
  • HLS
    HLS
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

    24187

原文標(biāo)題:開(kāi)啟無(wú)限可能的世界: Vitis HLS 前端現(xiàn)已全面開(kāi)源

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    前端技術(shù)的未來(lái)趨勢(shì):擁抱創(chuàng)新,塑造無(wú)限可能

    隨著科技的飛速發(fā)展,前端技術(shù)正站在新的歷史起點(diǎn),邁向充滿(mǎn)無(wú)限可能的未來(lái)。在未來(lái),前端技術(shù)將繼續(xù)與新興技術(shù)深度融合,不斷拓展其邊界,為我們帶
    的頭像 發(fā)表于 01-22 10:07 ?70次閱讀

    gitee 與 GitHub 的比較

    在軟件開(kāi)發(fā)領(lǐng)域,代碼托管平臺(tái)扮演著至關(guān)重要的角色。它們不僅提供了代碼存儲(chǔ)和版本控制的功能,還促進(jìn)了團(tuán)隊(duì)協(xié)作和開(kāi)源項(xiàng)目的共享。Gitee(碼云)和GitHub是兩個(gè)最著名的代碼托管服務(wù)提供商,它們?cè)?/div>
    的頭像 發(fā)表于 01-06 09:47 ?134次閱讀

    助力AIoT應(yīng)用:在米爾FPGA開(kāi)發(fā)板實(shí)現(xiàn)Tiny YOLO V4

    Darknet 訓(xùn)練的截圖 四、 通過(guò) Vivado HLS 為 FPGA 準(zhǔn)備模型要將模型部署到 FPGA,需要將神經(jīng)網(wǎng)絡(luò)操作轉(zhuǎn)換為硬件級(jí)描述。使用 Xilinx 的 Vitis HLS
    發(fā)表于 12-06 17:18

    NVIDIA TensorRT-LLM Roadmap現(xiàn)已在GitHub公開(kāi)發(fā)布

    感謝眾多用戶(hù)及合作伙伴一直以來(lái)對(duì)NVIDIA TensorRT-LLM的支持。TensorRT-LLM 的 Roadmap 現(xiàn)已在 GitHub 公開(kāi)發(fā)布!
    的頭像 發(fā)表于 11-28 10:43 ?331次閱讀
    NVIDIA TensorRT-LLM Roadmap<b class='flag-5'>現(xiàn)已在</b><b class='flag-5'>GitHub</b><b class='flag-5'>上</b>公開(kāi)發(fā)布

    解鎖全球網(wǎng)絡(luò):探索海外靜態(tài)IP的無(wú)限可能

    海外靜態(tài)IP作為網(wǎng)絡(luò)連接的重要工具,為用戶(hù)解鎖了全球網(wǎng)絡(luò)的無(wú)限可能
    的頭像 發(fā)表于 11-15 08:33 ?249次閱讀

    車(chē)路協(xié)同——探索智慧路燈系統(tǒng)的無(wú)限可能

    車(chē)路協(xié)同——探索智慧路燈系統(tǒng)的無(wú)限可能
    的頭像 發(fā)表于 11-07 12:40 ?221次閱讀
    車(chē)路協(xié)同——探索智慧路燈系統(tǒng)的<b class='flag-5'>無(wú)限</b><b class='flag-5'>可能</b>

    Arm推出GitHub平臺(tái)AI工具,簡(jiǎn)化開(kāi)發(fā)者AI應(yīng)用開(kāi)發(fā)部署流程

    軟件提供了無(wú)縫的開(kāi)發(fā)體驗(yàn)。 GitHub Actions、原生 GitHub 運(yùn)行器和基于 Arm 平臺(tái)的 AI 框架相結(jié)合,幫助全球 2,000 萬(wàn)開(kāi)發(fā)者簡(jiǎn)化 AI 應(yīng)用開(kāi)發(fā)部署流程。
    的頭像 發(fā)表于 10-31 18:51 ?2875次閱讀

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    減少錯(cuò)誤并更容易調(diào)試。然而,經(jīng)常出現(xiàn)的問(wèn)題是性能權(quán)衡。在高度復(fù)雜的 FPGA 設(shè)計(jì)中實(shí)現(xiàn)高性能需要手動(dòng)優(yōu)化 RTL 代碼,而這對(duì)于HLS開(kāi)發(fā)環(huán)境生成的 RTL 代碼來(lái)說(shuō)是不可能的。然而,存在一些解決方案
    發(fā)表于 08-16 19:56

    Mistral Large 2現(xiàn)已在Amazon Bedrock中正式可用

    北京2024年7月25日 /美通社/ -- 亞馬遜云科技宣布,Mistral AI的Mistral Large 2(24.07)基礎(chǔ)模型(FM)現(xiàn)已在Amazon Bedrock中正式可用
    的頭像 發(fā)表于 07-26 08:07 ?367次閱讀

    在Windows 10創(chuàng)建并運(yùn)行AMD Vitis?視覺(jué)庫(kù)示例

    本篇文章將演示創(chuàng)建一個(gè)使用 AMD Vitis? 視覺(jué)庫(kù)的 Vitis HLS 組件的全過(guò)程。此處使用的是 Vitis Unified IDE。如果您使用的是舊版 AMD
    的頭像 發(fā)表于 05-08 14:02 ?841次閱讀
    在Windows 10<b class='flag-5'>上</b>創(chuàng)建并運(yùn)行AMD <b class='flag-5'>Vitis</b>?視覺(jué)庫(kù)示例

    Mistral Large模型現(xiàn)已在Amazon Bedrock正式可用

    Mistral AI的Mistral Large模型現(xiàn)已在Amazon Bedrock正式可用。今年三月,亞馬遜云科技在Amazon Bedrock引入了法國(guó)先鋒AI初創(chuàng)企業(yè)Mistral AI
    的頭像 發(fā)表于 04-08 16:26 ?583次閱讀

    FPGA版通用圖形處理架構(gòu)創(chuàng)新解決方案

    ThunderGP是基于HLS開(kāi)源通用圖形處理框架,支持Vitis和SDAccel開(kāi)發(fā)環(huán)境,適用于U50、U200、U250和VCU1525等Xilinx Alveo平臺(tái)(官方開(kāi)發(fā)板)。
    發(fā)表于 03-26 12:16 ?570次閱讀
    FPGA版通用圖形處理架構(gòu)創(chuàng)新解決方案

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    一章聊了一下vitis2023.2怎樣使用classic Vitis IDE,這章我們來(lái)說(shuō)一說(shuō)基于classic Vitis IDE的工程怎么樣更新到新版本的
    發(fā)表于 03-24 17:14

    Vitis2023.2使用之—— classic Vitis IDE

    熟悉的界面,對(duì)于熟悉傳統(tǒng)界面的工程師來(lái)說(shuō)基本沒(méi)有變化 下一章聊聊傳統(tǒng)GUI工程怎么更新到新版的Vitis Unified IDE工程。
    發(fā)表于 03-24 16:15

    開(kāi)放原子開(kāi)源大賽—基于OpenHarmony的團(tuán)結(jié)引擎應(yīng)用開(kāi)發(fā)賽正式啟動(dòng)!

    ! 賽事報(bào)名通道現(xiàn)已正式開(kāi)啟!趕快關(guān)注賽事官網(wǎng)、OpenHarmony官方公眾號(hào)、Unity中國(guó)社區(qū)活動(dòng)、或添加“賽事小助手”微信,獲取更多賽事詳情與報(bào)名信息!讓我們一起在OpenHarmony與團(tuán)結(jié)
    發(fā)表于 03-13 10:45