A vektorizálás ( párhuzamos számításban ) a programpárhuzamosítás egy olyan típusa , amelyben az egyszálú, egyszerre egy műveletet végrehajtó alkalmazásokat úgy módosítják, hogy egyidejűleg több azonos típusú műveletet hajtsanak végre.
Az operanduspárt feldolgozó skaláris műveleteket felváltják a tömbök (vektorok) műveletei, amelyek egy adott időpontban a vektor több elemét dolgozzák fel.
A vektoros adatfeldolgozást fogyasztói számítógépekben és szuperszámítógépekben egyaránt alkalmazzák .
Az automatikus vektorizálás a számítástechnika egyik fontos kutatási területe, amelynek célja olyan módszerek megtalálása, amelyek lehetővé teszik a fordító számára, hogy automatikusan konvertálja a skaláris programokat vektoros programokká.
Egy programrészlet látható, amely elemenként megszoroz két számokból álló tömböt:
for ( i = 0 ; i < 1024 ; i ++ ) C [ i ] = A [ i ] * B [ i ];Ez a hurok a következőképpen vektorizálható:
for ( i = 0 ; i < 1024 ; i + = 4 ) C [ i : i + 3 ] = A [ i : i + 3 ] * B [ i : i + 3 ];A második töredékben a bejegyzés C[i:i+3]4 elemből álló vektort jelent - től C[i]- C[i+3]ig, alatta *pedig a vektorok elemenkénti szorzásának műveletét értjük. Ebben a példában a vektorprocesszor 4 skaláris műveletet tud végrehajtani egy vektorutasítással egy skaláris művelet végrehajtásához közeli idő alatt. Így 4-szer kevesebb vektorműveletre lesz szükség, és a program gyorsabban lefut.
A skaláris processzorokhoz vektorműveletek adhatók, majd ezeket vektorutasítás-kiterjesztéseknek nevezzük. Példák: MMX , SSE , SSE2 , AltiVec .