女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

深入剖析多線程計算平臺的性能模型

Linux閱碼場 ? 來源:GPU and Computing ? 作者:GPUComputing ? 2021-06-28 16:33 ? 次閱讀

在以前的文章里,筆者談到單核CPU無論在PC端還是服務器上基本上已經退出歷史舞臺,目前主流的計算平臺是使用多核(multiple cores)的CPU以及眾核(many cores)的GPU。另外處理器與內存訪問速度差距也不斷增大,為克服訪存瓶頸主要采用兩種方法。

其中多核CPU與單核CPU都是利用Cache來掩蓋訪問系統內存的延遲,以減輕訪存帶寬的壓力,其芯片的較大面積也都貢獻給Cache。在另一端,GPU通過同時運行很多簡單的線程,不使用或者只利用相對較小的Cache。

而主要通過線程間的并行(Thread Level Parallelism, TLP)來隱藏內存訪問延遲,當一部分線程因為訪存停滯的時候,另一部分線程會接著執行,使得處理單元不會空閑下來。

目前的異構計算平臺同時采用這兩種截然不同的架構,使得性能預測和優化都不太容易,面對一個給定的計算負載,我們應該如何分發能夠達到性能最佳?對芯片架構師而言,在面積受限的芯片上,怎樣合理部署處理單元、Register File和Cache等等也是讓人撓頭的事情。

希望能夠為理解優化性能提供參考,論文作者定義了一個統一仿真模型可以容納延展這兩種不同特點的架構設計。這個模型對應一個想象的混合計算平臺,該平臺由很多簡單的處理單元以及較大的共享緩存構成,通過靈活配置一系列參數,包括處理單元個數、緩存大小以及緩存和內存的訪問延遲等等,可以觀察不同參數變化對計算性能的影響。

為保持模型簡單,論文假設所有線程相互不共享數據且系統內存帶寬足夠大。如下圖所示,作者發現,當線程數量較少的時候,隨著線程數量增加,性能開始提升,而當線程數量到達轉折點,Cache不能夠容納所有線程的工作集的時候,性能反而下降。

之后,隨著線程數量越來越多,由于有足夠的線程來掩蓋Cache訪問不命中帶來內存訪問延遲,性能又接著上升,直達到平臺可獲得的最大性能。我們可以認為MC Region對應多核CPU的情形,而MT Region自然對應有超多線程的GPU,MC Region和MT Region之間的性能波谷區域在我們的架構設計和程序優化中都是要努力避免的。

以下我們具體推導下參數曲線對應的公式,下表列出計算模型涉及的參數,左邊是平臺相關的,右邊跟運算任務有關。

公式(1)為考慮Cache命中率的線程平均訪問內存所需要的時鐘數。

6876e088-d77a-11eb-9e57-12bb97331649.png

這就是說,線程每運行1/rm條指令,就會因為訪存停滯tavg時鐘,如果沒有別的線程替換進來,對應的處理單元就會處于空閑狀態,要讓該處理單元充分利用,額外需要的線程數為tavg/(CPIexe/rm)。所以要讓整個計算平臺滿負荷運轉,總共需要的線程數量為

NPE * (1 +tavg/(CPIexe/rm))。給定有n個線程的計算任務,計算平臺的利用率η可以計算如公式(2)。

68821840-d77a-11eb-9e57-12bb97331649.png

在η=1的情況下,再添加多余的線程于性能無補。根據利用率η我們可以得到計算平臺的預期性能為NPE * (f/CPIexe)*η OPS(Operations Per Second,每秒鐘運算數)。通過該公式,我們可以觀察以下各種參數調節對性能曲線的影響。

值得注意的是以上計算中我們沒有考慮內存帶寬受限的情況,如果把它納入考慮,對特定性能Performance,我們可以按公式(3)計算所要求帶寬。

6945c92a-d77a-11eb-9e57-12bb97331649.png

所以在內存帶寬也是約束條件的情況下,性能計算修正為公式(4)。

69687290-d77a-11eb-9e57-12bb97331649.png

而下圖也反映了內存帶寬對性能曲線的影響。值得提醒的是性能曲線水平頂表示計算任務在該平臺上已經觸到了內存帶寬墻(off-chip bandwidth wall),在這種情況下繼續增加線程有可能會惡化Cache命中率,使得帶寬問題更加嚴重反而有損性能,這也是為什么之前我們提到過的GPU顯存帶寬要遠大于CPU系統內存帶寬。

主要參考資料:

Many-core vs many-thread machines: Stay away from the valley

The Interplay of Caches and Threads in Chip-MultiProcessors

編輯:jq

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

    關注

    68

    文章

    11031

    瀏覽量

    215949
  • PC
    PC
    +關注

    關注

    9

    文章

    2142

    瀏覽量

    156029
  • 內存
    +關注

    關注

    8

    文章

    3108

    瀏覽量

    74980
  • TLP
    TLP
    +關注

    關注

    0

    文章

    34

    瀏覽量

    15938

原文標題:多線程計算平臺的性能模型

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    工控一體機多線程任務調度優化:聚徽分享破解工業復雜流程高效協同密碼

    任務調度作為工控一體機管理和協調各項任務的關鍵機制,其優化程度直接關乎工業生產的效率、穩定性與精準度,宛如一把關鍵鑰匙,解鎖工業復雜流程高效協同的大門。 工業復雜流程與多線程任務調度的現狀剖析 現代工業場景紛繁復雜,
    的頭像 發表于 05-28 14:06 ?78次閱讀

    請問如何在Python中實現多線程與多進程的協作?

    大家好!我最近在開發一個Python項目時,需要同時處理多個任務,且每個任務需要不同的計算資源。我想通過多線程和多進程的組合來實現并發,但遇到了一些問題。 具體來說,我有兩個任務,一個是I/O密集型
    發表于 03-11 06:57

    請問rt-thread studio如何進行多線程編譯?

    ,使用的是5800h+32g內存+sn550 ssd,開啟16線程編譯時cpu的占用率也只能到30%,編譯完整個工程需要3分鐘 感覺多線程編譯設置沒有生效,有辦法提高編譯速度嗎
    發表于 02-19 08:30

    摩爾線程宣布成功部署DeepSeek蒸餾模型推理服務

    。 據悉,DeepSeek開源模型在多語言理解與復雜推理任務中一直表現出卓越的性能,其V3、R1等系列模型更是備受業界關注。而此次摩爾線程所實現的DeepSeek蒸餾
    的頭像 發表于 02-06 13:49 ?713次閱讀

    華為云 X 實例 CPU 性能測試詳解與優化策略

    ? 2.2 Sysbench單線程CPU性能測試 ? 2.3 Sysbench多線程CPU性能測試(4線程) ? 2.4 高強度
    的頭像 發表于 12-30 14:52 ?553次閱讀
    華為云 X 實例 CPU <b class='flag-5'>性能</b>測試詳解與優化策略

    socket 多線程編程實現方法

    在現代網絡編程中,多線程技術被廣泛應用于提高服務器的并發處理能力。Socket編程是網絡通信的基礎,而將多線程技術應用于Socket編程,可以顯著提升服務器的性能多線程編程的基本概
    的頭像 發表于 11-12 14:16 ?877次閱讀

    AI高性能計算平臺是什么

    AI高性能計算平臺不僅是AI技術發展的基石,更是推動AI應用落地、加速產業升級的重要工具。以下,是對AI高性能計算
    的頭像 發表于 11-11 09:56 ?571次閱讀

    Python中多線程和多進程的區別

    Python作為一種高級編程語言,提供了多種并發編程的方式,其中多線程與多進程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進程的概念、區別以及如何使用線程池與進程池來提高并發執行效率。
    的頭像 發表于 10-23 11:48 ?905次閱讀
    Python中<b class='flag-5'>多線程</b>和多進程的區別

    CPU線程和程序線程的區別

    CPU的線程與程序的線程在概念、作用、實現方式以及性能影響等方面存在顯著差異。以下是對兩者區別的詳細闡述,旨在深入探討這一技術話題。
    的頭像 發表于 09-02 11:18 ?1902次閱讀

    深入剖析石英 CMOS 振蕩器 PC3225 系列(1 to 200 MHz)的卓越性能

    深入剖析石英 CMOS 振蕩器 PC3225 系列(1 to 200 MHz)的卓越性能
    的頭像 發表于 08-08 10:14 ?611次閱讀
    <b class='flag-5'>深入</b><b class='flag-5'>剖析</b>石英 CMOS 振蕩器 PC3225 系列(1 to 200 MHz)的卓越<b class='flag-5'>性能</b>

    ESP32會不會有多線程問題,需要加鎖嗎?

    ESP32會不會有多線程問題,需要加鎖嗎
    發表于 07-19 08:05

    多線程設計模式到對 CompletableFuture 的應用

    最近在開發 延保服務 頻道頁時,為了提高查詢效率,使用到了多線程技術。為了對多線程方案設計有更加充分的了解,在業余時間讀完了《圖解 Java 多線程設計模式》這本書,覺得收獲良多。本篇文章將介紹其中
    的頭像 發表于 06-26 14:18 ?604次閱讀
    從<b class='flag-5'>多線程</b>設計模式到對 CompletableFuture 的應用

    基于FPGA的類腦計算平臺 —PYNQ 集群的無監督圖像識別類腦計算系統

    計算的特性,搭建出基于 PYNQ 集群的通用低功耗的大規模類腦計算平臺,并通過皮質層視覺仿真模型、HPC Benchmark 等進行了結果驗證和性能
    發表于 06-25 18:35

    鴻蒙開發:線程模型

    FA模型下的線程主要有如下三類
    的頭像 發表于 06-24 17:27 ?639次閱讀
    鴻蒙開發:<b class='flag-5'>線程</b><b class='flag-5'>模型</b>

    摩爾線程與智譜AI完成大模型性能測試與適配

    近日,摩爾線程與智譜AI在人工智能領域開展了一輪深入的合作,共同對GPU大模型進行了適配及性能測試。此次測試不僅涵蓋了大模型的推理能力,還涉
    的頭像 發表于 06-14 16:40 ?1404次閱讀