在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TPU內存(二)

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-18 11:29 ? 次閱讀

我們知道,TPU中的數據結構是張量,可以看做是一個四維數組,形狀為(N,C,H,W)。

要描述一個張量在算能的TPU上是如何排列的,我們首先要知道一個概念。 那是Stride。

它用于衡量同一 NPU 中張量的兩個元素之間的距離。

wKgZomTeydeACV1hAAGcNUSifAI877.jpg

例如,W_Stride 表示張量 n,c,h,w 和 n,c,h,w+1 之間有多少個元素

而H_stride表示從n,c,h,w到n,c,h+1,w我們需要經過的元素個數

同樣,我們可以得到C_stride和N_stride在Global memory上的含義。

但是對于local memory,我們可以看到是有所不同的,C_stride指的是從n,c,h,w到n,c+X,h,w的元素個數,其中X表示 NPU 的數量。

wKgaomTeydmAO7c4AAKvIOJajIg635.jpg

而在N_stride中我們還需要考慮我們開始存儲數據的local memory的索引。

稍后我將進一步解釋這一點。

有了tensor的shape和stride,我們基本上就可以得到這個tensor的每個元素在內存上的地址

但是步長的單位是張量中的單個元素,所以對于不同的數據類型,要計算它們的地址,我們還必須將它們的字節數考慮進去。

例如,在一個 F32 張量中,w 和 w+1 個元素之間的實際距離是 1 * 4。

在global memory中,數據以連續的方式存儲,

wKgZomTeyduAUvWMAAHhigiK6oY705.jpg

這很容易理解。 由于global memory是一個完整的DDR,我們把tensor的每個元素挨個存儲,所以w_stride等于1,h_stride等于w,對于c_stride來說,就是w的h倍,n_stride則是c_stride的c倍。

例如,對于形狀為 (2,2,3,2) 的張量,
w_stride為1,每2個元素后開始一個新的h,所以h_stride為2,每個通道包含3 * 2個元素,所以c_stride應該為6,同理,我們可以很容易地得到n_stride, 12。

但是對于本地內存,就變得有點復雜了,

wKgaomTeyd2AFMUeAALYip3_ZhU252.jpg

首先,張量的不同通道會被放到不同的NPU上。 如果通道大于 NPU 的數量,它將返回到第一個 NPU開始存放。

這就是為什么local memory的C_stride是n,c,h,w到n,c+X,h,w。 Stride僅衡量同一memory中的距離。

例如,我們使用 X個NPU 來存儲具有 X + 2 個通道的張量,我們將從第一個 NPU 到最后一個 NPU 放入每個通道的元素。 然后其余的通道再次從第一個 NPU 開始存放。

對于張量的每個batch,我們將從同一 NPU 上新的一行開始存儲。

wKgZomTeyd-ASS8lAAMQ7pdI8Ew421.jpg

像這個例子中,當我們完成第一批的存儲后,即使同一個bank中的剩余內存為空,我們也不會存儲任何東西,而是重新從NPU0開始。

這就解釋了為什么我們在計算 N_stride 時需要考慮local memory的起始索引。

基于上述原則,local memory中的張量以多種不同方式排布。

wKgaomTeyeCARK4kAAE4JsKbFoU256.jpg

最常用的一種是對齊排布。

這意味著張量的起始地址應該可以被 EU_BYTE 整除。

另外,對于不同通道的數據,用于保存的區域大小應該是EU_NUM的倍數,

從數學角度看,C_stride的計算應該是這樣的(看PPT)。 當H * W小于EU_NUM時,C_stride為EU_NUM。 當大于EU_NUM但小于2倍EU_NUM時,C_stride應為EU_NUM的2倍。

關于N_stride,由于有時通道數大于NPU_NUM或者local memory的起始索引不為零,可能會導致不同通道的數據存儲在同一個NPU中,N_stride的公式也應該做round- up 操作,如PPT中所示。

例如,我們將在具有 64 EU_BYTE 的 TPU 上處理形狀為 (2,3,4,5) 的fp16張量。其中包含了4個NPU,而本地內存的起始索引設置為 0。

wKgaomTeyeKAE9ULAAOlUYDXgBI340.jpg

所以我們從NPU0開始存儲張量,W_stride和H_stride顯然是1和5。

對于C_stride,由于H * W小于EU_NUM,所以C_stride為32。

另外,因為這個張量的通道小于 NPU_NUM,所以N_stride 也是 32。

但是當起始索引設置為2時,情況會有點不同,C步長仍然是32,但是由于張量的最后一個通道被存到第一個NPU,下一batch中的數據應該從NPU2的下一行開始存儲,則 N_stride 應為 64。

wKgZomTeyeWAK47EAAOsUe8G2XM560.jpg

另一個常見的排布類型就是緊密排布,除了C_stride部分,其余的與對齊排布方式相似。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • DDR
    DDR
    +關注

    關注

    11

    文章

    730

    瀏覽量

    66302
  • 內存
    +關注

    關注

    8

    文章

    3103

    瀏覽量

    74940
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    40571
  • NPU
    NPU
    +關注

    關注

    2

    文章

    317

    瀏覽量

    19437
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    代Tensor處理單元TPU 用AI幫你看世界!

    這些強大的人工智能靠的是強大的第代Tensor處理單元TPU。它能有效地將Google服務器變為具有11.5千萬億次浮點計算能力的超級計算機。
    發表于 05-10 10:29 ?2062次閱讀

    TPU-MLIR開發環境配置時出現的各種問題求解

    按照 TPU-MLIR 開發指南進行環境配置: 2.1. 代碼下載? 代碼路徑: https://github.com/sophgo/tpu-mlir 克隆該代碼后, 需要在Docker中編譯
    發表于 01-10 08:02

    CORAL-EDGE-TPU:珊瑚開發板TPU

    包括一個上系統模塊(SOM)和護壁板。SOM基于iMX 8M應用處理器,還包含LPDDR4內存,eMMC存儲,雙頻Wi-Fi和Edge TPU。Edge TPU是由Google設計的小型ASIC
    發表于 05-29 10:43

    TPU透明副牌.TPU副牌料.TPU抽粒廠.TPU塑膠副牌.TPU再生料.TPU低溫料

    清源塑膠經營. 供應TPU塑膠原料.副牌.再生顆粒料.TPU塑膠.TPU透明副牌. 再生粒子.白色.黑色.透明. 注塑料.擠出料. 壓延等等..聚醚. 脂肪料. 聚酯料.硬度70A--98A.
    發表于 11-21 17:21

    TPU副牌低溫料.TPU熱熔料.TPU中溫料.TPU低溫塑膠.TPU低溫抽粒.TPU中溫塑料

    清源塑膠公司.供應TPU塑膠原料.副牌.再生顆粒料.TPU塑膠.TPU透明副牌. 再生粒子.白色.黑色.透明. 注塑料.擠出料. 壓延等等..聚醚. 脂肪料. 聚酯料.硬度70A--98A. 高硬度
    發表于 11-21 17:33

    供應TPU抽粒工廠.TPU再生工廠.TPU聚醚料.TPU聚酯料.TPU副牌透明.TPU副牌.TPU中低溫料

    清源塑膠經營.進口.國內.供應TPU原料.副牌TPU塑膠.TPU透明副牌. 再生粒子.白色.黑色.透明. 注塑料.擠出料. 壓延等等..聚醚. 脂肪料. 聚酯料.硬度70A--98A. 高硬度
    發表于 11-21 17:47

    采購TPU復牌料.復牌TPU原料.TPU復牌透明塑料.TPU廢邊料.TPU廢膜料.TPU低溫料

    全球大量采購① tpu,透明,白色,副牌,再生粒,注塑,擠出料,TPU邊角膜料. TPU廢卷膜. 進口.國內料. 200噸,② TPU低溫,中溫.副牌料,膠塊料. 200噸, ③ PB
    發表于 11-22 02:38

    CPU,GPU,TPU,NPU都是什么

    嵌入式算法移植優化學習筆記5——CPU,GPU,TPU,NPU都是什么一、什么是CPU?、什么是GPU?三、什么是TPU?四、什么是NPU?附:一、什么是CPU?中央處理器(CPU),是電子計算機
    發表于 12-15 06:07

    如何驗證MC68332 TPU配置是否正確?

    a) 以下 TPU 模塊配置在項目中完成 *M332_TPU_TMCR = 0x1e4c;/* 選擇 TCR1 時基 = 250nsec, TCR2 = 4usec,仿真模式
    發表于 05-09 08:17

    BM1684中各種內存的概念

    A53專用 + 4GB TPU專用 + 4GB VPP/VPU專用。 設備內存(Device Memory)和系統內存(Host Memory): 根據BM168x產品類型或工作模式的不同,設備
    發表于 09-19 07:47

    tpu是什么材料_tpu硬度范圍_tpu的應用

    TPU(Thermoplastic polyurethanes)名稱為熱塑性聚氨酯彈性體橡膠。主要分為有聚酯型和聚醚型之分,它硬度范圍寬(60HA-85HD)、耐磨、耐油,透明,彈性好,在日用品
    發表于 12-01 15:55 ?2.1w次閱讀

    TPU和GPU的帶寬模型

    帶寬模型最大的限制就是這些計算是針對特定矩陣大小的,計算的難度在各種尺寸之間都不同。例如,如果你的batch size是128,那么GPU的速度會比TPU稍快一點。如果batch size小于128
    的頭像 發表于 10-21 09:20 ?4553次閱讀

    TPU內存(一)

    TPU內存(一)
    的頭像 發表于 08-18 11:29 ?881次閱讀
    <b class='flag-5'>TPU</b><b class='flag-5'>內存</b>(一)

    TPU和NPU的區別

    TPU和NPU的區別? 在IT領域中,TPU和NPU屬于兩種不同類型的芯片。這兩種芯片都是專為人工智能(AI)和大型數據分析設計而開發的,但它們的功能和優點卻有所不同。在本文中,我們將詳細介紹TPU
    的頭像 發表于 08-27 17:08 ?1w次閱讀

    tpu材料的用途和特點

    TPU材料,即熱塑性聚氨酯(Thermoplastic Polyurethane),是一種聚合物材料,具有廣泛的應用領域和獨特的特點。 TPU材料的主要用途如下: 鞋類行業:TPU材料常用于鞋類
    的頭像 發表于 01-16 10:17 ?4580次閱讀
    主站蜘蛛池模板: 奇米影视7777| 欧美日韩一区不卡 | 色多网站免费视频 | 日本不卡一区在线 | 国产精品爱啪在线线免费观看 | 日本三级强在线观看 | 第四色男人天堂 | 色婷婷综合久久久 | 香蕉成人国产精品免费看网站 | 一区二区三区视频观看 | 婷婷色九月| 国产婷婷一区二区三区 | 天天色综合久久 | 亚洲一级色 | 视频在线观看网站免费 | 97国产精品人人爽人人做 | 亚洲аv电影天堂网 | 天天干天天草天天射 | a在线免费| 亚洲电影一区二区 | 天天综合欧美 | 天天射天天色天天干 | 女人张开腿 让男人桶个爽 免费观看 | 亚洲 欧美 另类 吹潮 | 久久综合九色综合欧美播 | 色婷婷综合缴情综六月 | 亚洲第一免费视频 | 新版天堂资源在线官网8 | 国产女人又爽又大 | 欧美屁屁影院 | 免免费看片 | 国产盗摄女子私密保健视频 | 他也色在线视频 | 午夜视频在线观看国产www | 色综合天天综合中文网 | 人人澡 人人澡 人人看 | china国语对白刺激videos chinese国产videoxx实拍 | 日韩电影天堂网 | 久久久久无码国产精品一区 | 男啪女色黄无遮挡免费视频 | 在线国产播放 |