Programming Parallel Computers

Aalto 2026

MF9a: parempi algoritmi ★★★

Kirjaudu sisään palauttaaksesi tehtäviä.

Tehtävän ohjeet

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

Suunnittele parempi algoritmi, joka ei laske mediaania uudelleen jokaiselle pikselille erikseen. Tee siitä mahdollisimman tehokas, myös erittäin suurikokoisille ikkunoille. Käytä kaikkia CPU:lta löytyviä resursseja.

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 hx = 10, hy = 10, nx = 500, ny = 500
syöte sisältää 500 × 500 pikseliä ja ikkunan koko on 21 × 21 pikseliä
benchmarks/2 hx = 10, hy = 10, nx = 1500, ny = 1500
syöte sisältää 1500 × 1500 pikseliä ja ikkunan koko on 21 × 21 pikseliä
benchmarks/3 hx = 10, hy = 10, nx = 4000, ny = 4000
syöte sisältää 4000 × 4000 pikseliä ja ikkunan koko on 21 × 21 pikseliä
benchmarks/4 hx = 50, hy = 50, nx = 4000, ny = 4000
syöte sisältää 4000 × 4000 pikseliä ja ikkunan koko on 101 × 101 pikseliä

Arviointi

Tässä tehtävässä palautus arvioidaan benchmarks/4-testin perusteella, jossa syöte sisältää 4000 × 4000 pikseliä ja ikkunan koko on 101 × 101 pikseliä.

Jos tehtävä palautetaan sunnuntaihin, 31. toukokuuta 2026, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:

AjoaikaPisteet
≤ 50.000 s 1
≤ 20.000 s 2
≤ 10.000 s 3
≤ 2.000 s 4
≤ 1.000 s 5

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

AjoaikaPisteet
≤ 50.000 s 1
≤ 10.000 s 2
≤ 1.000 s 3