91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

探索AIGC未來:CPU源碼優(yōu)化、多GPU編程與中國算力瓶頸與發(fā)展

GPU視覺識別 ? 來源:GPU視覺識別 ? 作者:GPU視覺識別 ? 2023-12-08 11:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

人工智能;大數(shù)據(jù)技術(shù);AIGC;Turbo;DALL·E 3;多模態(tài)大模型;MLLM;LLM;Agent;Llama2;國產(chǎn)GPU芯片;GPU;CPU;高性能計(jì)算機(jī);邊緣計(jì)算;大模型顯存占用;5G;深度學(xué)習(xí);A100;H100;A800;H800;L40s;Intel;英偉達(dá);算力

近年來,AIGC的技術(shù)取得了長足的進(jìn)步,其中最為重要的技術(shù)之一是基于源代碼的CPU調(diào)優(yōu),可以有效地提高人工智能模型的訓(xùn)練速度和效率,從而加快了人工智能的應(yīng)用進(jìn)程。同時(shí),多GPU編程技術(shù)也在不斷發(fā)展,大大提高人工智能模型的計(jì)算能力,更好地滿足實(shí)際應(yīng)用的需求。

本文將分析AIGC的最新進(jìn)展,深入探討以上話題,以及中國算力產(chǎn)業(yè)的瓶頸和趨勢。

AIGC發(fā)展現(xiàn)狀

AIGC產(chǎn)業(yè)在上半年經(jīng)歷“百模大戰(zhàn)”和“百花齊放”的階段后,現(xiàn)在正站在從“玩具”到“工具”的關(guān)鍵時(shí)期。大模型市場格局發(fā)生深刻變化,行業(yè)關(guān)注焦點(diǎn)也轉(zhuǎn)向人工智能發(fā)展的“終極命題”——應(yīng)用與商業(yè)化落地。AIGC研發(fā)范式的變革從根本上提高數(shù)據(jù)生產(chǎn)效率,降低使用者和開發(fā)者的門檻。

為提升模型的能力和效用,行業(yè)共同關(guān)注放大模型能力的有效途徑,如微調(diào)、提示工程、搜索增強(qiáng)生成、AI Agent等技術(shù)手段。同時(shí),開源模型迅速發(fā)展,產(chǎn)品向終端延伸,結(jié)合更多AI應(yīng)用技術(shù),推動(dòng)應(yīng)用場景多元化。然而,由于政策面向C端設(shè)置準(zhǔn)入門檻,標(biāo)準(zhǔn)體系覆蓋多個(gè)行業(yè),強(qiáng)調(diào)數(shù)據(jù)、算法、模型和安全因素的重要性,因此“百模大戰(zhàn)”回歸理性,行業(yè)格局邁入整合階段。

2023 Q3國內(nèi)AIGC行業(yè)發(fā)生融資事件35起,涉及公司33家,投資機(jī)構(gòu)51家。融資金額39.61億人民幣,種子輪~天使輪21家(占比63.64%)。通用大模型(6起)和工具平臺(6起)兩個(gè)細(xì)分賽道相對活躍。在應(yīng)用層中,元宇宙/數(shù)字人(5起)和營銷(5起)是融資事件最頻繁的細(xì)分領(lǐng)域。有1家國內(nèi)AIGC企業(yè)完成上市——第四范式(決策類人工智能公司)。2023年Q3國內(nèi)AIGC行業(yè)發(fā)生1起并購事件——美團(tuán)收購光年之外,融資額20.65億元。

一、技術(shù)迭代

1、多模態(tài)大模型DALL·E 3帶來產(chǎn)業(yè)沖擊

多模態(tài)大語言模型(MLLM)是一種將文本、圖像、音頻和視頻等多模態(tài)信息結(jié)合訓(xùn)練的模型,相比大語言模型(LLM)更符合人類感知世界的方式。通過多模態(tài)輸入的支持,用戶可以更靈活的方式與智能助手進(jìn)行交互,并利用強(qiáng)大的大模型作為大腦來執(zhí)行多模態(tài)任務(wù)。

DALL·E 3能夠更好地捕捉語義描述的細(xì)微差異,實(shí)現(xiàn)提示詞的完美遵循,并高效避免混淆詳細(xì)請求中的元素,在畫面呈現(xiàn)方面取得明顯進(jìn)步。同時(shí),文生圖模型與ChatGPT的結(jié)合,極大地減少了提示工程的約束。

wKgZomVykj-ATMEHAAAAK9URceg840.gif

2、長文本技術(shù)增強(qiáng)產(chǎn)品用戶體驗(yàn)

LLM中的“上下文長度”是指大語言模型在生成預(yù)測時(shí)考慮的輸入文本長度。更長的文本建模能力使模型能夠觀察到更長的上下文,避免重要信息的丟失。大模型的應(yīng)用效果取決于兩個(gè)核心指標(biāo):模型參數(shù)量和上下文長度。其中,上下文長度決定大模型的“內(nèi)存”能力,長文本可以提供更多上下文和細(xì)節(jié)信息來輔助模型判斷語義,減少歧義,提高歸納和推理的準(zhǔn)確性。

目前,國內(nèi)外對于文本長度的探索還沒有達(dá)到“臨界點(diǎn)”,長文本在未來的Agent和AI原生應(yīng)用中仍然扮演著重要角色。Agent需要依靠歷史信息進(jìn)行規(guī)劃和決策,而AI原生應(yīng)用需要依靠上下文來保持連貫、個(gè)性化的用戶體驗(yàn)。這也是為什么像月之暗面、OpenAI等大模型公司關(guān)注長文本技術(shù)的原因。

wKgZomVykkCADeuVAAJGdmPMGck874.png

3、Llama2掀起大模型市場新格局

Llama是Meta發(fā)布的一款使用公開數(shù)據(jù)集訓(xùn)練的大型語言模型,因其與開源協(xié)議的兼容性和可復(fù)現(xiàn)性而受到AI社區(qū)歡迎。但受限于開源協(xié)議,LLaMA僅限學(xué)術(shù)研究使用,不能用于商業(yè)用途。

相比Llama 1,Llama 2預(yù)訓(xùn)練語料庫增加40%,達(dá)到2萬億Tokens。9月,Llama2的token已達(dá)32,768個(gè),并采用分組查詢注意力機(jī)制,對文本語義的理解更深入。在MMLU和GSM8K測試中,Llama 2 70B的性能接近GPT-3.5。

wKgZomVykj-ATMEHAAAAK9URceg840.gif

wKgaomVykkGAEVBhAAJYB74zQ0g037.png

4、AI Agent深入挖掘大模型潛力

Agent是指具有自主性、反應(yīng)性、社會(huì)性、預(yù)動(dòng)性、慎思性和認(rèn)知性等智能特征的軟件或硬件實(shí)體,等于大模型+記憶+主動(dòng)規(guī)劃+工具。AI Agent能夠理解、規(guī)劃、執(zhí)行和自我調(diào)整,解決更復(fù)雜的問題。與LLM相比,AI Agent能夠獨(dú)立思考并調(diào)用工具逐步完成目標(biāo),區(qū)別于RPA的是其能夠處理未知環(huán)境信息。

wKgZomVykj-ATMEHAAAAK9URceg840.gif

wKgZomVykkGAXXINAAOZCm7OEZQ475.png

AI Agent與其他技術(shù)選型方案發(fā)展及優(yōu)劣勢比較

二、技術(shù)趨勢

1、擁抱開源精神,國產(chǎn)模型的崛起已成燎原之勢

在國家的大力支持和頭部廠商的推動(dòng)下,國產(chǎn)模型已成為大語言模型陣營中的重要力量。盡管起步較晚,且面臨國外高端GPU芯片的圍堵,但國產(chǎn)模型的崛起之勢已成燎原?;A(chǔ)的互聯(lián)網(wǎng)大廠積極推動(dòng)開源生態(tài)體系的構(gòu)建。

wKgZomVykj-ATMEHAAAAK9URceg840.gif

wKgaomVykkKAJInvAAQO2s3orzo766.png

國內(nèi)AI大模型發(fā)展進(jìn)程 (截至2023年Q3)

2、大模型產(chǎn)品向終端延伸,推動(dòng)應(yīng)用場景多元化發(fā)展

大模型開源、多模態(tài)和Agent等技術(shù)將帶來全新、個(gè)性化、人性化的交互體驗(yàn)。未來,大模型將部署在手機(jī)、PC、汽車、人形機(jī)器人等終端,解決云端AI在成本、能耗、性能、隱私、安全和個(gè)性化等方面的問題,并拓寬自動(dòng)駕駛、智慧教育、智慧家居等場景的多元化應(yīng)用。然而,如何在端側(cè)實(shí)現(xiàn)輕量部署和軟硬件深度融合仍是難點(diǎn)問題。

wKgZomVykj-ATMEHAAAAK9URceg840.gif

wKgZomVykkKAfK5bAAReBp0utAc138.png

企業(yè)私有化部署大模型綜合成本持續(xù)降低

大模型應(yīng)用落地成本包括數(shù)據(jù)、模型和應(yīng)用開發(fā)成本。模型成本包括授權(quán)成本和算力成本。隨著Llama2推動(dòng)國內(nèi)模型的商用免費(fèi)化,MaaS逐漸被市場接受,授權(quán)成本過高的壁壘正在消失。通過QLoRA微調(diào)和GPTQ量化,中小企業(yè)也可以使用千億級模型,算力成本大幅降低。企業(yè)私有化部署綜合成本持續(xù)降低,有利于大模型對B端市場的滲透。

wKgZomVykj-ATMEHAAAAK9URceg840.gif

wKgaomVykkOAK9NLAAPympCadOc120.png

三、如何確定大模型顯存占用?

在部署大模型時(shí),顯存占用是個(gè)關(guān)鍵問題。大模型因其巨大規(guī)模,要么因顯存溢出而無法運(yùn)行,要么因模型過大導(dǎo)致推理速度慢。優(yōu)化大模型的推理與優(yōu)化小模型CNN的推理有所不同。下面將主要探討如何計(jì)算大模型的顯存占用。

以流行的LLama2大模型為例,主要有7B、13B、70B三個(gè)版本。B(Billion)是十億,M(Million)是百萬,所以LLama2這類大模型可稱為十億、百億級大模型。

對于深度學(xué)習(xí)模型,精度通常有float32、float16、int8、int4等。后面的int8、int4等低精度主要用于推理加速。比如,一個(gè)float32會(huì)占用4個(gè)字節(jié)32個(gè)比特,往后就減半,如int8是1字節(jié)占用8比特,int4的占用空間會(huì)更加小。參數(shù)量和模型精度可以用來計(jì)算模型的顯存占用。以LLama2-13B為例:

對于float32精度:13 * 10^9 * 4 / 1024^3 約等于 48.42G
對于float16精度:13 * 10^9 * 2 / 1024^3 約等于 24.21G

以此類推,計(jì)算LLama2-7B的顯存占用。

對于float32精度:7 * 10^9 * 4 / 1024^3 約等于 26.08G;

對于float16精度顯存減半:約等于 13G;

對于int8精度再減半:約等于6.5G;

對于int4精度再減半:約等于3.2G。

可見低比特量化在大模型部署顯存管理中的重要性。上述推理顯存占用只適用于模型前向推理,不適用于模型訓(xùn)練。訓(xùn)練過程中還會(huì)受梯度、優(yōu)化器參數(shù)、bs等因素影響。一般經(jīng)驗(yàn)來說,訓(xùn)練時(shí)的顯存占用會(huì)是推理時(shí)的好多倍,甚至十幾倍。上述推理顯存占用是理論值,實(shí)際肯定會(huì)更多一些,因此需要預(yù)留一些余量。例如,實(shí)測LLama2-13B時(shí),理論值約為48.21G,但實(shí)際需要大約52G的顯存。當(dāng)然,這種方法也適用于CNN模型的前向推理顯存占用計(jì)算。

基于源代碼的CPU調(diào)優(yōu)

對于高性能應(yīng)用,如云服務(wù)、科學(xué)計(jì)算和3A游戲等,硬件基礎(chǔ)至關(guān)重要。忽視硬件因素可能導(dǎo)致性能瓶頸。標(biāo)準(zhǔn)算法和數(shù)據(jù)結(jié)構(gòu)在某些場景下可能無法提供最佳性能。

一、CPU前端優(yōu)化

隨著“扁平化”數(shù)據(jù)結(jié)構(gòu)的普及,鏈表逐漸被淘汰。傳統(tǒng)鏈表每個(gè)節(jié)點(diǎn)動(dòng)態(tài)分配內(nèi)存,導(dǎo)致內(nèi)存訪問延遲和碎片化。這使得遍歷鏈表比遍歷數(shù)組更耗時(shí)。有些數(shù)據(jù)結(jié)構(gòu)(如二叉樹)有類似鏈表的天然結(jié)構(gòu),使用指針追蹤實(shí)現(xiàn)可能更高效。另外,更高效的數(shù)據(jù)結(jié)構(gòu)版本如boost::flat_map 和 boost::flat_set也存在。

特定問題的最優(yōu)算法在特定場景中可能不是最好的選擇。例如,二分搜索在排序數(shù)組中查找元素很高效,但分支預(yù)測錯(cuò)誤可能導(dǎo)致其在大規(guī)模數(shù)據(jù)中表現(xiàn)不佳。因此,在處理小規(guī)模整型數(shù)組時(shí),線性搜索可能更有效??傊?,針對高性能應(yīng)用,需要深入理解硬件和算法性能,并靈活選擇和優(yōu)化合適的算法和數(shù)據(jù)結(jié)構(gòu)以適應(yīng)不同場景。

“數(shù)據(jù)驅(qū)動(dòng)”優(yōu)化是一種重要的調(diào)優(yōu)技術(shù),基于對程序處理數(shù)據(jù)的深入理解。專注于數(shù)據(jù)的分布和在程序中的轉(zhuǎn)化方式。其中一個(gè)典型的例子是將數(shù)組結(jié)構(gòu)體(SOA)轉(zhuǎn)換為結(jié)構(gòu)體數(shù)組(AOS)。選擇哪種布局取決于代碼訪問數(shù)據(jù)的方式。如果程序遍歷數(shù)據(jù)結(jié)構(gòu)并僅訪問字段b,則SOA更有效,這主要是由于所有內(nèi)存訪問都是按順序執(zhí)行;如果程序遍歷數(shù)據(jù)結(jié)構(gòu)并對對象的所有字段(即a、b和c)進(jìn)行大量操作,則AOS更佳,因?yàn)樗谐蓡T都可能保存在相同的緩存行中,減少緩存行讀取,提高內(nèi)存帶寬利用率。要進(jìn)行此類優(yōu)化,需要了解程序?qū)⑻幚砟男?shù)據(jù)和數(shù)據(jù)的分布情況,并相應(yīng)地修改程序。

wKgZomVykkOAbJqLAAHzB_4NxDA334.png

另一個(gè)重要的數(shù)據(jù)驅(qū)動(dòng)優(yōu)化方法是“小尺寸優(yōu)化”,旨在為容器預(yù)先分配固定量的內(nèi)存,以避免動(dòng)態(tài)內(nèi)存分配。該方法在LLVM基礎(chǔ)設(shè)施中廣泛應(yīng)用,并可顯著提升性能(如對于SmallVector,boost::static_vector也是基于相同概念實(shí)現(xiàn))?,F(xiàn)代CPU是非常復(fù)雜的設(shè)備,幾乎不可能預(yù)測某段代碼的運(yùn)行方式。CPU指令的執(zhí)行受制于眾多因素,包括許多變化的組件。

1、機(jī)器碼布局

機(jī)器碼布局指編譯器將源代碼轉(zhuǎn)化為串行的字節(jié)列。由于編譯器會(huì)影響到二進(jìn)制文件的性能,因此在將源代碼翻譯為機(jī)器碼時(shí),會(huì)考慮到指令在內(nèi)存中的放置偏移位置。

2、基本塊

基本塊是指具有單個(gè)入口和出口的指令序列,可以有多個(gè)前驅(qū)和后繼,但在基本塊中間沒有任何指令可以跳出基本塊。這種結(jié)構(gòu)確保了基本塊中的每條代碼只會(huì)被執(zhí)行一次,從而大大減少控制流圖分析和轉(zhuǎn)換的問題。

3、基本塊布局

// hot path

if (cond)

coldFunc();

// hot path again

如果條件cond通常為真,那么選擇默認(rèn)布局,因?yàn)榱硪粋€(gè)布局會(huì)導(dǎo)致兩次而不是一次跳轉(zhuǎn)。coldFunc是錯(cuò)誤處理函數(shù),不太可能經(jīng)常執(zhí)行,因此選擇保持熱點(diǎn)代碼間的直通,并將選取分支轉(zhuǎn)化為未被選取分支。選擇這種布局的原因如下:

1)CPU每個(gè)時(shí)鐘可以執(zhí)行2個(gè)未被選擇的分支,但每2個(gè)時(shí)鐘周期才能執(zhí)行一個(gè)被選取的分支,因此未被選取的分支比被選取時(shí)耗時(shí)更少。

2)所有熱點(diǎn)代碼都是連續(xù)的,沒有緩存行碎片化問題,因此可以更充分利用指令和微操作緩存。

3)每個(gè)被選取的跳轉(zhuǎn)指令都意味著跳轉(zhuǎn)之后的字節(jié)都是無效的,因此被選取的分支對于讀取單元來說也更耗時(shí)。

4、基本塊對齊

性能因指令在內(nèi)存中的偏移而變化。若循環(huán)跨越多條緩存行,CPU前端可能會(huì)出現(xiàn)性能問題。因此,可以使用nop指令將循環(huán)提前,使其整個(gè)循環(huán)位于一條緩存行中。

LLVM使用-mllvm-align-all-blocks對齊基本塊,但可能造成性能劣化。插入nop指令會(huì)增加程序開銷,尤其在關(guān)鍵路徑上。盡管nop指令不需要執(zhí)行,但仍需從內(nèi)存中讀取、解碼和執(zhí)行,消耗前端數(shù)據(jù)結(jié)構(gòu)和記賬緩沖區(qū)空間。

為精確控制對齊,可使用ALIGN匯編指令。開發(fā)人員先生成匯編列表,然后插入ALIGN指令以滿足特定實(shí)驗(yàn)場景的需求。

5、函數(shù)拆分

函數(shù)拆分是為了優(yōu)化在熱點(diǎn)路徑具有復(fù)雜CFG和大量冷代碼的函數(shù)。通過將冷代碼移動(dòng)到單獨(dú)的函數(shù)中,可以避免在運(yùn)行時(shí)加載不必要的代碼,從而改善內(nèi)存占用情況。

在優(yōu)化后的代碼中,將原來的函數(shù)拆分為兩個(gè)函數(shù),一個(gè)包含熱點(diǎn)代碼,另一個(gè)包含冷代碼。通過將冷代碼移動(dòng)到單獨(dú)的函數(shù)中,可以避免在運(yùn)行時(shí)加載不必要的代碼,從而改善內(nèi)存占用情況。同時(shí),使用__attribute__((noinline))禁止內(nèi)聯(lián)冷函數(shù),以避免冷函數(shù)被內(nèi)聯(lián)到熱點(diǎn)代碼中,從而影響性能。

通過將熱點(diǎn)代碼和冷代碼分離,可以更好地利用CPU前端數(shù)據(jù)結(jié)構(gòu)(指令緩存和DSB),提高CPU的利用率。同時(shí),將新函數(shù)放在.text段之外,可以避免在運(yùn)行時(shí)加載不必要的代碼,從而改善內(nèi)存占用情況。

6、函數(shù)分組

熱點(diǎn)函數(shù)可以聚集在一起,以提高CPU前端緩存的利用率,降低緩存行的讀取需求。鏈接器負(fù)責(zé)規(guī)劃程序中所有函數(shù)的排列布局,LLD鏈接器通過--symbol-ordering-file優(yōu)化函數(shù)布局。HFSort工具能根據(jù)剖析數(shù)據(jù)自動(dòng)生成分區(qū)排序文件。

7、基于剖析文件的編譯優(yōu)化

大多數(shù)編譯器具備一組轉(zhuǎn)換功能,可根據(jù)剖析數(shù)據(jù)來調(diào)整算法,這被稱為PGO(Profile-Directed Optimization)。剖析數(shù)據(jù)生成有兩種方式:代碼插樁和基于采樣的剖析。

1)利用LLVM編譯器通過-fprofile-instr-generate參數(shù)生成插樁代碼,再使用-fprofile-inst-use參數(shù)利用剖析數(shù)據(jù)重新編譯程序,生成PGO調(diào)優(yōu)的二進(jìn)制文件。

2)基于采樣生成編譯器所需的剖析數(shù)據(jù),然后通過AutoFDO工具將linux perf生成的采樣數(shù)據(jù)轉(zhuǎn)換為GCC和LLVM編譯器可理解的形式。但編譯器會(huì)假設(shè)所有負(fù)載表現(xiàn)相同。

8、對ITLB的優(yōu)化

內(nèi)存中的虛地址到物理地址轉(zhuǎn)換是前端優(yōu)化的關(guān)鍵領(lǐng)域之一。通過將性能關(guān)鍵代碼映射到大頁上,可以減輕ITLB(指令翻譯緩沖)的壓力。這需要重新鏈接二進(jìn)制文件,確保代碼段在適當(dāng)?shù)捻撨吔鐚R。除使用大頁,還可以采用其他技術(shù)來優(yōu)化指令緩存性能,如重新排列函數(shù)以使熱點(diǎn)函數(shù)更集中,使用LTO(鏈接時(shí)間優(yōu)化)/IPO(內(nèi)聯(lián)函數(shù)優(yōu)化)來減小熱點(diǎn)區(qū)域的大小,使用PGO(基于剖析的編譯優(yōu)化)并避免過度內(nèi)聯(lián)。

wKgaomVykkSALyBiAACjhhCR-HY585.png

二、CPU后端優(yōu)化

在計(jì)算機(jī)處理過程中,前端完成取指和譯碼后,如果后端資源不足無法處理新的微操作,會(huì)導(dǎo)致前端無法繼續(xù)交付微操作。例如,當(dāng)數(shù)據(jù)緩存未命中或除法單元過載時(shí),后端無法高效處理指令,從而造成前端停滯。

1、存儲(chǔ)bound

當(dāng)應(yīng)用程序進(jìn)行大量內(nèi)存訪問并花費(fèi)較長時(shí)間等待內(nèi)存訪問完成時(shí),被視為存儲(chǔ)bound。這意味著需要優(yōu)化存儲(chǔ)訪問情況,減少存儲(chǔ)訪問次數(shù)或升級存儲(chǔ)子系統(tǒng)。

在TMA中,存儲(chǔ)bound會(huì)統(tǒng)計(jì)CPU流水線由于按需加載或存儲(chǔ)指令而阻塞的部分槽位。解決此類性能問題的第一步是定位導(dǎo)致高“存儲(chǔ)bound”指標(biāo)的訪存操作,并識別具體的訪存操作。然后開始進(jìn)行調(diào)優(yōu)。

1)緩存友好的數(shù)據(jù)類型

關(guān)于緩存友好算法和數(shù)據(jù)結(jié)構(gòu)是性能關(guān)鍵要素之一,重點(diǎn)在于時(shí)間和空間局部性原則,目標(biāo)是從緩存中高效地讀取所需的數(shù)據(jù)。

按順序訪問數(shù)據(jù)

利用緩存空間局部性的最佳方法是順序訪問內(nèi)存。標(biāo)準(zhǔn)實(shí)現(xiàn)二分搜索不會(huì)利用空間局部性,而解決這個(gè)問題的方法之一是Eytzinger布局存儲(chǔ)數(shù)組元素。其思想是維護(hù)一個(gè)隱式二叉搜索樹,并使用類似廣度優(yōu)先搜索的布局將二叉搜索樹打包到一個(gè)數(shù)組中。

使用適當(dāng)容器

幾乎所有語言都提供各種現(xiàn)成的容器,理解它們底層存儲(chǔ)機(jī)制和性能影響至關(guān)重要。在處理數(shù)據(jù)時(shí),需要根據(jù)代碼的具體情況來選擇合適的數(shù)據(jù)存儲(chǔ)方式。

打包數(shù)據(jù)

提高內(nèi)存層次利用率的一種方式是使數(shù)據(jù)更加緊湊。打包數(shù)據(jù)的一個(gè)經(jīng)典例子就是使用位存儲(chǔ),可以極大地減少來回傳輸?shù)膬?nèi)存數(shù)量,同時(shí)節(jié)省緩存空間。然而,由于b和a與c共享一個(gè)機(jī)器字,編譯器需要執(zhí)行移位操作。在額外計(jì)算的開銷比低效內(nèi)存轉(zhuǎn)移開銷低的情況下,打包數(shù)據(jù)是值得的。

對于結(jié)構(gòu)體或類中的字段布局,程序員可以通過重新排列來減少內(nèi)存的使用,同時(shí)避免由編譯器添加結(jié)構(gòu)體填充。例如,如果有一個(gè)結(jié)構(gòu)體包含一個(gè)布爾值和一個(gè)整數(shù),最好將整數(shù)放在前面,因?yàn)檫@樣可以使用整數(shù)的位來存儲(chǔ)布爾值,從而節(jié)省內(nèi)存。

對齊與填充

當(dāng)變量存儲(chǔ)在能被其大小整除的內(nèi)存地址時(shí),訪問效率最高。對齊可能導(dǎo)致未使用的字節(jié)形成空位,降低內(nèi)存帶寬利用率。為避免邊緣情況如緩存爭用和偽共享,需要填充數(shù)據(jù)結(jié)構(gòu)成員。例如,兩個(gè)線程訪問同一結(jié)構(gòu)體的不同字段時(shí),緩存一致性問題可能導(dǎo)致程序運(yùn)行速度明顯降低。通過填充方法,可確保結(jié)構(gòu)體的不同字段位于不同的緩存行。當(dāng)使用malloc進(jìn)行動(dòng)態(tài)分配時(shí),要確保返回的內(nèi)存地址滿足平臺目標(biāo)的最小對齊要求。最重要的是,對于SIMD代碼,當(dāng)使用編譯器向量化內(nèi)建函數(shù)時(shí),地址通常要被16、32或64整除。

動(dòng)態(tài)內(nèi)存分配

malloc的替代方案往往更快、更可擴(kuò)展,更能有效地處理內(nèi)存碎片問題。動(dòng)態(tài)內(nèi)存分配的一個(gè)挑戰(zhàn)在于,多個(gè)線程可能同時(shí)嘗試申請內(nèi)存,導(dǎo)致效率降低。

為解決此問題,可以使用自定義分配器加速內(nèi)存分配。這類分配器的優(yōu)勢在于開銷較低,因?yàn)楸苊饬嗣看蝺?nèi)存分配都進(jìn)行系統(tǒng)調(diào)用。同時(shí),也具有高度靈活性,允許開發(fā)者根據(jù)操作系統(tǒng)的內(nèi)存區(qū)域來實(shí)現(xiàn)自己的分配策略。一種策略是維護(hù)兩個(gè)不同的分配器,各自負(fù)責(zé)熱數(shù)據(jù)和冷數(shù)據(jù)的分配。將熱數(shù)據(jù)放在一起可以共享高速緩存行,從而提高內(nèi)存帶寬利用率和空間局部性。同時(shí),這種策略還可以提高TLB利用率,因?yàn)闊釘?shù)據(jù)占用的內(nèi)存頁更少。此外,自定義內(nèi)存分配器還可以利用線程本地存儲(chǔ)來實(shí)現(xiàn)每個(gè)線程的獨(dú)立分配,從而消除線程間的同步問題。

針對存儲(chǔ)器層次調(diào)優(yōu)代碼

某些應(yīng)用程序的性能取決于特定層緩存的大小,最著名的例子是使用循環(huán)分塊來改進(jìn)矩陣乘法。

2)顯式內(nèi)存預(yù)取

當(dāng)arr數(shù)組規(guī)模較大時(shí),硬件預(yù)取可能無法識別訪存模式并提前獲取所需數(shù)據(jù)。為在計(jì)算j與arrp[j]請求之間的時(shí)間窗口內(nèi)手動(dòng)添加預(yù)取指令,可使用__builtin_prefetch,如下所示:

for (int i = 0; i < N; ++i) {
int j = calNextIndex();
__builtin_prefetch(arr + j, 0, 1);
// ...
doSomeExtensiveComputation();
// ...
x = arr[j];
}

為使預(yù)取有效,需提前插入預(yù)取指示,確保用于計(jì)算的值在計(jì)算時(shí)已加載到緩存中,同時(shí)避免過早插入預(yù)取提示以避免污染緩存。

顯式內(nèi)存預(yù)取不可移植,一個(gè)平臺上的性能提升無法保證在另一個(gè)平臺上也有相同效果。此外,顯式預(yù)取指令會(huì)增加代碼大小并增加CPU前端的壓力。

3)針對DTLB優(yōu)化

TLB分為ITLB和DTLB在L1,統(tǒng)一TLB在L2。L1 ITLB未命中時(shí)延很小,通常被亂序執(zhí)行隱藏。統(tǒng)一TLB未命中會(huì)調(diào)用頁遍歷器,可能導(dǎo)致性能損失。

Linux默認(rèn)頁面大小為4KB,增大頁大小可減少TLB條目和未命中次數(shù)。Intel 64和AMD 64支持2MB和1GB巨型頁。使用大頁的TLB更緊湊,遍歷內(nèi)核頁表的代價(jià)減少。

在Linux系統(tǒng)中,應(yīng)用程序使用大頁的方法有顯式大頁和透明大頁。使用libhugetlbfs庫可動(dòng)態(tài)分配大頁內(nèi)存。開發(fā)者可以通過以下方式控制對大頁的訪問:帶MAP_HUGETLB參數(shù)使用mmap;掛載hugetlbfs文件系統(tǒng)中的文件使用mmap;對SHM_HUGETLB參數(shù)使用shmget。

2、計(jì)算bound

主要有兩種性能瓶頸:硬件計(jì)算資源短缺和軟件指令依賴關(guān)系。前者指執(zhí)行單元過載或執(zhí)行端口爭用,發(fā)生在負(fù)載頻繁執(zhí)行大量繁重指令時(shí);后者指程序數(shù)據(jù)流或指令流中的依賴關(guān)系限制了性能。下面討論函數(shù)內(nèi)聯(lián)、向量化和循環(huán)優(yōu)化等常見優(yōu)化手段,旨在減少執(zhí)行指令總量,提高性能。

1)函數(shù)內(nèi)聯(lián)

內(nèi)聯(lián)函數(shù)不僅可以消除函數(shù)調(diào)用的開銷,還可以擴(kuò)展編譯器分析的范圍,進(jìn)行更多優(yōu)化。但內(nèi)聯(lián)也可能增加編譯后文件的大小和編譯時(shí)間。編譯器通?;诔杀灸P蛠頉Q定是否內(nèi)聯(lián)函數(shù),例如LLVM會(huì)考慮計(jì)算成本和調(diào)用次數(shù)。一般而言,小函數(shù)、單一調(diào)用點(diǎn)的函數(shù)更可能被內(nèi)聯(lián),而大型函數(shù)和遞歸函數(shù)通常不會(huì)被內(nèi)聯(lián)。通過指針調(diào)用的函數(shù)可以用內(nèi)聯(lián)來代替直接調(diào)用。開發(fā)者可以使用特殊提示(如C++ 11的gnu::always_inline)來強(qiáng)制內(nèi)聯(lián)函數(shù)。另一種方法是剖析數(shù)據(jù)來識別潛在的內(nèi)聯(lián)對象,特別是分析函數(shù)的參數(shù)傳遞和返回頻率。

2)循環(huán)優(yōu)化

循環(huán)是程序中執(zhí)行最頻繁的代碼段,因此大部分執(zhí)行時(shí)間都在循環(huán)中消耗。循環(huán)的性能受到內(nèi)存延遲、內(nèi)存帶寬或計(jì)算能力的限制。屋頂線模型是一個(gè)很好的基于硬件理論最大值的評估不同循環(huán)的方法,TMA分析是另一種處理這種瓶頸的方法。

低層優(yōu)化

通過將循環(huán)中永遠(yuǎn)不會(huì)改變的表達(dá)式移到循環(huán)外,進(jìn)行循環(huán)不變量外提,有助于提高算術(shù)強(qiáng)度性能。循環(huán)展開可以增加指令級并行,同時(shí)減少循環(huán)開銷,但不建議開發(fā)者手動(dòng)展開任何循環(huán),因?yàn)榫幾g器非常擅長并以最佳方式展開循環(huán)。借助亂序執(zhí)行,處理器具有“內(nèi)嵌的展開器”。循環(huán)強(qiáng)度折疊使用開銷更小的指令代替開銷高的指令,應(yīng)用于所有循環(huán)變量的表達(dá)式和數(shù)組索引,編譯器通過分析變量的值在循環(huán)迭代中的演變方式來實(shí)現(xiàn)。此外,如果循環(huán)內(nèi)部有不變的判斷條件,將其移到循環(huán)外,即進(jìn)行循環(huán)判斷外提,也有助于提高性能。

高層優(yōu)化

此類優(yōu)化策略會(huì)深度改變循環(huán)結(jié)構(gòu),并可能影響多個(gè)嵌套循環(huán)的整體性能。其根本目的是提升內(nèi)存訪問效率,解決內(nèi)存帶寬和時(shí)延的瓶頸問題。為實(shí)現(xiàn)這個(gè)目標(biāo),可以采用以下幾種策略:通過交換嵌套循環(huán)的順序,使得對多維數(shù)組元素的內(nèi)存訪問更加有序,從而消除帶寬和時(shí)延的限制;將多維循環(huán)的執(zhí)行范圍合理拆分為多個(gè)循環(huán)塊,使得每塊數(shù)據(jù)的訪問能夠與CPU緩存的大小相適配,從而優(yōu)化跨步幅訪存的內(nèi)存帶寬和時(shí)延;對于可以合并的情況,將多個(gè)獨(dú)立的循環(huán)合并在一起,以減少循環(huán)開銷,同時(shí)改善內(nèi)存訪問的時(shí)間局部性。

但需要注意的是,循環(huán)合并并不總是能提高性能,有時(shí)候?qū)⒀h(huán)拆分為多條路徑、預(yù)過濾數(shù)據(jù)、對數(shù)據(jù)進(jìn)行排序和重組等可能更有效。拆分循環(huán)有助于解決在大循環(huán)中發(fā)生的緩存高度爭用問題,還可以減少寄存器壓力,并且可以借助編譯器對小循環(huán)進(jìn)行進(jìn)一步的單獨(dú)優(yōu)化。

3)發(fā)現(xiàn)循環(huán)優(yōu)化的機(jī)會(huì)

編譯優(yōu)化報(bào)告顯示轉(zhuǎn)換失敗,需要查看由應(yīng)用程序剖析文件生成的匯編代碼的熱點(diǎn)部分。優(yōu)化的策略應(yīng)從簡單的方案開始嘗試,然后開發(fā)者需明確循環(huán)中的瓶頸,并基于硬件理論最大值評估性能??梢允褂梦蓓斁€模型來確定需要分析的瓶頸點(diǎn),然后嘗試各種變換。

4)使用循環(huán)優(yōu)化框架

多面體框架可用于檢查循環(huán)轉(zhuǎn)換的合法性并自動(dòng)轉(zhuǎn)換循環(huán)。Polly是基于LLVM的高層循環(huán)和數(shù)據(jù)局部性優(yōu)化器及優(yōu)化基礎(chǔ)設(shè)施,采用基于整數(shù)多面體的抽象數(shù)學(xué)表示來分析和優(yōu)化程序的內(nèi)存訪問模式。要啟用Polly,需要用戶通過顯式的編譯器選項(xiàng)(-mllvm -polly)來啟用,因?yàn)長LVM基礎(chǔ)設(shè)施的標(biāo)準(zhǔn)流水線并未默認(rèn)啟用Polly。

3、向量化

使用SIMD指令可以顯著提高未向量化代碼的運(yùn)行速度。性能分析的重點(diǎn)之一是確保關(guān)鍵代碼能夠被編譯器正確向量化。如果編譯器無法生成所需的匯編指令,可以使用編譯器內(nèi)建函數(shù)重寫代碼片段。使用編譯器內(nèi)建函數(shù)的代碼與內(nèi)聯(lián)后的匯編代碼類似,可讀性較差。通??梢酝ㄟ^使用編譯注解等方式來指導(dǎo)編譯器進(jìn)行自動(dòng)向量化。編譯器可以進(jìn)行三種向量化操作:內(nèi)循環(huán)自動(dòng)向量化、外循環(huán)向量化和超字向量化。

1)編譯器自動(dòng)向量化

編譯器自動(dòng)向量化受到多種因素阻礙,包括編程語言的固有語義和處理器向量操作的限制。這些因素導(dǎo)致編譯器難以有效地將循環(huán)轉(zhuǎn)換為向量化的代碼。然而,通過合法性檢查、收益檢查和轉(zhuǎn)換三個(gè)階段,可以逐步優(yōu)化代碼并提高程序的運(yùn)行速度。在合法性檢查階段,評估循環(huán)向量化是否滿足一系列條件,以確保生成的代碼正確且有效。在收益檢查階段,比較不同的向量化因子并選擇最優(yōu)的方案,同時(shí)考慮代碼的執(zhí)行成本和效率。最后,在轉(zhuǎn)換階段,將通過插入向量化的保護(hù)代碼來啟用向量化執(zhí)行,并優(yōu)化代碼以提高運(yùn)行速度。

2)探索向量化的機(jī)會(huì)

分析程序中的熱點(diǎn)循環(huán),檢查編譯器已進(jìn)行哪些優(yōu)化,最簡單方法是查看編譯器向量化標(biāo)記。當(dāng)循環(huán)無法向量化時(shí),編譯器會(huì)給出失敗原因。另一種方法是檢查程序的匯編輸出,分析剖析工具的輸出更好。雖然查看匯編費(fèi)時(shí),但該技能回報(bào)高,因?yàn)榭蓮膮R編代碼中發(fā)現(xiàn)次優(yōu)代碼、缺乏向量化、次優(yōu)向量化因子、執(zhí)行不必要計(jì)算等。

向量化標(biāo)記能清晰解釋問題及編譯器不能向量化代碼的原因。gcc 10.2可輸出優(yōu)化報(bào)告(使用參數(shù)-fopt-info啟用)。開發(fā)者應(yīng)意識到向量化代碼的隱藏成本,尤其是AVX512可能導(dǎo)致大幅降頻。對于循環(huán)次數(shù)小的循環(huán),強(qiáng)制向量化程序使用小向量化因子或計(jì)數(shù)展開以減少循環(huán)處理的元素?cái)?shù)量。

多GPU編程

CUDA提供多GPU編程的功能,包括在一個(gè)或多個(gè)進(jìn)程中管理多設(shè)備,使用統(tǒng)一的虛擬尋址直接訪問其他設(shè)備內(nèi)存,GPUDirect,以及使用流和異步函數(shù)實(shí)現(xiàn)的多設(shè)備計(jì)算通信重疊。

一、從一個(gè)GPU到多GPU

在處理大規(guī)模數(shù)據(jù)集時(shí),使用多GPU是提高計(jì)算效率和吞吐量的有效方式。多GPU系統(tǒng)通過不同的連接方式,如通過PCIe總線或在集群中的網(wǎng)絡(luò)交換機(jī)連接,來實(shí)現(xiàn)高效的GPU間通信。在多GPU應(yīng)用程序中,工作負(fù)載的分配和數(shù)據(jù)交換模式是關(guān)鍵因素。最基本的模式是各問題分區(qū)在獨(dú)立GPU上運(yùn)行,而更復(fù)雜的模式則需要考慮數(shù)據(jù)如何在設(shè)備間進(jìn)行最優(yōu)移動(dòng)以避免數(shù)據(jù)復(fù)制到主機(jī)再復(fù)制到另一GPU。

1、在多GPU上執(zhí)行

CUDA的cudaGetDeviceCount函數(shù)可確定系統(tǒng)內(nèi)可用的CUDA設(shè)備數(shù)量。在利用CUDA與多GPU協(xié)作的應(yīng)用程序中,必須顯式指定目標(biāo)GPU。使用cudaSetDevice(int id)函數(shù)可設(shè)置當(dāng)前設(shè)備,該函數(shù)將具有特定ID的設(shè)備設(shè)置為當(dāng)前設(shè)備,與其他設(shè)備無同步,因此開銷較低。

如果在首個(gè)CUDA API調(diào)用前未顯示調(diào)用cudaSetDevice函數(shù),則當(dāng)前設(shè)備將自動(dòng)設(shè)置為設(shè)備0。選定當(dāng)前設(shè)備后,所有CUDA運(yùn)算將應(yīng)用于此設(shè)備,包括:從主線程分配的設(shè)備內(nèi)存、由CUDA運(yùn)行時(shí)函數(shù)分配的主機(jī)內(nèi)存、由主機(jī)線程創(chuàng)建的流或事件以及由主機(jī)線程啟動(dòng)的內(nèi)核。

多GPU適用于以下場景:單節(jié)點(diǎn)的單線程、單節(jié)點(diǎn)的多線程、單節(jié)點(diǎn)的多進(jìn)程以及多節(jié)點(diǎn)的多進(jìn)程。以下代碼展示如何在主機(jī)線程中執(zhí)行內(nèi)核和內(nèi)存拷貝:

for (int i = 0; i < ngpus; i++) { ?

cudaSetDevice(i);

kernel<<>>(...);

cudaMemcpyAsync();

}

由于循環(huán)中的內(nèi)核啟動(dòng)和數(shù)據(jù)傳輸是異步的,因此在每次操作后,控制將快速返回至主機(jī)線程。

2、點(diǎn)對點(diǎn)通信

在計(jì)算能力2.0或以上的設(shè)備上,64位應(yīng)用程序執(zhí)行的內(nèi)核可以直接訪問連接到同一PCIe根節(jié)點(diǎn)的GPU全局內(nèi)存,但需使用CUDA點(diǎn)對點(diǎn)API進(jìn)行設(shè)備間直接通信,該功能需要CUDA4.0或更高版本。點(diǎn)對點(diǎn)訪問和傳輸是CUDA P2P API支持的兩種模式,但當(dāng)GPU連接到不同PCIe根節(jié)點(diǎn)時(shí),將不允許直接點(diǎn)對點(diǎn)訪問,此時(shí)可使用CUDA P2P API進(jìn)行點(diǎn)對點(diǎn)傳輸,但數(shù)據(jù)傳輸會(huì)通過主機(jī)內(nèi)存進(jìn)行。

1)啟用點(diǎn)對點(diǎn)訪問

點(diǎn)對點(diǎn)訪問允許GPU直接引用連接到同一PCIe根節(jié)點(diǎn)的其他GPU設(shè)備內(nèi)存上的數(shù)據(jù)。使用cudaDeviceCanAccessPeer檢查設(shè)備是否支持P2P,設(shè)備能直接訪問對等設(shè)備全局內(nèi)存則返回1,否則返回0。在兩個(gè)設(shè)備間,必須使用cudaDeviceEnablePeerAccess顯式啟用點(diǎn)對點(diǎn)內(nèi)存訪問,該函數(shù)允許當(dāng)前設(shè)備到peerDevice的點(diǎn)對點(diǎn)訪問,授權(quán)的訪問是單向的。點(diǎn)對點(diǎn)訪問保持啟用狀態(tài),直到被cudaDeviceDisablePeerAccess顯式禁用。32位應(yīng)用程序不支持點(diǎn)對點(diǎn)訪問。

2)點(diǎn)對點(diǎn)內(nèi)存復(fù)制

在兩個(gè)設(shè)備之間啟用對等訪問后,可以使用cudaMemcpyPeerAsync函數(shù)異步復(fù)制設(shè)備上的數(shù)據(jù)。該函數(shù)將數(shù)據(jù)從源設(shè)備srcDev傳輸?shù)侥繕?biāo)設(shè)備dstDev。如果srcDev和dstDev連接在同一PCIe根節(jié)點(diǎn)上,數(shù)據(jù)傳輸將沿著PCIe的最短路徑執(zhí)行,無需通過主機(jī)內(nèi)存中轉(zhuǎn)。

3、多GPU間同步

多GPU應(yīng)用程序中,流和事件與單一設(shè)備關(guān)聯(lián),典型工作流程包括:選擇GPU集、為每個(gè)設(shè)備創(chuàng)建流和事件、分配設(shè)備資源、通過流啟動(dòng)任務(wù)、查詢和等待任務(wù)完成并清空資源。只有與流關(guān)聯(lián)的設(shè)備才能啟動(dòng)內(nèi)核和記錄事件。內(nèi)存拷貝可在任何流中進(jìn)行,與設(shè)備和當(dāng)前狀態(tài)無關(guān)。即使流或事件與當(dāng)前設(shè)備不相關(guān),也可以查詢或同步它們。

二、多GPU間細(xì)分計(jì)算

1、在多設(shè)備上分配內(nèi)存

在分配多個(gè)設(shè)備任務(wù)之前,首先需要確定系統(tǒng)中的可用GPU數(shù)量。通過cudaGetDeviceCount獲取GPU數(shù)量并打印。

接下來,為每個(gè)設(shè)備聲明所需的內(nèi)存和流。使用cudaSetDevice為每個(gè)設(shè)備分配內(nèi)存和流。

對于每個(gè)設(shè)備,分配一定大小的主機(jī)內(nèi)存和設(shè)備內(nèi)存,并創(chuàng)建流。為了在設(shè)備和主機(jī)之間進(jìn)行異步數(shù)據(jù)傳輸,還需要分配鎖頁內(nèi)存。

最后,使用循環(huán)為每個(gè)設(shè)備執(zhí)行以下操作:

1)設(shè)置當(dāng)前設(shè)備

2)分配設(shè)備內(nèi)存:cudaMalloc

3)分配主機(jī)內(nèi)存:cudaMallocHost

4)創(chuàng)建流:cudaStreamCreate

這樣,就為每個(gè)設(shè)備分配了內(nèi)存和流,準(zhǔn)備好進(jìn)行任務(wù)分配和數(shù)據(jù)傳輸。

2、單主機(jī)線程分配工作

// 在設(shè)備間分配操作之前,為每個(gè)設(shè)備初始化主機(jī)數(shù)組的狀態(tài)

for (int i = 0; i < ngpus; i++)

{

cudaSetDevice(i);

initial(h_A[i], iSize);

initial(h_B[i], iSize);

}

// 在多個(gè)設(shè)備間分配數(shù)據(jù)和計(jì)算

for (int i = 0; i < ngpus; i++)

{

cudaSetDevice(i);

cudaMemcpyAsync(d_A[i], h_A[i], iBytes, cudaMemcpyHostToDevice, streams[i]);

cudaMemcpyAsync(d_B[i], h_B[i], iBytes, cudaMemcpyHostToDevice, streams[i]);

iKernel<<>>(d_A[i], d_B[i], d_C[i], iSize);

cudaMemcpyAsync(gpuRef[i], d_C[i], iBytes, cudaMemcpyDeviceToHost, stream[i]);

}

cudaDeviceSynchronize();

這個(gè)循環(huán)遍歷多個(gè)GPU,為設(shè)備異步地復(fù)制輸入數(shù)組。然后在想要的流中操作iSize個(gè)數(shù)據(jù)元素以便啟動(dòng)內(nèi)核。最后,設(shè)備發(fā)出異步拷貝命令,把結(jié)果從內(nèi)核返回到主機(jī)。因?yàn)樗械脑囟际钱惒降模钥刂茣?huì)立即返回到主機(jī)線程。

三、多個(gè)GPU上的點(diǎn)對點(diǎn)通信

下面將測試兩個(gè)GPU之間的單向內(nèi)存復(fù)制;兩個(gè)GPU之間的雙向內(nèi)存和內(nèi)核中對等設(shè)備內(nèi)存的訪問3種情況;

1、實(shí)現(xiàn)點(diǎn)對點(diǎn)訪問

首先,必須對所有設(shè)備啟用雙向點(diǎn)對點(diǎn)訪問,代碼如下;

// 啟動(dòng)雙向點(diǎn)對點(diǎn)訪問權(quán)限

inline void enableP2P(int ngpus)

{

for (int i = 0; i < ngpus; i++)

{

cudaSetDevice(i)

for (int j = 0; j < ngpus; j++)

{

if (i == j)

continue;

int peer_access_available = 0;

cudaDeviceCanAccessPeer(&peer_access_available, i, j);

if (peer_access_avilable)

{

cudaDeviceEnablePeerAccess(j, i);

printf(" > GP%d enbled direct access to GPU%dn", i, j);

}

else

printf("(%d, %d)n", i, j);

}

}

}

函數(shù)enbleP2P遍歷所有設(shè)備對(i,j),如果支持點(diǎn)對點(diǎn)訪問,則使用cudaDeviceEnablePeerAccess函數(shù)啟用雙向點(diǎn)對點(diǎn)訪問。

2、點(diǎn)對點(diǎn)內(nèi)存復(fù)制

不能啟用點(diǎn)對點(diǎn)訪問的最有可能的原因是它們沒有連接到同一個(gè)PCIe根節(jié)點(diǎn)上。如果兩個(gè)GPU之間不支持點(diǎn)對點(diǎn)訪問,那么這兩個(gè)設(shè)備之間的點(diǎn)對點(diǎn)內(nèi)存復(fù)制將通過主機(jī)內(nèi)存中轉(zhuǎn),從而降低了性能。

啟用點(diǎn)對點(diǎn)訪問后,下面的代碼在兩個(gè)設(shè)備間執(zhí)行ping-pong同步內(nèi)存復(fù)制,次數(shù)為100次。

// ping-pong undirectional gmem copy

cudaEventRecord(start, 0);

for (int i = 0; u < 100; i++)

{

if (i % 2 == 0)

cudaMemcpy(d_src[1], drc[0], iBytes, cudaMemcpyDeviceToHost);

else

cudaMemcpy(d_src[0], drc[1], iBytes, cudaMemcpyDeviceToHost);

}

請注意,在內(nèi)存復(fù)制之前沒有指定設(shè)備,因?yàn)榭缭O(shè)備的內(nèi)存復(fù)制不需要顯式地設(shè)定當(dāng)前設(shè)備。如果在內(nèi)存復(fù)制前指定了設(shè)備,也不會(huì)影響它的行為。

如需衡量設(shè)備之間數(shù)據(jù)傳輸?shù)男阅?,需要把啟?dòng)和停止事件記錄在同一設(shè)備上,并將ping-pong內(nèi)存復(fù)制包含在內(nèi)。然后,用cudaEventElapsedTime計(jì)算兩個(gè)事件之間消耗的時(shí)間。

// ping-pong undirectional gmem copy

cudaEventRecord(start, 0);

for (int i = 0; u < 100; i++)

{

if (i % 2 == 0)

cudaMemcpy(d_src[1], drc[0], iBytes, cudaMemcpyDeviceToHost);

else

cudaMemcpy(d_src[0], drc[1], iBytes, cudaMemcpyDeviceToHost);

}

cudaEventRecord(start, 0);

for (int i = 0; u < 100; i++)

{

...

}

cudaSetDevice(0);

cudaEventRecord(stop, 0);

cudaEventSynchronize(stop);

float elapsed_time_ms;

cudaEventElapsedTime(&elapsed_time_ms, start, stop);

elapsed_time_ms /= 100;

printf("Ping-pong unidirectional cudaMemcpy: tt %8.2f ms", elapsed_time_ms);

printf("performance: %8.2f GB/sn", (float)iBytes / (elapsed_time_ms * 1e6f));

因?yàn)镻CIe總線支持任何兩個(gè)端點(diǎn)之間的全雙工通道,所以也可以使用異步復(fù)制函數(shù)來進(jìn)行雙向的且點(diǎn)對點(diǎn)的內(nèi)存復(fù)制。

// bidirectional asynchronous gmem copy

for (int i = 0; u < 100; i++)

{

if (i % 2 == 0)

cudaMemcpyAsync(d_src[1], drc[0], iBytes, cudaMemcpyDeviceToHost);

else

cudaMemcpyAsync(d_rcv[0], drcv[1], iBytes, cudaMemcpyDeviceToHost);

}

注意,由于PCIe總線是一次兩個(gè)方向上使用的,所以獲得的帶寬增加了一倍。

中國算力產(chǎn)業(yè)發(fā)展及瓶頸

一、市場規(guī)模:服務(wù)器作為算力載體,受益云計(jì)算需求提升

1、產(chǎn)業(yè)鏈:下游各領(lǐng)域算力需求帶動(dòng)服務(wù)器產(chǎn)業(yè)發(fā)展

服務(wù)器產(chǎn)業(yè)鏈上游主要是電子材料及零部件/配套。中游為各類服務(wù)器產(chǎn)品,包括云服務(wù)器、智能服務(wù)器、邊緣服務(wù)器、儲(chǔ)存服務(wù)器。下游需求主體為數(shù)據(jù)中心服務(wù)商、互聯(lián)網(wǎng)企業(yè)、政府部門、金融機(jī)構(gòu)、電信運(yùn)營商等。

wKgZomVykkSAU32IAAIUtpudNPE083.png

服務(wù)器產(chǎn)業(yè)鏈全景圖

2、云計(jì)算:算力應(yīng)用互聯(lián)網(wǎng)需求最大,其次為政府、服務(wù)等

在通用算力領(lǐng)域,互聯(lián)網(wǎng)行業(yè)依然是算力需求最大的行業(yè),占據(jù)了通用算力的39%。電信行業(yè)加大了對算力基礎(chǔ)設(shè)施的投入,算力份額首次超過政府行業(yè),位列第二。而政府、服務(wù)、金融、制造、教育、運(yùn)輸?shù)刃袠I(yè)位列三到八位。

wKgaomVykkWAS_9sAABvpEv-ntQ681.png

在智能算力領(lǐng)域,互聯(lián)網(wǎng)行業(yè)對數(shù)據(jù)處理和模型訓(xùn)練的需求持續(xù)增長,成為智能算力需求最大的行業(yè),占據(jù)了智能算力的53%。服務(wù)行業(yè)正在快速從傳統(tǒng)模式轉(zhuǎn)向新興智慧模式,其算力份額占比位列第二。而政府、電信、制造、教育、金融、運(yùn)輸?shù)刃袠I(yè)分列第三到八位。

wKgZomVykkWAC9uEAABpsW40oZo107.png

2、云計(jì)算:中國市場增速快于全球,預(yù)計(jì)2025年突破萬億元

根據(jù)Gartner數(shù)據(jù),2022年全球云計(jì)算市場規(guī)模達(dá)到4910億美元,同比增長19%,但較2021年同比下降13.5%。而根據(jù)中國信息通信研究院的統(tǒng)計(jì),2022年中國云計(jì)算市場規(guī)模達(dá)到4550億元,同比增長40.91%。

wKgaomVykkWAGghdAAKFsi3XfNY343.png

全球云計(jì)算市場規(guī)模及增速

云計(jì)算仍然是新技術(shù)融合和業(yè)態(tài)發(fā)展的重要推動(dòng)力。預(yù)計(jì)在大模型和算力需求的刺激下,市場將繼續(xù)保持穩(wěn)定增長,到2026年全球云計(jì)算市場將突破萬億美元。相比全球19%的增速,中國云計(jì)算市場仍處于快速發(fā)展階段,在大經(jīng)濟(jì)頹勢下仍保持較高的抗風(fēng)險(xiǎn)能力,預(yù)計(jì)到2025年我國云計(jì)算整體市場規(guī)模將突破萬億元。

wKgZomVykkaAAOsYAAJWkSbgIIo961.png

中國云計(jì)算市場規(guī)模及增速

3、服務(wù)器:銷售端頭部集中,采購端以科技巨頭為主

根據(jù)IDC之前公布的數(shù)據(jù),2022年中國服務(wù)器市場的主要供應(yīng)商包括浪潮信息、新華三、超聚變、寧暢和中興通訊。

wKgaomVykkaAKR8XAAF_tgxTnPs762.png

2022年中國服務(wù)器市份額情況

國內(nèi)AI服務(wù)器行業(yè)采用CPU+加速芯片的架構(gòu)形式,在進(jìn)行模型訓(xùn)練和推斷時(shí)具有效率優(yōu)勢。浪潮信息在國內(nèi)市場份額較高,其次為新華三、寧暢、安擎等。

wKgZomVykkeAFMHxAAEdy4_OkvQ058.png

2022年中國AI服務(wù)器市份額情況

隨著云計(jì)算、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù)的興起,互聯(lián)網(wǎng)巨頭逐漸取代政府和銀行等部門成為服務(wù)器的主要采購方。在2012年之前,服務(wù)器的下游客戶主要是政府、銀行等金融機(jī)構(gòu)、電信和其他大型企業(yè)。然而,現(xiàn)在服務(wù)器的下游客戶主要以科技巨頭為主,如海外亞馬遜、微軟、谷歌以及國內(nèi)阿里、騰訊等為代表的云計(jì)算巨頭逐步成為服務(wù)器市場的主要采購客戶。

wKgaomVykkeAP26gAAPySzGuRME805.png

2022年中國主要云廠商服務(wù)器規(guī)模

根據(jù)IDC的預(yù)測數(shù)據(jù),2023年全球服務(wù)器市場規(guī)模同比幾乎持平,而2024年及以后服務(wù)器市場將保持8-11%的增速,預(yù)計(jì)到2027年市場規(guī)模將達(dá)到1780億美元。

wKgZomVykkiAVogJAAGKacPTXwA826.png

2022-2027E全球服務(wù)器市場規(guī)模(億美元)

2022年中國服務(wù)器市場規(guī)模約為273.4億美元,同比增長9%,增速有所放緩。根據(jù)華經(jīng)產(chǎn)業(yè)研究院的數(shù)據(jù),2023年市場規(guī)模將達(dá)到308億美元,增速為13%。隨著東數(shù)西算項(xiàng)目的推進(jìn)、海量數(shù)據(jù)運(yùn)算和存儲(chǔ)需求的快速增長等因素的影響,中國服務(wù)器整體的采購需求將進(jìn)一步增加。IDC預(yù)測,到2027年中國AI服務(wù)器市場規(guī)模將達(dá)到164億美元。

wKgaomVykkiAS8GrAAHF3ot8Jzw647.png

2016-2023E中國服務(wù)器市場規(guī)模(億美元)

二、底層關(guān)鍵: CPU是服務(wù)器的大腦,國產(chǎn)替代空間廣闊

1、作用關(guān)鍵:CPU是服務(wù)器的大腦,GPU并行計(jì)算能力很強(qiáng)

CPU是服務(wù)器的控制中心,負(fù)責(zé)完成布局謀略、發(fā)號施令、控制行動(dòng)等任務(wù),其結(jié)構(gòu)包括運(yùn)算器、控制單元、寄存器、高速緩存器和通訊的總線。GPU由于圖形渲染、數(shù)值分析、AI推理等底層邏輯需要將繁重的數(shù)學(xué)任務(wù)拆解,利用GPU多流處理器機(jī)制,將大量運(yùn)算拆解為小運(yùn)算,并行處理。CPU和GPU是兩種不同的處理器,CPU是程序控制、順序執(zhí)行的通用處理器,而GPU是用于特定領(lǐng)域分析的專用處理器,受CPU控制。在許多終端設(shè)備中,CPU和GPU通常集成在一個(gè)芯片中,同時(shí)具備CPU或GPU處理能力。

wKgZomVykkmAKIi-AAIRW48PMiM114.png

GPU投入更多晶體管進(jìn)行數(shù)據(jù)處理,并行運(yùn)算能力強(qiáng)

2、價(jià)值關(guān)鍵:CPU、GPU占據(jù)各類服務(wù)器的硬件成本高

服務(wù)器的硬件成本構(gòu)成上,CPU及芯片組、內(nèi)存和外部存儲(chǔ)是主要部分:在普通服務(wù)器中,CPU及芯片組約占32%,內(nèi)存約占27%,外部存儲(chǔ)約占18%,其他硬件約占23%。而在AI服務(wù)器上,GPU的成本占比則遠(yuǎn)高于其他部分,可能接近整體成本的70%。從普通服務(wù)器升級到AI訓(xùn)練服務(wù)器時(shí),其他單臺服務(wù)器價(jià)值量增量較大的部件包括內(nèi)存、SSD、PCB、電源等,都有數(shù)倍的提升。

wKgaomVykkqAMzwUAAdr-IVe7rY037.png

服務(wù)器內(nèi)部拆解示意圖

3、處理器:CPU主導(dǎo)地位,GPU增長迅猛

根據(jù)Yole Intelligence的報(bào)告,預(yù)計(jì)到2028年處理器市場的收入將達(dá)到2420億美元,復(fù)合年增長率為8%。CPU市場的主導(dǎo)地位將得到鞏固,2028年市場規(guī)模將達(dá)到970億美元,復(fù)合年增長率為6.9%。GPU市場也將實(shí)現(xiàn)顯著增長,2028年市場規(guī)模將達(dá)到550億美元,復(fù)合年增長率為16.5%。在處理器市場上,英特爾、AMD、英偉達(dá)等巨頭以及紫光展銳主導(dǎo)著市場。在國內(nèi)外服務(wù)器所使用的處理器方面,英特爾、AMD、英偉達(dá)、龍芯、兆芯、鯤鵬、海光、飛騰、申威、昇騰等占主導(dǎo)地位。

wKgZomVykkqAWBZmAAX2B29mQXE337.png

2022-2028年按處理器類型劃分的處理器收入預(yù)測

4、我國在美國多輪制裁下不斷進(jìn)行科技攻堅(jiān)

自2019年5月至2020年9月,美國政府對華為實(shí)施多輪制裁,導(dǎo)致華為5G手機(jī)芯片供應(yīng)被切斷,華為手機(jī)銷量大幅下滑。此后,美國針對我國半導(dǎo)體領(lǐng)域的限制不斷升級。然而,華為最新旗艦機(jī)型采用了7nm工藝的麒麟9000s芯片,標(biāo)志著中國在芯片設(shè)計(jì)和制造領(lǐng)域的里程碑。

2023年10月17日,美國商務(wù)部工業(yè)和安全局公布了新的尖端芯片出口管制規(guī)則,共計(jì)近500頁,全面限制美國芯片巨頭如英偉達(dá)、英特爾等生產(chǎn)的“特供版”芯片出口到中國及40余個(gè)國家。此外,還更新了半導(dǎo)體設(shè)備和技術(shù)相關(guān)的“長臂管轄”,擴(kuò)大荷蘭***企業(yè)ASML不可對華出口機(jī)型范圍,并限制波及中國之外20余個(gè)國家。同時(shí),將壁仞科技、摩爾線程等13個(gè)中國實(shí)體加入美國管制清單,限制中國企業(yè)通過代工廠生產(chǎn)先進(jìn)芯片。

wKgaomVykkuAYEwoAAwh11wxTA4295.png

10月17日美國商務(wù)部工業(yè)和安全局公布管制新規(guī)

三、算力的瓶頸在哪里,機(jī)會(huì)就會(huì)在哪里

算力是現(xiàn)代計(jì)算機(jī)技術(shù)的核心,其瓶頸主要存在于數(shù)據(jù)傳輸和存儲(chǔ)方面。目前,計(jì)算機(jī)普遍采用馮諾依曼架構(gòu),數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)計(jì)算分開,算力容易被卡在數(shù)據(jù)傳輸,而非真正的計(jì)算。算力分為四層,每一層都需要解決如何讓數(shù)據(jù)連接更快的問題。

1、GPU內(nèi)部

GPU內(nèi)部的計(jì)算單元與顯存之間的數(shù)據(jù)傳輸是性能提升的瓶頸,同時(shí)多個(gè)GPU間的協(xié)同計(jì)算也受到數(shù)據(jù)傳輸速度的限制。傳統(tǒng)GPU通常采用GDDR內(nèi)存,這種內(nèi)存是平面封裝,導(dǎo)致數(shù)據(jù)傳輸速度跟不上GPU的計(jì)算速度。為解決這一問題,升級后的方案采用HBM內(nèi)存技術(shù)。HBM內(nèi)存是垂直封裝,能夠提供更大的帶寬,從而將數(shù)據(jù)更快地傳輸?shù)紾PU的計(jì)算單元中。例如,HBM2的帶寬高達(dá)256GB/s,比傳統(tǒng)的GDDR內(nèi)存快十倍以上。

2、AI服務(wù)器

每臺AI服務(wù)器都由多個(gè)GPU組成(4個(gè)、8個(gè)甚至更多),GPU需要進(jìn)行協(xié)同計(jì)算。然而,它們之間的數(shù)據(jù)傳輸速度成為性能的瓶頸。在這方面,英偉達(dá)GPU連接技術(shù)最為先進(jìn),使用的是其NVLink協(xié)議,每秒傳輸速度高達(dá)50GB。華為也擁有自己的HCCS協(xié)議,帶寬表現(xiàn)不錯(cuò),每秒30GB,與英偉達(dá)沒有量級的差異。然而,其他傳統(tǒng)的服務(wù)器只采用PCIe 5標(biāo)準(zhǔn)接口,每通道傳輸速度只有4GB,不到英偉達(dá)的十分之一。因此,為提高數(shù)據(jù)傳輸速度并解決該瓶頸問題,需要采用更先進(jìn)的技術(shù)和協(xié)議。

3、數(shù)據(jù)中心

數(shù)據(jù)中心由上百甚至上千臺AI服務(wù)器組成計(jì)算集群,服務(wù)器之間需要快速的數(shù)據(jù)連接。英偉達(dá)采用專用的InfiniBand網(wǎng)絡(luò),而其他廠商則使用ROC高速以太網(wǎng)網(wǎng)絡(luò)。盡管這兩種網(wǎng)絡(luò)在物理層都使用光纖連接,但都離不開光模塊。無論是數(shù)據(jù)發(fā)送還是接收,無論是服務(wù)器端還是交換機(jī)端,都需要光模塊。今年,光模塊的技術(shù)從400G升級到800G,因?yàn)閲鴥?nèi)廠商在光模塊制造領(lǐng)域的占比很高,因此這一塊的業(yè)績能夠真正實(shí)現(xiàn),導(dǎo)致光模塊技術(shù)在算力領(lǐng)域被炒作得最多。

4、數(shù)據(jù)網(wǎng)絡(luò)

不同地點(diǎn)和城市的數(shù)據(jù)中心可以組成一個(gè)龐大的算力網(wǎng)絡(luò),通過調(diào)度和統(tǒng)籌,終端用戶輕松地使用最快且最便宜的算力資源。目前,算力網(wǎng)絡(luò)的發(fā)展趨勢是采用云-邊-端的架構(gòu),旨在解決數(shù)據(jù)傳輸?shù)膯栴}。其中,邊緣計(jì)算是最為熱門的技術(shù)之一。邊緣計(jì)算并不僅僅是指手機(jī)和智能車輛,而是指在傳統(tǒng)的云計(jì)算中心之外,更靠近終端地方增加一層直接計(jì)算能力,以節(jié)省數(shù)據(jù)傳輸?shù)某杀竞蜁r(shí)間。因此,未來的大趨勢是云的AI算力、邊緣的AI算力和用戶端的AI算力相互結(jié)合,共同推動(dòng)人工智能技術(shù)的發(fā)展。

藍(lán)海大腦深度學(xué)習(xí)大數(shù)據(jù)平臺

藍(lán)海大腦深度學(xué)習(xí)大數(shù)據(jù)平臺是面向多源空間數(shù)據(jù)的處理平臺,集成存儲(chǔ)、計(jì)算和數(shù)據(jù)處理軟件,具有高效、易操作、低成本、多層次擴(kuò)展和快速部署等顯著優(yōu)勢,在測繪、農(nóng)業(yè)、林業(yè)、水利、環(huán)保等領(lǐng)域大大提升圖像處理能力,保護(hù)投資,高效應(yīng)對大數(shù)據(jù)挑戰(zhàn),加速業(yè)務(wù)突破和轉(zhuǎn)型。

一、主要技術(shù)指標(biāo)

可 靠 性:平均故障間隔時(shí)間MTBF≥15000 h

工作溫度:5~40 ℃

工作濕度:35 %~80 %

存儲(chǔ)溫度:-40~55 ℃

存儲(chǔ)濕度:20 %~90 %

聲 噪:≤35dB

wKgZomVykkuAG6GTAAlcSZ5ucjM405.png

二、特點(diǎn)及優(yōu)勢:

基于統(tǒng)一的整體架構(gòu),采用先進(jìn)成熟可靠的技術(shù)與軟硬件平臺,保證基礎(chǔ)數(shù)據(jù)平臺易擴(kuò)展、易升級、易操作、易維護(hù)等特性。基于業(yè)界熱門,且領(lǐng)先的 Spark 技術(shù),極速提高平臺的整體計(jì)算性能。

支持基礎(chǔ)數(shù)據(jù)模型、應(yīng)用分析模型、前端應(yīng)用的擴(kuò)展性;支持在統(tǒng)一系統(tǒng)架構(gòu)中服務(wù)器、存儲(chǔ)、I/O 設(shè)備等的可擴(kuò)展性。

制定并實(shí)施基礎(chǔ)數(shù)據(jù)平臺高可用性方案、運(yùn)行管理監(jiān)控制度、運(yùn)行維護(hù)制度、故障處理預(yù)案等,保證系統(tǒng)在多用戶、多節(jié)點(diǎn)等復(fù)雜環(huán)境下的可靠性。

高效性:在規(guī)定時(shí)間內(nèi)完成數(shù)據(jù)寫入操作,并將數(shù)據(jù)寫入對數(shù)據(jù)分析的影響降到最低;提升實(shí)現(xiàn)規(guī)劃要求的數(shù)據(jù)查詢和統(tǒng)計(jì)分析速度。

數(shù)據(jù)質(zhì)量貫穿基礎(chǔ)數(shù)據(jù)平臺系統(tǒng)建設(shè)的每個(gè)環(huán)節(jié),基礎(chǔ)數(shù)據(jù)平臺系統(tǒng)通過合理的數(shù)據(jù)質(zhì)量管理解決方案保證數(shù)據(jù)質(zhì)量。

按國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、安全規(guī)范等實(shí)現(xiàn)數(shù)據(jù)安全管理。

統(tǒng)一的管理平臺,對系統(tǒng)進(jìn)行相應(yīng)的性能管理和日志監(jiān)控。

人機(jī)接口靈活多樣的展現(xiàn)方式,最終用戶只需進(jìn)行適當(dāng)?shù)呐嘤?xùn)就可以方便地使用新的分析工具,減少 IT 人員的工作量,加強(qiáng)集群監(jiān)管的時(shí)效性。

具有超強(qiáng)影像處理能力,每天(24小時(shí))可處理多達(dá)500景對(全色和多光譜)高分一號影像數(shù)據(jù)。

廣泛適用于基礎(chǔ)測繪、農(nóng)業(yè)、林業(yè)、水利、環(huán)保等領(lǐng)域,適合常規(guī)模式下產(chǎn)品生產(chǎn)和應(yīng)急模式下快速影像圖生成。

針對大數(shù)據(jù)原始技術(shù)存在的問題,藍(lán)海大腦大數(shù)據(jù)平臺從企業(yè)應(yīng)用角度出發(fā),對 Apache Hadoop 進(jìn)行了系列技術(shù)開發(fā),形成了適應(yīng)企業(yè)級應(yīng)用的一站式大數(shù)據(jù)平臺,從而滿足各類企業(yè)的要求:

超大數(shù)據(jù)的分布式存儲(chǔ)、流數(shù)據(jù)實(shí)時(shí)計(jì)算要求

滿足大數(shù)據(jù)的高并發(fā)、低延遲查詢請求

分布式應(yīng)用系統(tǒng)異常故障時(shí),業(yè)務(wù)切換

系統(tǒng)線性擴(kuò)展時(shí),無需增加開發(fā)工作,實(shí)現(xiàn)無成本擴(kuò)展

三、常用配置推薦

1、CPU:

- Intel Xeon Gold 8358P 32C/64T 2.6GHz 48MB,DDR4 3200,Turbo,HT 240W

- Intel Xeon Platinum 8458P 28C/56T 2.7GHz 38.5MB,DDR4 2933,Turbo,HT 205W

- Intel Xeon Platinum 8468 Processor 48C/64T 2.1GHz 105M Cache 350W

- AMD EPYC? 7742 64C/128T,2.25GHz to 3.4GHz,256MB,DDR4 3200MT/s,225W

- AMD EPYC? 9654 96C/192T,2.4GHz to 3.55GHz to 3.7GHz,384MB,DDR5 4800MT/s,360W

- Intel Xeon Platinum 8350C 32C/64T 2.6GHz 48MB,DDR4 3200,Turbo,HT 240W

- Intel Xeon Gold 6240R 24C/48T,2.4GHz,35.75MB,DDR4 2933,Turbo,HT,165W.1TB

- Intel Xeon Gold 6258R 28C/56T,2.7GHz,38.55MB,DDR4 2933,Turbo,HT,205W.1TB

- Intel Xeon W-3265 24C/48T 2.7GHz 33MB 205W DDR4 2933 1TB

- Intel Xeon Platinum 8280 28C/56T 2.7GHz 38.5MB,DDR4 2933,Turbo,HT 205W 1TB

- Intel Xeon Platinum 9242 48C/96T 3.8GHz 71.5MB L2,DDR4 3200,HT 350W 1TB

- Intel Xeon Platinum 9282 56C/112T 3.8GHz 71.5MB L2,DDR4 3200,HT 400W 1TB

2、GPU:

- NVIDIA A100, NVIDIA GV100

- NVIDIA L40S GPU 48GB

- NVIDIA NVLink-A100-SXM640GB

- NVIDIA HGX A800 80GB

- NVIDIA Tesla H800 80GB HBM2

- NVIDIA A800-80GB-400Wx8-NvlinkSW

- NVIDIA RTX 3090, NVIDIA RTX 3090TI

- NVIDIA RTX 8000, NVIDIA RTX A6000

- NVIDIA Quadro P2000,NVIDIA Quadro P2200

審核編輯 黃宇

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

    關(guān)注

    68

    文章

    11277

    瀏覽量

    224956
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    5194

    瀏覽量

    135432
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    685

    瀏覽量

    31317
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    9063

    瀏覽量

    143743
  • AIGC
    +關(guān)注

    關(guān)注

    1

    文章

    391

    瀏覽量

    3224
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    五年完成從0到1,國產(chǎn)TPU的突圍

    三大支柱的系統(tǒng),而硬件是的唯一載體,也是數(shù)據(jù)處理、算法落地的物理基礎(chǔ)。 ? 在過去,AI的算法硬件主要依靠GPUCPU,但隨著AI技術(shù)的發(fā)展
    的頭像 發(fā)表于 12-30 09:24 ?1631次閱讀

    GPU 利用率<30%?這款開源智云平臺讓不浪費(fèi) 1%

    作為 AI 開發(fā)者,你是否早已受夠這些困境:花數(shù)百萬采購的 GPU 集群,利用率常年低于 30%,閑置如同燒錢;跨 CPU/GPU/NP
    的頭像 發(fā)表于 01-26 14:20 ?180次閱讀

    湘軍,讓變成生產(chǎn)?

    腦極體
    發(fā)布于 :2025年11月25日 22:56:58

    CPUGPU到NPU,美格智能持續(xù)優(yōu)化異構(gòu)計(jì)算效能

    的科技企業(yè)也在近期表示,將通過軟件層創(chuàng)新大幅提升資源利用率。作為高AI模組和端側(cè)AI領(lǐng)域的領(lǐng)先企業(yè),美格智能長期專注于端側(cè)AI
    的頭像 發(fā)表于 11-21 16:05 ?1152次閱讀
    從<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>到NPU,美格智能持續(xù)<b class='flag-5'>優(yōu)化</b>異構(gòu)<b class='flag-5'>算</b><b class='flag-5'>力</b>計(jì)算效能

    奇異摩爾受邀出席2025多樣性產(chǎn)業(yè)發(fā)展大會(huì)

    為探究多樣性發(fā)展新模式、推動(dòng)國內(nèi)產(chǎn)業(yè)優(yōu)化升級,中國
    的頭像 發(fā)表于 11-19 17:45 ?1401次閱讀
    奇異摩爾受邀出席2025多樣性<b class='flag-5'>算</b><b class='flag-5'>力</b>產(chǎn)業(yè)<b class='flag-5'>發(fā)展</b>大會(huì)

    【「AI芯片:科技探索與AGI愿景」閱讀體驗(yàn)】+AI的未來:提升還是智力

    本章節(jié)作者分析了下AI的未來在哪里,就目前而言有來那個(gè)兩種思想:①繼續(xù)增加大模型②將大模型改為小模型,并將之優(yōu)化使之與大模型性能不不相上下。 一、大模型是一條不可持續(xù)發(fā)展的道路 大模型的不可持續(xù)
    發(fā)表于 09-14 14:04

    昆侖芯科技亮相2025中國大會(huì)

    8月22日至24日,2025中國大會(huì)在山西大同舉辦,本屆大會(huì)以“網(wǎng)筑基 智引未來”為主題,聚焦
    的頭像 發(fā)表于 08-27 15:11 ?1830次閱讀

    華為聯(lián)合中國移動(dòng)研究院發(fā)布“路由AI推理及視聯(lián)網(wǎng)應(yīng)用樣板”

    2025年8月20日;在第九屆未來網(wǎng)絡(luò)發(fā)展大會(huì)期間,華為聯(lián)合中國移動(dòng)研究院發(fā)布“路由AI推理及視聯(lián)網(wǎng)應(yīng)用樣板”,標(biāo)志著
    的頭像 發(fā)表于 08-25 19:23 ?1186次閱讀

    【「芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】+NVlink技術(shù)從應(yīng)用到原理

    前言 【「芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」書中的芯片知識是比較接近當(dāng)前的頂尖芯片水平的,同時(shí)包含了芯片架構(gòu)的基礎(chǔ)知識,但該部分知識比較晦澀難懂,或許是由于我一
    發(fā)表于 06-18 19:31

    RISC-V架構(gòu)下AI融合算及其軟件棧實(shí)踐

    面對未來大模型(LLM)、AIGC等智能化浪潮的挑戰(zhàn),進(jìn)迭時(shí)空在RISC-V方向全面布局,通過精心設(shè)計(jì)的RISC-VDSA架構(gòu)以及軟硬一體的優(yōu)化策略,將全力為未來打造高效且易用的AI
    的頭像 發(fā)表于 06-06 17:04 ?1427次閱讀
    RISC-V架構(gòu)下AI融合算<b class='flag-5'>力</b>及其軟件棧實(shí)踐

    AIGC基礎(chǔ)設(shè)施技術(shù)架構(gòu)與行業(yè)實(shí)踐

    AIGC基礎(chǔ)設(shè)施技術(shù)架構(gòu)與行業(yè)實(shí)踐 一、硬件層:AI的物理載體 芯片技術(shù)升級? 國際前沿?:某國際芯片巨頭2025年發(fā)布的GB200
    的頭像 發(fā)表于 05-29 07:44 ?940次閱讀
    <b class='flag-5'>AIGC</b><b class='flag-5'>算</b><b class='flag-5'>力</b>基礎(chǔ)設(shè)施技術(shù)架構(gòu)與行業(yè)實(shí)踐

    搭建中心,從了解的GPU 特性開始

    ABSTRACT摘要本文介紹如何搭建,并介紹A100、H100、H200和B200這些GPU的特性。JAEALOT2025年4月23日隨著人工智能、大數(shù)據(jù)和高性能計(jì)算(HPC)的快速發(fā)展
    的頭像 發(fā)表于 04-24 11:08 ?3363次閱讀
    搭建<b class='flag-5'>算</b><b class='flag-5'>力</b>中心,從了解的<b class='flag-5'>GPU</b> 特性開始

    維諦技術(shù)(Vertiv)發(fā)布兆瓦級UPS新品,破局高密AI負(fù)載供電挑戰(zhàn)

    在AI時(shí)代,數(shù)據(jù)中心需要什么樣的供電系統(tǒng)?隨著AIGC業(yè)務(wù)需求的快速發(fā)展,導(dǎo)致機(jī)柜功率密度迅速增加,高密負(fù)載對數(shù)據(jù)中心的影響正日益加大。作為關(guān)鍵環(huán)節(jié)的供電系統(tǒng),正面臨著
    的頭像 發(fā)表于 04-03 11:01 ?1234次閱讀
    維諦技術(shù)(Vertiv)發(fā)布兆瓦級UPS新品,破局高密AI<b class='flag-5'>算</b><b class='flag-5'>力</b>負(fù)載供電挑戰(zhàn)

    DeepSeek推動(dòng)AI需求:800G光模塊的關(guān)鍵作用

    數(shù)據(jù)傳輸速率,減少帶寬瓶頸,成為數(shù)據(jù)中心和AI集群架構(gòu)優(yōu)化的重點(diǎn)。光模塊速率的躍升不僅提升了傳輸效率,也為大規(guī)模并行計(jì)算任務(wù)提供了必要的帶寬保障。 800G光模塊如何解決DeepSeek大規(guī)模
    發(fā)表于 03-25 12:00

    AI 報(bào)告來了!2025中國AI市場將達(dá) 259 億美元

    報(bào)告來源:IDC、浪潮信息2月13日,國際數(shù)據(jù)公司(IDC)攜手浪潮信息,重磅發(fā)布《2025年中國人工智能計(jì)算發(fā)展評估報(bào)告》。當(dāng)下,大模型與生成式人工智能熱度飆升,
    的頭像 發(fā)表于 03-07 13:27 ?2312次閱讀
    AI <b class='flag-5'>算</b><b class='flag-5'>力</b>報(bào)告來了!2025<b class='flag-5'>中國</b>AI<b class='flag-5'>算</b><b class='flag-5'>力</b>市場將達(dá) 259 億美元