Vektorizace (v paralelním počítání ) je typ paralelizace programu , ve kterém jsou jednovláknové aplikace, které provádějí jednu operaci najednou, upraveny tak, aby prováděly několik operací stejného typu současně.
Skalární operace, které zpracovávají pár operandů, jsou nahrazeny operacemi na polích (vektorech), které zpracovávají několik prvků vektoru v libovolném okamžiku.
Zpracování vektorových dat se používá jak ve spotřebitelských počítačích, tak v superpočítačích .
Automatická vektorizace je důležitou oblastí výzkumu v informatice, jejímž cílem je najít metody, které by kompilátoru umožnily automaticky převádět skalární programy na vektorové programy.
Je ukázán fragment programu, který po prvcích násobí dvě pole sestávající z čísel:
pro ( i = 0 ; i < 1024 ; i ++ ) C [ i ] = A [ i ] * B [ i ];Tuto smyčku lze vektorizovat takto:
pro ( i = 0 ; i < 1024 ; i += 4 ) C [ i : i + 3 ] = A [ i : i + 3 ] * B [ i : i + 3 ];V druhém fragmentu znamená vstup C[i:i+3]vektor 4 prvků - od C[i]do C[i+3]včetně a pod *se rozumí operace elementárního násobení vektorů. Vektorový procesor v tomto příkladu bude schopen provádět 4 skalární operace s jednou vektorovou instrukcí v době blízko provedení skalární operace. Vektorových operací tedy bude potřeba 4krát méně a program bude prováděn rychleji.
Do skalárních procesorů lze přidat vektorové operace, pak se nazývají rozšíření vektorových instrukcí. Příklady: MMX , SSE , SSE2 , AltiVec .