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

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

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

3天內不再提示

GPGPU體系結構優化方向(2)

處理器與AI芯片 ? 來源: 處理器與AI芯片 ? 2024-10-09 10:06 ? 次閱讀

GPGPU體系結構優化方向 [下]

繼續之前的文章,我們介紹GPGPU的優化方向:1)增強GPGPU的可編程性 2)CPU-GPU異構架構

增強GPGPU的可編程性

增強GPGPU的可編程性可以增加GPGPU相對其他平臺,比如FPGA的優勢。主要有以下三個方向:

1.Coherence and Consistency model

2.Transactional Memory

3.Memory Management

Coherence and Consistency model

目前的GPU缺乏cache一致性,需要diable 線程private的L1 cache,或者采用基于軟件的bulk coherence決策(比如在同步點,flush掉所有的private L1 cache。

不同于CPU的一致性模型,GPU存在大量的線程,如果也按照CPU的方式維護一致性,那么代價很大。文章【Cache Coherence for GPU Architectures】通過使用全局同步計數器來self-invalidate cache block,不需要顯性的信息來維護一致性,稱為Temporal Coherence(TC)。

wKgaomcF5YKAEuVYAADdcbf8PKE778.jpg

【Exploring Memory Consistency for Massively-Threaded Throughput-Oriented Processors】分析了硬件一致性模型,通過比較了sequential consistency, total store order and relaxed memory model,他們發現硬件一致性在GPU上的代價很小,可以維護strongly ordered,而只需要很小的代價。

Transactional memory

GPU中,跨線程的通信是通過在同一個thread block內的thread的scratch-pad memory進行的。最新的GPU也可以使不同的線程通過全局的原子操作來訪問進行全局thread block的通信。

原子操作可以用于實現軟件同步原語,比如fine-grain lock,可以簡化編程,但是lock-based的同步容易導致死鎖。KILO TM (KILO TM: Hardware Transactional Memory for GPU Architecture) 不依賴cache一致性或者原子操作,而是通過細粒度的基于值的方法檢測沖突。

wKgZomcF5YKAGz5iAAFjUpTFaXk707.jpg

Memory management

wKgZomcF5YKAFiirAAKb9oyNOCw770.jpg

GPUdmmGPUdmm: A High-performance andMemory-Oblivious GPU ArchitectureUsing Dynamic Memory Management通過將GPU的內存看作是CPU的內存的緩存,來進行動態的內存管理。有以下優勢:

簡化了軟件編程對memory的管理

給編程人員一個CPU的memory編程視圖

將GPU執行和CPU-GPU數據傳輸overlap

【Architectural Support for Address Translation on GPUs】通過基于GPU的特性修改了傳統的TLB和PTW來減少對虛擬地址物理地址轉換的overhead。

wKgZomcF5YKAco85AABKEGxbpjk257.jpg

通過在GPGPU內部支持virtual-physical address的轉換可以支持unified memory,文章的作者通過比較與CPU TLB和page table walker的不同,主要進行了以下改進:

warp內的線程公用TLB,而不是每個線程獨占一個

地址coaleacing之后再進行虛實地址轉換

提出了page divergence的觀點,即一個warp內只需要3個讀口即可滿足常用的情況

TLB采用非阻塞tlb

Cache Conscious Warp Scheduling

wKgaomcF5YKAT6r2AAB-qpdG8u4453.jpg

CPU-GPU與異構架構

CPU-GPU集成

【Redefining the role of the CPU in the era of CPU–GPU integration】文章展示了在將代碼部分CPU執行,部分卸載到GPU上執行之后,在CPU執行的代碼和傳統的CPU優化過的代碼完全不同。

wKgaomcF5YKAdXxKAAE8cpRrq8E960.jpg

他們展示了剩余給CPU的代碼有更低的指令層并行性,更復雜的load store操作,更難進行預取和分支預測。并且剩下的順序執行的代碼不會從SIMD指令獲益,也不會從更多的CPU核數上受益,因為線程并行和數據并行都被卸載到GPU上了。

CPU-GPU 編程

【Heterogeneous system coherence for integrated CPU–GPU system】提出以前的基于目錄一致性的CPU-GPU的顆粒度是64Byte,可以將其增加到1KB。因為很多GPU程序是有高度的spatial locality的,大多數的請求是不需要訪問region directory的。

利用異構架構

【CPU-Assisted GPGPU on Fused CPU-GPU Architectures】提出可以通過在CPU將程序卸載到GPU之后,在編譯器的輔助下另起一個線程,這個線程用于專門給GPU預取數據,因為CPU有更高的時鐘頻率,因此預取提高l3 cache的命中率,可以取得很好的效果。

wKgaomcF5YKAf2B4AAA0fACVCQk307.jpg

Shared resources management

因為CPU和GPU越來越趨近于共享memory資源,包括last level cache, 片上網絡和內存。因為GPU可以產生大量的內存請求,可以競爭掉CPU對內存的請求。主要有兩種方式來減少CPU和GPU之間的干擾:

application-aware resource managerment

throttling-based management

【Staged memory scheduling: Achieving high performance and scability in heterogeneous systems】提出了staged memory scheduling策略。在內存的層面對cpu gpu的mem req進行平衡。

wKgZomcF5YKACRuIAABysh6CQkY498.jpg

第一個stage是基于row-buffer locality,第二個stage通過平衡 “偏向CPU的shortest job first調度策略” 和 “偏向GPU的round robin調度策略”來保證CPU和GPU的平衡。 【TAP: A TLP-Aware Cache Management Policy for a CPU-GPU Heterogeneous】發現并不是所有的GPU應用都是對latency不敏感,也存在對cache 敏感,對latency敏感的應用,并且發現GPU core會通常比CPU core更頻繁地訪問Cache。他們引入了cache block lifetime normalization策略來使得對于CPU和GPU,cache都有相似的lifetime。 【Managing GPU concurrency in heterogeneous architectures】通過增加或減少GPU的active warp,來減少其與CPU的競爭。

wKgaomcF5YKAWtzpAAHENaUAMzQ680.jpg

總結:

增強GPU的可編程性

1. Coherence and Consistency model 通過使用計數器,避免顯示的維護cache一致性,self-invalidate。另外硬件維護strongly ordered內存一致性,代價也可以很小。

2. Transactional Memory 可以使用基于value檢測沖突。

3. Memory Management 可以將GPU的memory視為CPU memory的cache。另外也有對虛實轉換TLB和page table walker的優化工作。

CPU-GPU異構架構

1.CPU的代碼特性在將并行性高的代碼offload到GPU之后完全不同

2.同樣是對CPU,GPU一致性的優化,將顆粒度從64B增加到1KB

3.利用異構架構,CPU執行對GPU數據的預取工作

4. 針對CPU和GPU對資源競爭的平衡,可以平衡對memory,cache的訪問,也可以調節GPU的active warp。

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

    關注

    1629

    文章

    21736

    瀏覽量

    603319
  • 編程
    +關注

    關注

    88

    文章

    3615

    瀏覽量

    93731
  • 線程
    +關注

    關注

    0

    文章

    504

    瀏覽量

    19682
  • GPGPU
    +關注

    關注

    0

    文章

    29

    瀏覽量

    4903

原文標題:GPGPU 體系結構優化方向 [下]

文章出處:【微信號:處理器與AI芯片,微信公眾號:處理器與AI芯片】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM SOC體系結構

    ARMSOC 體系結構
    發表于 11-22 10:54

    ARM體系結構是怎樣的?

    ARM體系結構是怎樣的?
    發表于 11-05 06:40

    嵌入式微處理器體系結構

    目錄一、嵌入式微處理器體系結構1、馮諾依曼體系結構2、哈弗體系結構二、嵌入式系統的硬件結構1、嵌入式微控制器MCU(CPU+片內內存+片內外
    發表于 11-08 06:57

    Microarchitecture指令集體系結構

    第二章 ARM微處理器概述與編程模型ARM體系結構及其發展歷史處理器的體系結構處理器微架構 Microarchitecture指令集體系結構 Architecture幾種常見的指令集X86Inter
    發表于 12-14 07:13

    Arm的DRTM體系結構規范

    的原理和術語,但也包含了顯著的差異。 本規范的結構如下: ?第2節,DRTM體系結構概述,概述了DRTM,并介紹了該體系結構如何將DRTM映射到基于Arm的系統。本節介紹了與TCG定義
    發表于 08-08 07:45

    ARM體系結構與編程

    ARM體系結構與編程
    發表于 02-11 09:35 ?169次下載
    ARM<b class='flag-5'>體系結構</b>與編程

    LTE體系結構

    LTE體系結構 LTE體系結構可以借助SAE 體系結構來做詳細描述。在SAE 體系結構中,RNC部分功能、GGSN、SGSN 節點將被融合為一個新的節點,
    發表于 06-16 13:09 ?9836次閱讀

    網絡體系結構,什么是網絡體系結構

    網絡體系結構,什么是網絡體系結構 通過通信信道和設備互連起來的多個不同地理位置的計算機系統,要使其能協同工作實現信息交換和資源共享
    發表于 04-06 16:30 ?1702次閱讀

    ARM體系結構與程序設計

    《ARM體系結構與程序設計》是ARM體系結構與程序設計的一本實用指導書籍,通過案例詳細介紹了ARM體系結構與程序設計,案例中的程序都取自實際的項目,且對程序有詳細注解。
    發表于 10-27 16:37 ?2361次閱讀

    ARM體系結構(2).PPT課件

    ARM體系結構(2),有需要的朋友下來看看。
    發表于 01-08 14:47 ?9次下載

    XScale體系結構及編譯優化問題

    XScale是一款具有業界領先高性能特性的ARM兼容嵌入式微處理器構架被應用處理 能力要求很高的嵌入式應用領域如PDA、高帶寬網絡交換等。本文分析了RISC、 ARM和XScale體系結構的特點
    發表于 04-18 10:28 ?0次下載

    軟件體系結構的分析

    軟件系統因具有節點眾多、節點間聯系復雜、隨時間演化、自組織臨界等特性可將其視為復雜系統。在軟件安全領域,對軟件體系結構的分析一直是研究的重點。軟件體系結構具有自身的脆性,這體現在軟件系統的運行過程
    發表于 11-24 10:34 ?15次下載
    軟件<b class='flag-5'>體系結構</b>的分析

    基于DoDAF的衛星應用信息鏈體系結構

    針對偵察衛星應用信息鏈體系結構建模問題,提出了基于DoDAF (department of defense architect framework)的體系結構描述方法和基于ABM (activity
    發表于 01-10 16:58 ?1次下載

    Oracle體系結構講解

    Oracle體系結構講解(開關電源技術的節能意義)-該文檔為Oracle體系結構講解文檔,是一份十分不錯的參考資料,感興趣的可以下載看看,,,,,,,,,,,,,,,,,,,,,
    發表于 09-27 10:27 ?3次下載
    Oracle<b class='flag-5'>體系結構</b>講解

    GPGPU體系結構優化方向(1)

    繼續上文GPGPU體系結構優化方向 [上],介紹提高并行度和優化流水線的方向
    的頭像 發表于 10-09 10:03 ?284次閱讀
    <b class='flag-5'>GPGPU</b><b class='flag-5'>體系結構</b><b class='flag-5'>優化</b><b class='flag-5'>方向</b>(1)
    主站蜘蛛池模板: 97福利影院| 手机看片福利视频| 黄色视网站| 国产片一区二区三区| 午夜干b| 久久久久久国产精品免费免| 亚洲网站在线看| 高h污快穿文汁水四溅| 欧美色碰碰碰免费观看长视频| 夜夜cao| 黄色录像日本| 直接看的黄色网址| 久久久一本| bt磁力在线搜索| 亚洲成a人片8888kkkk| 天堂在线视频精品| 磁力bt种子搜索在线| 在线观看h视频| 四虎国产精品成人永久免费影视 | 日韩一区二区视频在线观看| 99精品久久久久久久婷婷| 日本人69xxxxx| 色妞导航| 午夜大片免费完整在线看 | 亚洲视频区| 午夜精品网| 99久久免费精品视频| sss华人在线play| 欧美日本色| 免费 在线播放| 亚洲五月综合网色九月色 | 99久精品| 亚洲国产人久久久成人精品网站 | 人人艹人人射| 亚洲欧洲一区| 在线国产资源| 日本a级特黄三级三级三级| 久久视频免费看| 亚洲娇小性色xxxx| 日本a级片在线播放| 亚洲精品午夜视频|