數(shù)據(jù)類型是我們使用C++編程時(shí)必須明確的一項(xiàng)內(nèi)容。針對(duì)AI Engine,這一點(diǎn)尤為重要。因?yàn)椴煌臄?shù)據(jù)類型所支持的運(yùn)算是不同的。對(duì)于標(biāo)量類型,AI Engine支持標(biāo)準(zhǔn)的8位、16位和32位有符號(hào)/無(wú)符號(hào)整型數(shù)據(jù)類型,同時(shí)也支持32位單精度浮點(diǎn)類型(float)。對(duì)于向量類型,AI Engine支持特定的向量,所謂特定是指其長(zhǎng)度(元素個(gè)數(shù))和寬度(數(shù)據(jù)位寬)是固定的幾種,這源于AI Engine自身的架構(gòu)。 AI Engine所支持的向量類型如下表所示。不難看出,向量的總位寬無(wú)外乎128/256/512/1024-bit這四種。例如,對(duì)于int8,寬度為8,長(zhǎng)度最小為16(對(duì)應(yīng)總位寬為128),最大為128(對(duì)應(yīng)總位寬為1024)。對(duì)于cint32(c是complex的首字母,表示復(fù)數(shù)),寬度為64,長(zhǎng)度最小為2(對(duì)應(yīng)總位寬為128),最大為16(對(duì)應(yīng)總位寬1024)。

為什么向量的總位寬只有這四種呢?這是因?yàn)锳I Engine內(nèi)部的向量寄存器位寬也只有這四種,如下圖所示。從這個(gè)角度而言,盡管C++是高抽象度的編程語(yǔ)言,但針對(duì)AI Engine,在編程時(shí)仍要考慮AI Engine的架構(gòu),編程的過程有點(diǎn)像在C++里寫匯編語(yǔ)言。由于向量寄存器的個(gè)數(shù)是有限的,故向量寄存器屬于稀缺資源,如果設(shè)計(jì)中定義的向量個(gè)數(shù)超過了向量寄存器的個(gè)數(shù),工具會(huì)將其映射到AI Engine內(nèi)的存儲(chǔ)器,這時(shí)讀/寫存儲(chǔ)器就會(huì)有額外的Latency消耗。

如何使用API定義一個(gè)向量呢?我們看一個(gè)簡(jiǎn)單的例子: aie::vector《int32, 16》 這里定義了一個(gè)寬度為32,長(zhǎng)度為16的向量,如下圖所示。共16個(gè)索引,每個(gè)索引對(duì)應(yīng)一個(gè)int32整型數(shù)據(jù)。
AIE(14)—AI Engine API簡(jiǎn)介
AIE(13)—標(biāo)量/向量處理單元
AIE(12)—AI Engine架構(gòu)概覽
AIE(11)—評(píng)估graph性能
AIE(10)—使用Trace View
AIE(9)—?jiǎng)?chuàng)建包含PL/PS/AIE的Vitis工程(2)
AIE(8)—?jiǎng)?chuàng)建包含PL/PS/AIE的Vitis工程(1)
AIE(7)—理解Runtime Ratio
AIE(6)—用Vitis Analyzer查看AIE編譯結(jié)果
AIE(5)—針對(duì)AI Engine進(jìn)行編譯
AIE(4)—AIE編譯器和X86模擬器
AIE(3)—理解AIE編程中的Kernel
AIE(2)—理解AIE編程中的graph
AIE(1)—?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的AIE工程
揭秘AIE
Vivado ML到底哪些方面利用了機(jī)器學(xué)習(xí)
布線后的設(shè)計(jì)調(diào)試方法
Vivado下如何定制Strategy?
Vivado BDC 怎么用?
SystemVerilog仿真如何生成隨機(jī)數(shù)
Verilog仿真如何生成隨機(jī)數(shù)
為什么VitisHLS報(bào)告中Latency顯示-?
利用綜合技術(shù)緩解布線擁塞
Vivado下的管腳分配可以這么做
Vivado Block Design Container
Vivado跟路徑相關(guān)的錯(cuò)誤信息
使用帶HBM芯片的注意事項(xiàng)
Vivado Intelligent Design Run(2)
Vivado Intelligent Design Run (1)
Abstract Shell流程分析(2)
Abstract Shell流程分析(1)
Vivado下封裝IP基本知識(shí)
原文標(biāo)題:AIE(15)—AI Engine中的數(shù)據(jù)類型(1)
文章出處:【微信公眾號(hào):TeacherGaoFPGAHub】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7739瀏覽量
171696 -
API
+關(guān)注
關(guān)注
2文章
2373瀏覽量
66800 -
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1964瀏覽量
39591
原文標(biāo)題:AIE(15)—AI Engine中的數(shù)據(jù)類型(1)
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
系統(tǒng)調(diào)用和API有什么區(qū)別呢?
教你如何使用API
一、API到底是什么?為什么我需要它?
Python調(diào)用API教程
電商API是什么?常用的電商API有哪些?發(fā)揮著怎樣的作用?
請(qǐng)問什么是API?怎么使用它?
RESTful API設(shè)計(jì)原則: 構(gòu)建易用、可擴(kuò)展的API接口。
Vector向量指令集簡(jiǎn)介(一)
按圖搜索1688商品的API接口
使用MATLAB的支持向量機(jī)解決方案
RESTful API設(shè)計(jì)原則: 構(gòu)建易用、可擴(kuò)展的API接口
API接口使用全指南:從基礎(chǔ)調(diào)用到實(shí)戰(zhàn)技巧
構(gòu)建自定義電商數(shù)據(jù)分析API
電商API入門問答:開發(fā)者必知的10個(gè)基礎(chǔ)問題
集成API設(shè)計(jì)+測(cè)試+文檔管理,全新一站式解決方案SmartBear API Hub功能介紹
如何使用API定義一個(gè)向量呢
評(píng)論