Programming Parallel Computers

Open 2026

I8MM9a: CPU AVX512-VNNI ★★

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 CPU-ratkaisu käyttäen AVX512-VNNI-käskyjä.

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 = 8000, m = 8000, n = 8000
kerro 8000 × 8000 -matriisi ja 8000 × 8000 -matriisi, jolloin tulokseksi saadaan 8000 × 8000 -matriisi

Arviointi

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

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

AjoaikaPisteet
≤ 3.000 s 1
≤ 1.500 s 2
≤ 1.000 s 3
≤ 0.750 s 4

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
≤ 1.500 s 2
≤ 1.000 s 3
≤ 0.750 s 4

Kilpailu

Tehtävään tekemäsi palautukset osallistuvat automaattisesti myös kilpailuun, ja voit saada enintään 2 lisäpistettä, jos koodisi on yksi kurssin nopeimmista ratkaisuista!

AjoaikaLisäpisteet
≤ 1.20 × nopein 1
≤ 1.05 × nopein 2