国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

《CUDA C++ Programming Guide》第一章 CUDA介紹

這篇具有很好參考價值的文章主要介紹了《CUDA C++ Programming Guide》第一章 CUDA介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

使用GPUs的好處

在相同的價格和功耗范圍內(nèi),圖形處理器 GPU 比 CPU 提供了更高的指令吞吐量和內(nèi)存帶寬, 許多應(yīng)用程序利用這些更高的功能在 GPU 上比在 CPU 上運行得更快。相比較其他計算設(shè)備,如 FPGA,也是非常節(jié)能的,但其提供了比 GPU 少得多的編程靈活性。

GPU 和 CPU 之間的這種性能差異之所以存在,是因為它們在設(shè)計時考慮到了不同的目標(biāo)。CPU 被設(shè)計成能夠盡可能快地執(zhí)行一系列操作(稱為線程) ,并且能夠并行地執(zhí)行幾十個這樣的線程。GPU 被設(shè)計成能夠并行執(zhí)行數(shù)以千計的線程(緩沖較慢的單線程性能以獲得更大的吞吐量)。

作為一個并行數(shù)據(jù)計算設(shè)備的圖形處理器單元僅僅幾年的時間,可編程的圖形處理器單元演變成為了一匹絕對的計算悍馬,正如圖所示。
當(dāng)極高的內(nèi)存帶寬驅(qū)動多核處理器時,GPU 為圖型和非圖型處理提供了難以置信的計算資源

《CUDA C++ Programming Guide》第一章 CUDA介紹,c++,人工智能,性能優(yōu)化

這個演變背后的主要原因是由于GPU 被設(shè)計用于高密度和并行計算,更確切地說是用于圖形渲染

因此更多的晶體管被投入到數(shù)據(jù)處理而不是數(shù)據(jù)緩存和流量控制

示圖顯示了 CPU 芯片資源與 GPU 芯片資源的示例分布

將更多的晶體管用于數(shù)據(jù)處理,例如浮點運算,有利于高度并行的計算;GPU 可以通過計算隱藏存儲器訪問延遲,而不需要依賴大型數(shù)據(jù)緩存和復(fù)雜的流控制來避免長的存儲器訪問延遲,因為這兩者在晶體管方面都很昂貴。

一般來說,應(yīng)用程序具有并行部分和順序部分的混合,因此系統(tǒng)設(shè)計采用 GPU 和 CPU 的混合,以最大限度地提高整體性能。具有高度并行性的應(yīng)用程序可以利用圖形處理器的這種大規(guī)模并行處理機(jī)特性來獲得比 CPU 更高的性能。
《CUDA C++ Programming Guide》第一章 CUDA介紹,c++,人工智能,性能優(yōu)化
更加具體地看,GPU 是特別適合于并行數(shù)據(jù)運算的問題-同一個程序在許多并行數(shù)據(jù)元素,并帶有高運算密度(算術(shù)運算與內(nèi)存操作的比例)。由于同一個程序要執(zhí)行每個數(shù)據(jù)元素,降低了對復(fù)雜的流量控制要求; 并且,因為它執(zhí)行許多數(shù)據(jù)元素并且據(jù)有高運算密度,內(nèi)存訪問的延遲可以被忽略

并行數(shù)據(jù)處理,意味著數(shù)據(jù)元素以并行線程處理。處理大量數(shù)據(jù)集,例如數(shù)組的應(yīng)用程序可以使用一個并行數(shù)據(jù)的編程模型來加速計算。

在3D 渲染上,大的像素集和頂點被映射到并行線程。同樣,圖像和媒體處理的應(yīng)用程序例如圖像處理,錄像編碼和解碼,圖像縮放比例,立體視覺,以及圖像識別也可以映射圖像塊和像素到并行處理線程。

實際上,在圖像領(lǐng)域外,許多算法同樣可以通過并行數(shù)據(jù)處理得到加速、物理模擬到金融計算或者生物計算均可。

然而直到今天,盡管強(qiáng)大的計算能力包裝進(jìn)了GPU,而它對非圖形應(yīng)用的有效支持依然有限

  1. GPU 只能通過圖型API 來編程,導(dǎo)致新手很難學(xué)習(xí)和非圖形API 上很不充分的應(yīng)用
  2. GPU 程序可以從DRAM 收集數(shù)據(jù)元素。但GPU 程序不能寫入信息到DRAM 的任何部分,相比CPU 喪失了很多編程的靈活性
  3. 有些應(yīng)用是由于DRAM 內(nèi)存帶寬而形成的瓶頸,未能充分利用GPU 的計算能力

CUDA: 一個通用的并行計算平臺和編程模型

2006年11月,NVIDIA 推出了 CUDA,這是一個通用的并行計算平臺和編程模型,利用 NVIDIA 圖形處理器中的并行計算引擎

比 CPU 更有效的方式解決許多復(fù)雜的計算問題。

CUDA: 一個在GPU 上計算的新架構(gòu)CUDA(Compute Unified Device Architecture) 統(tǒng)一計算設(shè)備架構(gòu),在GPU 上發(fā)布的一個新的硬件和軟件架構(gòu),它不需要映射到一個圖型API 便可在GPU 上管理和進(jìn)行并行數(shù)據(jù)計算。從G80 系列和以后的型號都可以支持。操作系統(tǒng)的多任務(wù)機(jī)制通過幾個CUDA 和圖型應(yīng)用程序協(xié)調(diào)運行來管理訪問GPU。

CUDA 軟件堆棧由幾層組成,如圖所示:一個硬件驅(qū)動程序,一個應(yīng)用程序編程接口(API)和它的Runtime, 還有二個高級的通用數(shù)學(xué)庫,CUFFT 和CUBLAS。硬件被設(shè)計成支持輕量級的驅(qū)動和Runtime 層面,因而提高性能。

《CUDA C++ Programming Guide》第一章 CUDA介紹,c++,人工智能,性能優(yōu)化
CUDA API 更像是C 語言的擴(kuò)展,以便最小化學(xué)習(xí)的時間

CUDA 提供一般DRAM 內(nèi)存尋址方式:“發(fā)散” 和“聚集”內(nèi)存操作

《CUDA C++ Programming Guide》第一章 CUDA介紹,c++,人工智能,性能優(yōu)化
從而提供最大的編程靈活性。從編程的觀點來看,它可以在DRAM的任何區(qū)域進(jìn)行讀寫數(shù)據(jù)的操作,就像在CPU 上一樣

CUDA 允許并行數(shù)據(jù)緩沖或者在On-chip 內(nèi)存共享,可以進(jìn)行快速的常規(guī)讀寫存取,在線程之間共享數(shù)據(jù)。

《CUDA C++ Programming Guide》第一章 CUDA介紹,c++,人工智能,性能優(yōu)化
應(yīng)用程序可以最小化數(shù)據(jù)到DRAM 的overfetch 和round-trips ,從而減少對DRAM 內(nèi)存帶寬的依賴文章來源地址http://www.zghlxwxcb.cn/news/detail-610772.html

到了這里,關(guān)于《CUDA C++ Programming Guide》第一章 CUDA介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 人工智能(第 3 版)第一章筆記

    人工智能(第 3 版)第一章筆記

    對人工智能的理解因人而異。值得一提的是,許多學(xué)科的技能和專業(yè)知識是在人類的潛意識中發(fā)展和儲存的,而不是顯式要求而變得可用。 首先,理解和定義智能,有利于我們確定人工智能的優(yōu)缺點。 首先,引出智能的定義,源自R.斯騰伯格:“智能是個體從經(jīng)驗中學(xué)習(xí)、正

    2024年01月23日
    瀏覽(24)
  • 人工智能( 第 3 版)第一章學(xué)習(xí)筆記

    人工智能( 第 3 版)第一章學(xué)習(xí)筆記

    第 1 章 人工智能概述 1.0 引言 本文對人工智能的觀點:人工智能是由人(people)、想法(idea)、方法(method)、機(jī)器(machine)和結(jié)果(outcome)等對象組成的。人通過機(jī)器(計算機(jī))將自己的想法以某種方法進(jìn)行實現(xiàn),最終實現(xiàn)的東西稱為結(jié)果。 研究人工智能或?qū)崿F(xiàn)人工智能系

    2024年01月25日
    瀏覽(21)
  • CUDA編程第一章:windows下安裝visual studio 2019+CUDA10.2的整體圖文流程

    CUDA編程第一章:windows下安裝visual studio 2019+CUDA10.2的整體圖文流程

    去年雖然看了CUDA編程的基礎(chǔ)知識(沒學(xué)完つ﹏?),但是沒有整理成筆記,并且一直沒有使用,導(dǎo)致忘了好多。今年打算重新再把CUDA的基礎(chǔ)知識學(xué)習(xí)一邊,并進(jìn)行總結(jié)梳理,記錄成文,便于后續(xù)的復(fù)習(xí)。 本篇博客是CUDA編程系列筆記的開篇,我打算先介紹下搭建CUDA編程環(huán)境

    2024年02月15日
    瀏覽(28)
  • 第一章--第二篇--GPT-3.5 人工智能模型

    一、引言 GPT-3.5 是自然語言處理領(lǐng)域的一種基于深度學(xué)習(xí)的模型,它是 GPT-3 模型的進(jìn)一步發(fā)展和完善。GPT-3.5 模型采用了更加先進(jìn)的深度學(xué)習(xí)技術(shù)和更加豐富的語料庫,可以生成更加自然、流暢和準(zhǔn)確的文本。本文將從以下幾個方面介紹 GPT-3.5 模型:模型原理、模型結(jié)構(gòu)、應(yīng)

    2024年02月02日
    瀏覽(29)
  • 【讀書周】人工智能(第3版) 第一章概述筆記

    【讀書周】人工智能(第3版) 第一章概述筆記

    此份筆記是個人看書總結(jié)見解,如有錯誤不合理之處可以提出 p11如何規(guī)劃學(xué)時 ch1 3h ch2 2h ch3 4h 由潛意識引出什么是人工智能,從人工與智能分開思考 評估智能可以通過問答的間接方式,感覺類似于chatgpt形式 接著具體介紹圖靈測試以及相關(guān)爭議,有人認(rèn)為測試存在“背答案

    2024年01月22日
    瀏覽(28)
  • 人工智能發(fā)展簡史第一章:起步期-20世紀(jì)50年代及以前

    人工智能發(fā)展簡史第一章:起步期-20世紀(jì)50年代及以前

    引言 人工智能到底是什么?通常來說,人工智能(Artificial Intelligence)是研究、開發(fā)用于模擬、延伸和擴(kuò)展人智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新技術(shù)科學(xué)。人工智能領(lǐng)域的研究包括機(jī)器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。 但是事實上,給一門學(xué)

    2024年01月23日
    瀏覽(29)
  • ElasticSearch第一章(入門介紹)

    ElasticSearch第一章(入門介紹)

    ElasticSearch(彈性搜索),簡稱ES。 ES是一個分布式,RESTFul風(fēng)格的搜索和數(shù)據(jù)分析引擎 ,能夠解決不斷涌現(xiàn)出的各種用例。作為 Elastic Stack(Elastic技術(shù)棧簡稱ELK) 的核心,Elasticsearch 會集中存儲您的數(shù)據(jù),讓您飛快完成搜索,微調(diào)相關(guān)性,進(jìn)行強(qiáng)大的分析,并輕松縮放規(guī)模。 我

    2024年02月22日
    瀏覽(25)
  • 蒼穹外賣-第一章項目介紹

    1)管理端功能 員工登錄/退出 , 員工信息管理 , 分類管理 , 菜品管理 , 套餐管理 , 菜品口味管理 , 訂單管理 ,數(shù)據(jù)統(tǒng)計,來單提醒。 2)用戶端功能 微信登錄 , 收件人地址管理 , 用戶歷史訂單查詢 , 菜品規(guī)格查詢 , 購物車功能 , 下單 , 支付、分類及菜品瀏覽。 1)管理端 餐飲企業(yè)

    2024年02月08日
    瀏覽(27)
  • 小滿nestjs(第一章 介紹nestjs)

    小滿nestjs(第一章 介紹nestjs)

    視頻課程 小滿nest js 系列_嗶哩嗶哩_bilibili Nestjs 是一個用于構(gòu)建高效可擴(kuò)展的一個基于Node js 服務(wù)端 應(yīng)用程序開發(fā)框架 并且完全支持typeScript? 結(jié)合了 AOP 面向切面的編程方式 nestjs 還是一個spring MVC 的風(fēng)格 其中有依賴注入 IOC 控制反轉(zhuǎn) 都是借鑒了Angualr nestjs 的底層代碼運用了

    2024年02月01日
    瀏覽(27)
  • 第一章 C++語言簡介之——c++語言的特點

    C++是一種 編譯式的、通用式、大小寫敏感 的編程語言, 完全支持面向?qū)ο蟪绦蛟O(shè)計 。 C++語言與C語言相比,在求解問題方法上進(jìn)行的最大改進(jìn)是 面向?qū)ο?Windows環(huán)境下,由C++源程序文件編譯而成的 目標(biāo)文件的擴(kuò)展名是.obj , 源文件的擴(kuò)展名為.cpp , 所有的obj文件連接成為

    2024年01月16日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包