第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

什么是“向量化”?

什么是“向量化”?

萬千封印 2020-02-04 16:18:23
現(xiàn)在好幾次,我在matlab,fortran等中都遇到過這個(gè)術(shù)語……但我從未找到任何解釋,它的含義是什么,它的作用是什么?所以我在這里問,什么是向量化?例如,“循環(huán)被向量化”是什么意思?
查看完整描述

3 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

許多CPU具有“向量”或“ SIMD”指令集,這些指令集將相同的操作同時(shí)應(yīng)用于兩個(gè),四個(gè)或更多數(shù)據(jù)?,F(xiàn)代的x86芯片具有SSE指令,許多PPC芯片具有“ Altivec”指令,甚至某些ARM芯片也具有稱為NEON的矢量指令集。


“向量化”(簡化)是重寫循環(huán)的過程,以便與其同時(shí)處理(例如)數(shù)組的4個(gè)元素N / 4次,而不是處理數(shù)組的單個(gè)元素N次。


(我之所以選擇4,是因?yàn)檫@是現(xiàn)代硬件最有可能直接支持的功能;“向量化”一詞也用于描述更高級別的軟件轉(zhuǎn)換,您可以在其中完全抽象出循環(huán)并僅描述對數(shù)組而不是元素的操作。組成它們)


向量化和循環(huán)展開之間的區(qū)別: 考慮以下非常簡單的循環(huán),該循環(huán)將兩個(gè)數(shù)組的元素相加并將結(jié)果存儲到第三個(gè)數(shù)組中。


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

    C[i] = A[i] + B[i];

展開此循環(huán)會將其轉(zhuǎn)換為如下形式:


for (int i=0; i<16; i+=4) {

    C[i]   = A[i]   + B[i];

    C[i+1] = A[i+1] + B[i+1];

    C[i+2] = A[i+2] + B[i+2];

    C[i+3] = A[i+3] + B[i+3];

}

另一方面,將其向量化會產(chǎn)生如下結(jié)果:


for (int i=0; i<16; i+=4)

    addFourThingsAtOnceAndStoreResult(&C[i], &A[i], &B[i]);

其中“ addFourThingsAtOnceAndStoreResult”是您的編譯器用來指定矢量指令的任何內(nèi)部函數(shù)的占位符。請注意,某些編譯器能夠自動矢量化非常簡單的這樣的循環(huán),通常可以通過編譯選項(xiàng)啟用它。更復(fù)雜的算法仍然需要程序員的幫助才能生成良好的矢量代碼。


查看完整回答
反對 回復(fù) 2020-02-04
?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

向量化在科學(xué)計(jì)算中得到了很大的應(yīng)用,在科學(xué)計(jì)算中,大量數(shù)據(jù)需要得到有效處理。

在實(shí)際的編程應(yīng)用程序中,我知道它已在NUMPY中使用(不確定其他)。

Numpy(Python中用于科學(xué)計(jì)算的軟件包),使用矢量化來快速處理n維數(shù)組,如果使用內(nèi)置的python選項(xiàng)來處理數(shù)組,這通常會比較慢。

雖然萬噸的解釋是在那里,這里是矢量化定義為numpy的文檔頁面

向量化描述了代碼中沒有任何顯式的循環(huán),索引等操作-當(dāng)然,這些事情只是在優(yōu)化的預(yù)編譯C代碼中“在幕后”發(fā)生的。向量化代碼具有許多優(yōu)點(diǎn),其中包括:

  1. 向量化的代碼更簡潔,更易于閱讀

  2. 更少的代碼行通常意味著更少的錯(cuò)誤

  3. 該代碼更類似于標(biāo)準(zhǔn)數(shù)學(xué)符號(通常更容易正確地對數(shù)學(xué)構(gòu)造進(jìn)行編碼)

  4. 向量化產(chǎn)生更多的“ Pythonic”代碼。沒有向量化,我們的代碼將效率低下,并且難以閱讀循環(huán)。


查看完整回答
反對 回復(fù) 2020-02-04
  • 3 回答
  • 0 關(guān)注
  • 5407 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號