Programming Parallel Computers

Open 2026

MF1: perustason CPU-toteutus ★

Kirjaudu sisään palauttaaksesi tehtäviä.

Tehtävän ohjeet

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

Toteuta yksinkertainen, perättäinen perusratkaisu. Varmista, että se toimii kuten pitääkin. Älä pyri tässä vaiheessa hyödyntämään rinnakkaisuutta missään muodossa. Tässä on tarkoitus käyttää suoraviivaista, naiivia algoritmia, joka laskee mediaanin erikseen kullekin pikselille lineaariaikaisella hakualgoritmilla.

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

Arviointi

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

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

AjoaikaPisteet
≤ 30.000 s 1
≤ 20.000 s 2
≤ 15.000 s 3
≤ 12.000 s 4
≤ 9.000 s 5

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
≤ 30.000 s 1
≤ 15.000 s 2
≤ 9.000 s 3