Seminaari: Superlaskenta kotitietokoneilla

58312106
3
Software Systems
Advanced studies
Year Semester Date Period Language In charge
2012 spring 16.01-27.04. 3-4 Finnish Otto Nurmi

Lectures

Time Room Lecturer Date
Mon 12-14 C220 Otto Nurmi 16.01.2012-20.02.2012
Mon 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.

General

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.

Completing the course

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.