Kirjaudu sisään palauttaaksesi tehtäviä.
Lue ensin tehtävän yleiset ohjeet. Tarkemmat tehtäväkohtaiset ohjeet ovat alla:
Toteuta perustason ratkaisu GPU:lle. Varmista, että koodi toimii oikein ja on kohtuullisen tehokas. Toteuta kaikki suoritustehon kannalta keskeiset osiot GPU:lla; kevyempää esi- ja jälkikäsittelyä voi tehdä myös CPU:lla. Muista tarkistaa kaikki CUDA-operaatiot virheiden varalta. Tässä tehtävässä saa käyttää yksinkertaisen tarkkuuden liukulukuja.
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.
| Nimi | Parametrit |
|---|---|
| benchmarks/1a | nx = 1000, ny = 1000 |
| syöte sisältää 1000 × 1000 pikseliä, ja tulosteessa tulee olla 1000 × 1000 pikseliä | |
| benchmarks/1b | nx = 999, ny = 999 |
| syöte sisältää 999 × 999 pikseliä, ja tulosteessa tulee olla 999 × 999 pikseliä | |
| benchmarks/1c | nx = 1001, ny = 1001 |
| syöte sisältää 1001 × 1001 pikseliä, ja tulosteessa tulee olla 1001 × 1001 pikseliä | |
| benchmarks/2a | nx = 1000, ny = 4000 |
| syöte sisältää 4000 × 1000 pikseliä, ja tulosteessa tulee olla 4000 × 4000 pikseliä | |
| benchmarks/2b | nx = 1000, ny = 4000 |
| syöte sisältää 4000 × 1000 pikseliä, ja tulosteessa tulee olla 4000 × 4000 pikseliä | |
Tässä tehtävässä palautus arvioidaan benchmarks/2b-testin perusteella, jossa syöte sisältää 4000 × 1000 pikseliä, ja tulosteessa tulee olla 4000 × 4000 pikseliä.
Jos tehtävä palautetaan sunnuntaihin, 31. elokuuta 2025, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:
| Ajoaika | Pisteet |
|---|---|
| ≤ 5.000 s | 1 |
| ≤ 3.000 s | 2 |
| ≤ 2.000 s | 3 |
| ≤ 1.000 s | 4 |
| ≤ 0.500 s | 5 |
Myöhästyneistä palautuksista ei saa pisteitä.