Programming Parallel Computers

Open 2026

CP2a: käskytason rinnakkaisuus ★

Kirjaudu sisään palauttaaksesi tehtäviä.

Tehtävän ohjeet

Lue ensin tehtävän yleiset ohjeet. Tarkemmat tehtäväkohtaiset ohjeet ovat alla:

Hyödynnä käskytason rinnakkaisuutta CP1-tehtävän ratkaisusi rinnakkaistamiseen. Varmista, että suoritustehon kannalta keskeisimmät operaatiot on liukuhihnoitettu tehokkaasti. Älä käytä vielä muita rinnakkaisuuden muotoja. Käytä kaikissa laskutoimituksissa kaksinkertaisen tarkkuuden liukulukuja.

Automaattinen vektorointi ei ole käytössä tässä tehtävässä.

Koodin testaus

Koodin toimintaa testataan ensin erilaisilla testeillä. Voit kokeilla samaa omalla tietokoneellasi komennolla ./grading test.

Jos koodi toimii odotetusti, sille suoritetaan benchmark-testejä. Voit kokeilla tätä omalla tietokoneellasi komennolla ./grading benchmark. Huomaa kuitenkin, että ajoaika omalla tietokoneellasi voi olla eri kuin arviointiin käytetyllä laitteistolla.

Benchmark-testit

Nimi Parametrit
benchmarks/1 nx = 1000, ny = 1000
syöte sisältää 1000 × 1000 pikseliä, ja tulosteessa tulee olla 1000 × 1000 pikseliä
benchmarks/2 nx = 1000, ny = 4000
syöte sisältää 4000 × 1000 pikseliä, ja tulosteessa tulee olla 4000 × 4000 pikseliä

Arviointi

Tässä tehtävässä palautus arvioidaan benchmarks/2-testin perusteella, jossa syöte sisältää 4000 × 1000 pikseliä, ja tulosteessa tulee olla 4000 × 4000 pikseliä.

Jos tehtävä palautetaan keskiviikkoon, 7. lokakuuta 2026, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:

AjoaikaPisteet
≤ 7.000 s 1
≤ 6.000 s 2
≤ 5.000 s 3

Jos palautat ratkaisun määräajan jälkeen mutta ennen kurssin päättymistä torstaina, 31. joulukuuta 2026, klo 23:59:59 (Helsinki), pistemääräsi määräytyy näin:

AjoaikaPisteet
≤ 6.000 s 1
≤ 5.000 s 2