Seminaari: Superlaskenta kotitietokoneilla

58312106
3
Ohjelmistojärjestelmät
Syventävät opinnot
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2012 kevät 16.01-27.04. 3-4 Suomi Otto Nurmi

Luennot

Aika Huone Luennoija Päivämäärä
Ma 12-14 C220 Otto Nurmi 16.01.2012-20.02.2012
Ma 12-14 C220 Otto Nurmi 12.03.2012-23.04.2012

Information for international students

The working language of the seminar is Finnish.

Seminaarin sivut sisäverkossa.

Yleistä

Seminaarin tulokset ovat sisäverkossa.

Uudehkot mikrotietokoneet sisältävät  liukuluvuilla tapahtuvaan massiiviseen rinnakkailaskentaan pystyvän osan, grafiikkayksikön (graphics prosessing unit, GPU).  Kun uusissa kohtuuhintaisissa keskussuorittimissa (CPU) on 4 ydintä, saman hintaluokan grafiikkayksiköissä on yli 350 ydintä ja uusimmissa grafiikkayksiköissä on jopa yli 1000 ydintä.

Grafiikkayksiköitä voi käyttää kuvan muodostamisen lisäksi moniin muihin tehtäviin, joissa on hyötyä rinnakkaislaskennasta yleensä ja erityisesti rinnakkaisesta liukulukulaskennasta. Niitä on sovellettu tehokkaasti ongelmiin, jotka liittyvät esimerkiksi fysiikan ilmiöiden simuloitiin, matemaattineen optimointiin ja numeeriseen matematiikkaan, kuvan tunnistukseen ja kuvankäsittelyyn, signaalinkäsittelyyn, tiedon louhintaan, tietokantojen hallintaan  sekä äänen käsittelyyn.

Grafiikkayksiköitä voi ohjelmoida korkean tason ohjelmointikielillä, joista merkittävimpiä ovat Nvidian Cuda ja useiden laitevalmistajien yhteistyönä luoma OpenCL. Molemmat perustuvat C-kieleen.

Seminaarissa etsitään kirjallisuuden perusteella ratkaisuja grafiikkayksiköiden käyttämiseen erikoisesti muuhun tarkoitukseen kuin kuvan muodostamiseen. Seminaarin lähestymistapa asiaan on soveltava.

Kurssin suorittaminen

Seminaarisuoritukseen kuuluu noin 10-12 tekstisivun  raportti ja  40 minuutin  esitelmä sovitusta aiheesta sekä läsnäolo vähintään 3/4 seminaarin kokoontumisajasta. Raportissa ja esitelmissä käytetään suomen kieltä.

Mahdollisia esitelmien aihepiirejä ovat ainakin grafiikkayksiköiden yleiskäyttöön tarkoitetut ohjelmointikielet, ohjelmien virittäminen, algoritmit ja sovellukset sekä grafiikkayksiköiden arkkitehtuurit.