色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

從計算機圖形學到人工智能

汽車電子技術 ? 來源:程序芯世界 ? 作者:CoderWorld ? 2023-03-02 16:17 ? 次閱讀

1. 引言

多年以后,面對圖形處理器GPU)在人工智能、加密貨幣、高性能計算、自動駕駛等多研究領域的廣泛應用,如今的游戲發燒友們是否會回想起,1999年Nvidia發布專業游戲顯卡GeForce256時那個炎熱的夏天?

圖片

GPU應用

GeForce256發布以后GPU一詞才被大眾所接受,實際上1994年索尼發布PS1的時候就提出了GPU的概念,當時使用的是由東芝為索尼設計的GPU。

而后來在2002年ATI(已被AMD收購)提出的VPU(Visual Processing Unit)一詞則在時代的浪潮中消失無蹤。

從GeForce256發布至今的21年時間,GPU實現了從PC游戲時代到AI時代的巨大跨越。本文將和大家一起揭秘GPU為何能夠撬動計算機圖形學和人工智能這兩個博大精深的領域。

2. GPU與計算機圖形學

今年3月18日,國際計算機學會ACM官方公布了2019年度圖靈獎(計算機界的諾貝爾獎)獲得者Hanrahan和Catmull,以表彰他們對3D計算機圖形學的貢獻。

Hanrahan提出的renderMan很大程度上對GPU產生了影響。例如著色器(Shader)一詞的出現,最先是由Pixar與1988年五月發布的renderMan接口規范中提出。

renderMan技術制作了一系列成功電影,其中包括《阿凡達》、《玩具總動員》、《泰坦尼克號》等。

圖片

renderMan渲染的阿凡達

另外,Hanrahan和他的學生還開發了一種用于 GPU 的語言:Brook,并最終催生了 NVIDIA的CUDA。

事實上,計算機圖形學是一個廣泛的學科,其中包括:

  • 物理模擬:涉及各個物理分支相關數學。
  • 模型處理:微積分,線性代數、微分幾何、優化理論。
  • 渲染:微積分、概率、光學中相關數學。

而我們的GPU,正是用來為計算機圖形學中實時圖像渲染加速的。

GPU的硬件設計上引入了圖形管線,使得各任務可以通過流水線進行并行處理。

同時通過可編程的著色器,使得GPU硬件能夠根據圖形學算法更好的被使用。

通過下一節我們可以詳細的了解到什么是GPU圖形管線和可編程著色器。

2.1 GPU圖形管線

GPU圖形管線共分為三個部分,分別是應用程序階段、幾何階段、光柵化階段。

我們在最終在屏幕上看到的畫面,就是3D模型經過這三個階段渲染后得到的。

圖片

GPU圖形管線

  • 應用程序階段

圖形渲染管線概念上的第一個階段,開發者通過程序的方式對圖元數據等信息進行配置和調控,最后傳輸到下個階段。

  • 幾何階段

幾何階段分為模型視點變換、頂點著色、裁剪、屏幕映射等步驟。

模型視點變換 :由每個模型自己的局部坐標系轉換到世界坐標系,然后到視覺空間,通過將每個模型的各頂點坐標與相應的變換矩陣相乘來實現。

下圖是一個模型視點變換的實例,每個建模好的立方體的坐標是以原點為中心的局部坐標系,可以通過矩陣變換將各模型放到同一個世界坐標系中。

圖片

模型視點變換

頂點著色:著色是指確定材質的顏色,材質的顏色實際上和光照有關。目前常用的光照模型是馮氏光照模型,包括環境、漫反射和鏡面光照。

裁剪 :對于在屏幕空間外的物體,我們并沒有必要去計算它的顏色等信息

屏幕映射:是將之前步驟得到的坐標映射到對應的屏幕坐標系上。

  • 光柵化階段

給定經過變換和投影之后的頂點,顏色以及紋理坐標(均來自于幾何階段),給每個像素正確配色,以便正確繪制整幅圖像,這個過程叫光柵化。

光柵化包括三角形設定、三角形遍歷、像素著色、融合階段(如下圖所示)。

圖片

光柵化階段

三角形設定階段:計算三角形表面的差異和三角形表面的其他相關數據。

三角形遍歷階段:到那些采樣點或像素在三角形中的過程通常叫三角形遍歷。

像素著色階段:主要目的是計算所有需要逐像素計算操作的過程。

融合階段:合成當前儲存于緩沖器中的由之前的像素著色階段產生的片段顏色。

2.2 可編程著色器

可編程著色器(shader),簡單來說就是可以運行在GPU上的程序,這種程序會使用特定的著色語言(類似于C語言)。

2.2.1 著色器語言

不同圖形編程接口對應不同的著色語言,Windows平臺上的圖形編程接口DirectX使用的是HLSL,而跨平臺的圖形編程接口OpenGL則是使用的GLSL,HLSL與GLSL的語法與C語言十分相似。而新一代圖形編程接口Vulkan則是直接定義了一套二進制中間語言SPIR-V。

圖片

HLSL與GLSL都可以編譯成獨立于機器的中間語言(SPIR-V本身就是中間語言),然后在驅動中通過編譯器轉換成實際的機器語言。這樣可以實現對不同硬件的兼容,因為不同廠商可以在驅動中調用自己的編譯器生成自家GPU識別的指令。

有了著色語言以后,我們的工程師就可以通過高級語言來控制GPU對圖形進行實時渲染。

但實際上我們的GPU一開始支持的Shader并沒有那么多。這與GPU硬件的可編程渲染架構發展有關。

GPU可編程渲染架構經歷了分離渲染架構到統一渲染架構的進化過程。

如下圖所示,左邊是分離渲染架構,右邊是統一渲染架構。

圖片

分離架構 vs 統一渲染架構

分離渲染架構:頂點著色器與像素著色器在兩個不同的著色器核(紅色部分)上運行。

統一渲染架構:所有的著色器程序都可以在同一個著色器核上運行。

與分離渲染架構相比,統一渲染架構更加靈活且利用率更高。

下面以DirectX(openGL也有對應的版本)發布為線索,分別介紹分離渲染架構與統一渲染架構的發展歷史。

2.2.2 分離渲染架構

圖片

  • 1999年微軟DirectX7提供了硬件頂點變換的編程接口,NV的Geforc256對此進行了支持,從此NV公司從眾多顯卡制造商中殺出重圍,逐漸占據了龍頭老大的地位。
  • 2001年DirectX8發布,包含Shader Model 1.0標準。遵循這一模型的GPU可以具備頂點和像素的可編程性。同年,NVIDIA發布了Geforce3,ATI發布了Radeon8500,這兩種GPU支持頂點編程。但是這一時期的GPU都不支持像素編程,只是提供了簡單的配置功能。
  • 2002年,DirectX9.0公布,包含Shader Model 2.0。此模型是真正的可編程頂點著色器及像素著色器。頂點著色器主要執行頂點的變換、完成光照與材質的運用及計算等相關操作。
  • 2003年,NVIDIA和ATI發布的新產品都同時具備了可編程頂點處理和可編程像素處理器。從此,GPU具備了可編程屬性,也叫做可編程圖形處理單元。

2.2.3 統一渲染架構

圖片

  • 2006年包含DirectX10的 Shader Model4.0發布,采用統一渲染架構,使用統一的流處理器。這一時期,比較有代表性的GPU有NVIDIA的Geforce9600和ATI的Radeon 3850。
  • 2010年,包含DirectX11的Shader Model 5.0 發布,增加了曲面細分著色器、外殼著色器、鑲嵌單元著色器、域著色器、計算著色器。這一時期比較有代表性的GPU是GeForece405
  • 2014年,DirectX 12發布,主要特性有輕量化驅動層、硬件級多線程渲染支持、更完善的硬件資源管理,比較有代表性的GPU有GeForceGT 710
  • 2018,DirectX 12.1發布,代表性GPU是TITAN RTX,擁有1770MHz主頻,24G顯存,384位帶寬,支持8K分辨率。

以上僅列舉了部分Shader Model的特性,如要查看完整特性,有興趣的同學可以參考這個鏈接Shader Model

2.3 小結

上一節介紹了GPU渲染架構發展歷史、GPU圖形管線、以及能夠在GPU上運行的高級著色語言。

可以看到,GPU對圖形渲染的過程需要并行處理海量數據,涉及大量矩陣運算,這一特性使得GPU能夠在人工智能應用中發揮巨大的作用。

下一節我們將看到GPU的這些特性是如何為深度學習加速的。

3. GPU與人工智能

2018年,國際計算機學會將圖靈獎頒發給了深度學習領域的三位大師Hinton,LeCun 和 Bengio。

深度學習剛被提出的時候曾經遭到學術屆的質疑,而如今卻成為了人工智能領域的熱點。

人工智能的三大要素:算法、算力、大數據。

深度學習被質疑的一部分原因正是因為當時的計算能力無法滿足深度學習的要求,而如今異構計算則成為了深度學習的重要支柱。

使用不同的類型指令集、不同的體系架構的計算單元,組成一個混合的系統,執行計算的特殊方式,就叫做異構計算。

3.1 異構計算

目前關于深度學習流行的異構解決方案共三種,分別是ASICFPGA、GPU。

但是從開發人員數量和受歡迎程度以及生態系統來說,GPU無疑是最有優勢的。

通過下面三種方案的對比,我們可以看到這三種方案各自的優缺點。

ASIC即專用集成電路,是指應特定用戶要求和特定電子系統的需要而設計、制造的集成電路。

優點::體積小、功耗低、計算性能高、計算效率高、芯片出貨量越大成本越低。

缺點:算法固定,一旦算法變化就無法使用。目前人工智能算法遠沒有到算法平穩期,ASIC專用芯片如何做到適應各種算法是個最大的問題。

實例:寒武紀的NPU、地平線的BPU、Google的TPU都是屬于ASIC。如圖是Google的TPU,兼具了CPU與ASIC的特點。

圖片

Google TPU

  • CPU+FPGA

FPGA是一種硬件可重構的體系結構。它的英文全稱是Field Programmable Gate Array,中文名是現場可編程門陣列。

圖片

CPU+FPGA

優點:靈活性高、無需取指令、譯碼,執行效率高。FPGA中的寄存器和片上內存由各自的邏輯進行控制無需仲裁和緩存。多個邏輯單元之間的通信已經確定,無需通過共享內存進行通信。

缺點:總體性價比和效率不占優勢。FPGA的大規模開發難度偏高,從業人員相對較少,生態環境不如GPU。

實例:微軟使用FPGA為Bing搜索智能化進行加速。

  • CPU+GPU

圖片

CPU+GPU

GPU具有更好的生態環境,例如具備CUDA支持的GPU為用戶學習Caffe、Theano等研究工具提供了很好的入門平臺。為初學者提供了相對更低的應用門檻。

除此之外,CUDA在算法和程序設計上相比其他應用更加容易,通過NVIDIA多年的推廣也積累了廣泛的用戶群,開發難度更小。

最后則是部署環節,GPU通過PCI-e接口可以直接部署在服務器中,方便快速。得益于硬件支持與軟件編程、設計方面的優勢,GPU才成為了目前應用最廣泛的平臺。

3.2 GPU與深度學習

與大多機器學習算法一樣,深度學習依賴于數學和統計學計算。人工神經網絡(ANN),卷積神經網絡(CNN)和循環神經網絡(RNN)是一些現代深度學習的實現。

這些算法都有以下基本運算:

  • 矩陣相乘:所有的深度學習模型中都包括這一運算,計算十分密集。
  • 卷積:也是深度學習中常用的運算,占用了模型中大部分的浮點運算。

上節中提到,GPU在進行圖像渲染時間需要處理每秒大量的矩陣乘法運算,

下圖是一個簡單直觀的例子:將一幅圖像倒置,在我們肉眼看來是一幅連續的圖形,在GPU看來實際上是由多個離散的像素組成,將圖像倒置實際上對每個像素做矩陣乘法。

當然這只是一個簡單的例子,實際上的3D渲染處理的數據比這更多也更加復雜。

圖片

圖片

GPU并行處理

深度學習同樣需要并行處理,因為神經網絡是一種典型的并行結構,每個節點的計算簡單且獨立,但是數據龐大,通常深度學習的模型需要幾百億甚至幾萬億的矩陣運算。

圖片

神經網絡結構

可以看到,圖形渲染與深度學習有著相似之處。這兩種場景都需要處理每秒大量的矩陣乘法運算。

而GPU擁有數千個內核的處理器,能夠并行執行數百萬個數學運算。

因此GPU完美地與深度學習技術相契合。使用GPU做輔助計算,能夠更快地提高AI的性能。

總的來說,GPU做深度學習有三大優勢:

  • 每一個GPU擁有大量的處理器核心,允許大量的并行處理。
  • 深度學習需要處理大量的數據,需要大量的內存帶寬(最高可達到750GB/S,而傳統的CPU僅能提供50GB/S),因此GPU更適合深度學習。
  • 更高的浮點運算能力。浮點運算能力是關系到3D圖形處理的一個重要指標。現在的計算機技術中,由于大量多媒體技術的應用,浮點數的計算大大增加了,比如3D圖形的渲染等工作,因此浮點運算的能力是考察處理器計算能力的重要指標。

3.3 小結

本節介紹了異構計算對深度學習加速的優缺點,主要包括FPGA、ASIC、GPU三種硬件解決方案。

最后通過比較GPU進行圖形渲染與深度學習計算時的相似之處,解釋了GPU為何能夠加速深度學習,以及GPU加速深度學習的優勢。

4. 總結

計算機圖形學與人工智能是兩個博大精深的領域,本文僅從GPU實時渲染與GPU并行加速的角度進行了闡述。

寫這篇文章的初衷是因為聯想到GPU與近三年來的圖靈獎領域息息相關。

2019年圖靈獎授予了計算機圖形學領域、2018年授予了深度學習領域,2017年授予了計算機體系結構領域。

GPU實時渲染、GPU并行加速、GPU架構分別與這三個領域有著千絲萬縷的聯系,因此想到了寫這樣一篇GPU探秘的文章。

5. 推薦閱讀

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

    關注

    28

    文章

    4729

    瀏覽量

    128890
  • 算法
    +關注

    關注

    23

    文章

    4607

    瀏覽量

    92840
  • 可編程
    +關注

    關注

    2

    文章

    860

    瀏覽量

    39811
收藏 人收藏

    評論

    相關推薦

    計算機圖形學年鑒:研究現狀、應用和未來

    計算機圖形學是支持各種影視特效、三維動畫影片、計算機游戲、虛擬現實以及大家手機上各種照片視頻美化特效背后的技術基礎,在本文中,微軟亞洲研究院網絡圖形組深入解釋了
    發表于 01-03 10:44 ?1160次閱讀

    計算機圖形學研究和應用

    計算機圖形學研究和應用論文關于計算機圖形學的發展及應用探究  【摘要】計算機圖形學經過三十多年的
    發表于 08-31 08:05

    計算機圖形學定義

    計算機圖形學定義:計算機圖形學是研究怎樣用數字計算機生成、處理和顯示圖形的一門學科。
    發表于 08-31 07:07

    計算機圖形學原理教程(Visual+C++版)

    計算機圖形學原理教程(Visual+C++版)
    發表于 07-15 16:11 ?0次下載

    什么是計算機圖形學

    什么是計算機圖形學 計算機圖形學(Computer Graphics,簡稱CG),是研究用計算機來處理
    發表于 05-24 23:26 ?2704次閱讀

    基于OpenGL的計算機圖形學教學改革探索

    針對傳統的本科計算機圖形學教學中存在的問題,提出了基于OpenGL實驗平臺的教學改革方法,設計了基于OpenGL計算機圖形學實驗項目,并給出了綜合評定考核方法。實踐表明,該教學模
    發表于 07-27 16:08 ?21次下載

    計算機圖形學講義

    計算機圖形學是利用計算機研究圖形的表示、生成、處理、顯示的學科。
    發表于 03-22 16:33 ?0次下載

    MFC編程基礎-圖形學

    計算機上的上位機制作工具語言之MFC編程基礎-圖形學
    發表于 09-01 15:01 ?0次下載

    計算機圖形學的非線性投影研究

    隨著科學技術的不斷發展,非線性的投影方法由以前的小范圍使用,發展到了包括在計算的機圖形學、圖像處理、地圖設計、攝影,畫畫等領域中。為了使各需要投影技術的領域提供更好的技術支持,文中提出了計算機
    發表于 11-11 12:08 ?9次下載
    <b class='flag-5'>計算機</b><b class='flag-5'>圖形學</b>的非線性投影研究

    NVIDIA將人工智能引入計算圖形學 NVIDIA GPU渲染加速視覺特效

    NVIDIA致力于不斷為用戶提供非凡的圖形計算性能,為專業化的工作流程注入人工智能、虛擬現實和照片級寫實的畫質,以適應用戶的嚴苛要求。NVIDIA在計算機
    的頭像 發表于 01-04 10:23 ?8101次閱讀

    清華AMiner團隊發布計算機圖形學研究報告

    清華AMiner團隊近日發布新一期研究報告——《計算機圖形學研究報告》,報告全文共 53 頁,概念、技術、人才、會議、應用及相應趨勢詳細介紹了計算機
    的頭像 發表于 08-20 15:31 ?3144次閱讀
    清華AMiner團隊發布<b class='flag-5'>計算機</b><b class='flag-5'>圖形學</b>研究報告

    計算機圖形學總覽:圖像和圖像的概念辨析

    計算機圖形學計算機視覺是同一過程的兩個方向。計算機圖形學將抽象的語義信息轉化成圖形
    的頭像 發表于 08-21 09:10 ?6580次閱讀

    2018計算機圖形學AMiner的研究報告詳細資料免費下載

    計算機圖形學計算機科學領域的重要研究方向之一,圖形學技術也在社會生活和生產的各個領域得到應用。本研究報告對計算機
    發表于 12-25 08:00 ?0次下載
    2018<b class='flag-5'>計算機</b><b class='flag-5'>圖形學</b>AMiner的研究報告詳細資料免費下載

    計算機圖形學 數字圖像處理和計算機視覺是什么?

    計算機圖形學(Computer Graphics)講的是圖形,也就是圖形的構造方式,是一種從無到有的概念,數據得到圖像。是給定關于景象結構
    的頭像 發表于 04-04 17:34 ?4853次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>圖形學</b> 數字圖像處理和<b class='flag-5'>計算機</b>視覺是什么?

    計算機圖形學:探索虛擬世界的構建之道

    計算機圖形學計算機科學的一個分支,它專注于創建和操縱計算機生成的視覺和圖形內容。這一領域涵蓋了
    的頭像 發表于 05-07 08:27 ?402次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>圖形學</b>:探索虛擬世界的構建之道
    主站蜘蛛池模板: 色尼玛亚洲| 蜜芽无码亚洲资源网站| 灰原哀被啪漫画禁漫| 国内精品久久久久久西瓜色吧| 果冻传媒9CM在线观看| 久久se视频精品视频在线| 久久综合狠狠综合狠狠| 欧美精品九九99久久在观看| 日美一级毛片| 亚洲精品久久无码AV片银杏| 在线观看永久免费网址| jizz中国女人| 国产免费播放一区二区三区| 精品无人区麻豆乱码1区2 | 国产亚洲精品成人a在线| 激情床戏揉胸吃胸视频| 美女的隐私蜜桃传媒免费看| 日本中文字幕伊人成中文字幕 | 日日夜夜影院在线播放| 亚洲高清在线天堂精品| 18岁末年禁止观看免费1000个| 百性阁论坛首页| 国产欧美在线亚洲一区刘亦菲| 久久五月综合婷婷中文云霸高清| 欧美亚洲高清国产| 亚洲国产精品无码2019| 91蜜桃视频| 国产色情短视频在线网站| 酒色.com| 午夜福利体验试看120秒| 在线视频 国产精品 中文字幕| 成人人观看的免费毛片| 精品久久久久久无码人妻国产馆 | 亚洲成在人线视频| 91免费永久在线地址| 国产精品第八页| 美国69xxxx59| 亚洲 日韩 在线 国产 视频| 99精品在线免费| 红尘影院在线观看| 日本强好片久久久久久AAA|