Programming Parallel Computers

Open 2026

I8MM5: nopea GPU-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 nopea GPU-ratkaisu käyttäen tavallista (siirrettävää) CUDAa.

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/1a k = 1000, m = 1000, n = 1000
kerro 1000 × 1000 -matriisi ja 1000 × 1000 -matriisi, jolloin tulokseksi saadaan 1000 × 1000 -matriisi
benchmarks/1b k = 1003, m = 999, n = 1001
kerro 999 × 1003 -matriisi ja 1003 × 1001 -matriisi, jolloin tulokseksi saadaan 999 × 1001 -matriisi
benchmarks/2 k = 6000, m = 6000, n = 6000
kerro 6000 × 6000 -matriisi ja 6000 × 6000 -matriisi, jolloin tulokseksi saadaan 6000 × 6000 -matriisi
benchmarks/3 k = 15040, m = 15040, n = 15040
kerro 15040 × 15040 -matriisi ja 15040 × 15040 -matriisi, jolloin tulokseksi saadaan 15040 × 15040 -matriisi

Arviointi

Tässä tehtävässä palautus arvioidaan benchmarks/3-testin perusteella, jossa kerro 15040 × 15040 -matriisi ja 15040 × 15040 -matriisi, jolloin tulokseksi saadaan 15040 × 15040 -matriisi.

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

AjoaikaPisteet
≤ 3.000 s 1
≤ 2.000 s 2
≤ 1.500 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
≤ 3.000 s 1
≤ 2.000 s 2
≤ 1.500 s 3