国产免费一区二区三区最新不卡_gogo全球大胆高清人露出91_国产无遮挡一区二区三区毛片日本_免费淫视频_俄罗斯16一20sex牲色另类_免费观看黄色片视频

您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>漢振分享 | 算法的工程優(yōu)化技術(shù)

直播推薦

更多>

企業(yè)動(dòng)態(tài)

更多>

推薦展會(huì)

更多>

漢振分享 | 算法的工程優(yōu)化技術(shù)

2020年07月07日 16:32:11人氣:702來(lái)源:浙江漢振智能技術(shù)有限公司

當(dāng)一個(gè)算法實(shí)現(xiàn)之后,需要集成到產(chǎn)品中去,這時(shí)就要面臨性能問(wèn)題。在實(shí)際工程應(yīng)用中,除采用降低算法的復(fù)雜度去解決性能問(wèn)題外,通常也會(huì)選擇優(yōu)化代碼以及良好運(yùn)用硬件等方式。接下來(lái)將針對(duì)在不改動(dòng)算法情況下,對(duì)純工程方面做性能優(yōu)化的技術(shù)作一個(gè)介紹。

1. 流程優(yōu)化

對(duì)初始算法進(jìn)行流程優(yōu)化主要有:

A.避免算法執(zhí)行過(guò)程中的重復(fù)操作及冗余計(jì)算。

B.避免算法中循環(huán)語(yǔ)句內(nèi)部有過(guò)多依賴(lài)和跳轉(zhuǎn)。

C.定點(diǎn)化:定點(diǎn)化的思想是將浮點(diǎn)型運(yùn)算轉(zhuǎn)換為整型運(yùn)算,具體做法是將數(shù)據(jù)乘上一個(gè)很大的數(shù)后,將所有運(yùn)算轉(zhuǎn)為整型計(jì)算,例如某個(gè)乘法只關(guān)心小數(shù)點(diǎn)后3位,那把數(shù)據(jù)都乘上10000后,進(jìn)行整型運(yùn)算的結(jié)果也就滿(mǎn)足所需的精度。

D.以空間換時(shí)間:空間換時(shí)間(zui)經(jīng)典的就是查找表,某些計(jì)算相當(dāng)耗時(shí),但其自變量的值域是比較有限的,這樣的情況可以預(yù)先計(jì)算好每個(gè)自變量對(duì)應(yīng)的函數(shù)值,存在一個(gè)表格中,每次根據(jù)自變量的值去索引對(duì)應(yīng)的函數(shù)值即可。

E.預(yù)先分配內(nèi)存:把握算法整個(gè)執(zhí)行過(guò)程中內(nèi)存的使用,提前分配好內(nèi)存,避免內(nèi)存不斷開(kāi)辟與釋放而產(chǎn)生的耗時(shí)。

2. 指令優(yōu)化

SIMD(Single Instruction Multiple Data),單指令多數(shù)據(jù)流,是CPU中能夠復(fù)制多個(gè)操作數(shù),并把它們打包在大型寄存器的一組指令集。

目前PCI-n-t-e-l指令集有SSEAVX等,SSE/AVX是對(duì)其X86體系的SIMD擴(kuò)展指令集,它基于SIMD向量化技術(shù),提高X86硬件的計(jì)算性能,增強(qiáng)了X86多核向量處理器的圖像和視頻處理能力。SSE/AVX指令支持向量化數(shù)據(jù)并行,一個(gè)指令可以同時(shí)對(duì)多個(gè)操作數(shù)進(jìn)行操作,同時(shí)操作的數(shù)據(jù)個(gè)數(shù)由向量寄存器的長(zhǎng)度和數(shù)據(jù)類(lèi)型共同決定。

SIMD屬于細(xì)粒度的并行,對(duì)于圖像算法中利用SIMD技術(shù)優(yōu)化,可以一次性對(duì)多個(gè)像素進(jìn)行處理,性能提升明顯,大部分情況下都有3-4倍的提升。

3. 多線程優(yōu)化

當(dāng)系統(tǒng)有多個(gè)線程/進(jìn)程時(shí),CPU會(huì)按一定的調(diào)度策略,把它們盡可能放在不同的核上執(zhí)行,多線程優(yōu)化就是把算法拆成多個(gè)子任務(wù),跑在不同的線程上,利用CPU多個(gè)核的能力,并行執(zhí)行算法。

比較有名的框架就是OpenMPOpenMP是一種共享內(nèi)存并行系統(tǒng)的多線程程序設(shè)計(jì)方案,支持的編程語(yǔ)言包括CC++PythonOpenMP提供了對(duì)并行算法的高層抽象描述,特別適合在多核CPU機(jī)器上的并行程序設(shè)計(jì)。編譯器根據(jù)程序中添加的pragma指令,自動(dòng)將程序并行處理,使用OpenMP簡(jiǎn)化了并行程序設(shè)計(jì)。OpenMP采用fork-join的執(zhí)行模式,開(kāi)始的時(shí)候只存在一個(gè)主線程,當(dāng)需要并行計(jì)算的時(shí)候,派生出若干個(gè)分支線程來(lái)執(zhí)行并行任務(wù)。當(dāng)并行代碼執(zhí)行完成之后,分支線程匯合,并把控制流程交給單獨(dú)的主線程。一個(gè)典型的fork-join執(zhí)行模型如圖1所示。

 圖1. fork-join執(zhí)行模型示意圖

4. GPU加速

GPU(Graphic Processing Unit),圖形處理器。如圖2所示,CPU功能模塊很多,能適應(yīng)復(fù)雜運(yùn)算環(huán)境;GPU構(gòu)成則相對(duì)簡(jiǎn)單,目前流處理器和顯存控制器占據(jù)了絕大部分晶體管。CPU中大部分晶體管主要用于構(gòu)建控制電路(比如分支預(yù)測(cè)等)和Cache,只有少部分的晶體管來(lái)完成實(shí)際的運(yùn)算工作。而GPU的控制相對(duì)簡(jiǎn)單,且對(duì)Cache的需求小,所以大部分晶體管可以組成各類(lèi)電路、多條流水線,使得GPU的計(jì)算速度有了突破性的飛躍,擁有了更強(qiáng)大的處理浮點(diǎn)運(yùn)算的能力。

 圖2. GPU和CPU架構(gòu)

要使用GPU進(jìn)行通用計(jì)算,需要基于一個(gè)框架,目前的框架主要有CUDAOpenCL

CUDA是一種由NVIDIA推出的通用并行計(jì)算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計(jì)算問(wèn)題。 它包含了CUDA指令集架構(gòu)(ISA)以及GPU內(nèi)部的并行計(jì)算引擎。這個(gè)架構(gòu)只能在裝配了NVIDIA顯卡的機(jī)器上使用。

OpenCL是一個(gè)為異構(gòu)平臺(tái)編寫(xiě)程序的框架,此異構(gòu)平臺(tái)可由CPUGPU或其他類(lèi)型的處理器組成。OpenCL由一門(mén)用于編寫(xiě)kernels(在OpenCL設(shè)備上運(yùn)行的函數(shù))的語(yǔ)言(基于C99)和一組用于定義并控制平臺(tái)的API組成。OpenCL提供了基于任務(wù)分割和數(shù)據(jù)分割的并行計(jì)算機(jī)制。

關(guān)鍵詞:處理器控制器晶體管
全年征稿/資訊合作 聯(lián)系郵箱:[email protected]

免責(zé)聲明

  • 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://www.lfljgfsj.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
  • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
  • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

<
更多 >

工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉(cāng)儲(chǔ)物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


我要投稿
  • 投稿請(qǐng)發(fā)送郵件至:(郵件標(biāo)題請(qǐng)備注“投稿”)1271141964.qq.com
  • 聯(lián)系電話(huà)0571-89719789
工業(yè)4.0時(shí)代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺(tái)
智能制造網(wǎng)APP

功能豐富 實(shí)時(shí)交流

智能制造網(wǎng)小程序

訂閱獲取更多服務(wù)

微信公眾號(hào)

關(guān)注我們

抖音

智能制造網(wǎng)

抖音號(hào):gkzhan

打開(kāi)抖音 搜索頁(yè)掃一掃

視頻號(hào)

智能制造網(wǎng)

公眾號(hào):智能制造網(wǎng)

打開(kāi)微信掃碼關(guān)注視頻號(hào)

快手

智能制造網(wǎng)

快手ID:gkzhan2006

打開(kāi)快手 掃一掃關(guān)注
意見(jiàn)反饋
關(guān)閉
企業(yè)未開(kāi)通此功能
詳詢(xún)客服 : 0571-87858618
主站蜘蛛池模板: 午夜精品久久久久久中宇 | 欧美中文字幕一区二区 | 日韩视频在线视频 | 视频二区国产 | 全黄毛片 | 欧美一级黄视频 | 久久国产精品小视频 | 久夜草 | 亚洲综合网站 | 国产精品99久久久久久久女警 | 少妇一级淫片高潮流水电影 | 色婷婷av一区二区三区久久 | 一级做a爱片性色毛片 | 12av毛片| 色诱亚洲精品久久久久久 | 97人人草 | 日日狠狠久久 | 国产精品一区二区免费在线观看 | 九九热在线精品视频 | 精品国产91久久久久 | 久久亚洲精品国产一区 | 欧美成人一级 | 久久99综合久久爱伊人 | 国产毛片aaa一区二区三区视频 | 一区二区久久 | 久久精精品 | 欧美极品欧美精品欧美视频 | 久久55 | 欧美性生交zzzzzxxxxx | 视频一区二区三区在线播放 | 天堂成人一区二区三区 | 免费看黄色一级大片 | 娇喘视频在线观看 | 最新一区二区三区 | 蜜桃成品人免费视频 | chinese 军人 gay xx 呻吟 | 视频一区二区三区视频 | 在线 日本 制服 中文 欧美 | 婷婷一区二区三区 | 国产精品视频六区 | 最新一区二区三区 |