Vektorisointi ( rinnakkaislaskennassa ) on eräänlainen ohjelmien rinnakkaistoiminto , jossa yksisäikeisiä sovelluksia, jotka suorittavat yhden toiminnon kerrallaan, muutetaan suorittamaan useita samantyyppisiä operaatioita samanaikaisesti.
Operandiparia prosessoivat skalaarioperaatiot korvataan taulukoiden (vektorien) operaatioilla, jotka käsittelevät useita vektorin elementtejä kulloinkin.
Vektoritietojen käsittelyä käytetään sekä kuluttajatietokoneissa että supertietokoneissa .
Automaattinen vektorointi on tärkeä tietotekniikan tutkimusalue, jonka tavoitteena on löytää menetelmiä, joiden avulla kääntäjä voisi muuntaa skalaariohjelmat automaattisesti vektoriohjelmiksi.
Esitetään ohjelmafragmentti, joka kertoo elementtikohtaisesti kaksi luvuista koostuvaa taulukkoa:
for ( i = 0 ; i < 1024 ; i ++ ) C [ i ] = A [ i ] * B [ i ];Tämä silmukka voidaan vektoroida seuraavasti:
for ( i = 0 ; i < 1024 ; i += 4 ) C [ i : i + 3 ] = A [ i : i + 3 ] * B [ i : i + 3 ];Toisessa fragmentissa merkintä C[i:i+3]tarkoittaa 4 elementin vektoria - alkaen C[i]- mukaan C[i+3]lukien, ja alla *ymmärretään vektorien elementtikohtaisen kertolasku. Tämän esimerkin vektoriprosessori pystyy suorittamaan 4 skalaarioperaatiota yhdellä vektorikäskyllä ajassa, joka on lähellä skalaarioperaation suorittamista. Siten vektorioperaatioita tarvitaan 4 kertaa vähemmän ja ohjelma suoritetaan nopeammin.
Vektorioperaatioita voidaan lisätä skalaariprosessoreihin, jolloin niitä kutsutaan vektorikäskylaajennuksiksi. Esimerkkejä: MMX , SSE , SSE2 , AltiVec .