Yleisen PSCR-menetelmän toteutus ohjelmoitavalla näytönoh

Samankaltaiset tiedostot
Separoituvien yhtälöryhmien ratkaiseminen ohjelmoitavalla näytönohjaimella

CUDA. Moniydinohjelmointi Mikko Honkonen

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Luento 2: Liikkeen kuvausta

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Lineaarinen yhtälöryhmä

Katsaus konepellin alle - iteratiivisia menetelmiä ominaisarvotehtävälle

7 Vapaus. 7.1 Vapauden määritelmä

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Gaussin ja Jordanin eliminointimenetelmä

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Algoritmit 1. Luento 1 Ti Timo Männikkö

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Poissonin yhtälön nopeat ratkaisijat

Grafiikkasuorittimen käyttö keskusmuistitietokannoissa

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

THM-MALLIN NUMERIIKKA. Antti Niemistö, Janne Martikainen Numerola oy

Diofantoksen yhtälön ratkaisut

Numeeriset menetelmät TIEA381. Luento 4. Kirsi Valjus. Jyväskylän yliopisto. Luento 4 () Numeeriset menetelmät / 44

Numeeriset menetelmät

Matriisilaskenta Luento 8: LU-hajotelma

Numeeriset menetelmät

Algoritmit 2. Luento 1 Ti Timo Männikkö

I. AES Rijndael. Rijndael - Internal Structure

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

5 OMINAISARVOT JA OMINAISVEKTORIT

Avaruuden R n aliavaruus

Algoritmit 1. Luento 10 Ke Timo Männikkö

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Numeeriset menetelmät

Malliratkaisut Demot

Malliratkaisut Demot

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Rubikin kuutio ja ryhmät. Johanna Rämö Helsingin yliopisto, Matematiikan ja tilastotieteen laitos

Algoritmit 1. Luento 3 Ti Timo Männikkö

1 Komparatiivinen statiikka ja implisiittifunktiolause

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Numeeriset menetelmät

1. Esitä rekursiivinen määritelmä lukujonolle

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

T Tietojenkäsittelyteorian seminaari

Kanta ja Kannan-vaihto

Ominaisarvo-hajoitelma ja diagonalisointi

6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio

Koodausteoria, Kesä 2014

OHJ-4301 Sulautettu Ohjelmointi

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Algoritmit 1. Luento 2 Ke Timo Männikkö

Numeeriset menetelmät TIEA381. Luento 7. Kirsi Valjus. Jyväskylän yliopisto. Luento 7 () Numeeriset menetelmät / 43

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Malliratkaisut Demot

Työvuorosuunnittelun optimointi (valmiin työn esittely)

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Käänteismatriisin ominaisuuksia

Abstraktiot ja analyysi algoritmit ja informaation esitykset

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Harjoitus 7 -- Ratkaisut

Tilanhallintatekniikat

Luento 3: Liikkeen kuvausta, differentiaaliyhtälöt

Neliömatriisin adjungaatti, L24

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Lineaarialgebra ja matriisilaskenta I

Algoritmit 2. Luento 8 To Timo Männikkö

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

MAY1 kokeeseen kertaavia tehtäviä: Jussi Tyni 2016 A-osion tehtäviä: Laskinta ei saa käyttää. Taulukkokirja saa olla esillä.

RINNAKKAINEN OHJELMOINTI A,

Matriisialgebra harjoitukset, syksy x 1 + x 2 = a 0

TIES542 kevät 2009 Yhteismuistisamanaikaisuus

Lisä,etopake3 2: ra,onaalifunk,on integroin,

Algoritmit 1. Luento 13 Ti Timo Männikkö

Diskreettiaikainen dynaaminen optimointi

Koodausteoria, Kesä 2014

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Numeeriset menetelmät

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

Materiaali on lineaarinen, jos konstitutiiviset yhtälöt ovat jännitys- ja muodonmuutostilan suureiden välisiä lineaarisia yhtälöitä.

Palmikkoryhmät kryptografiassa

Algoritmit 1. Luento 13 Ma Timo Männikkö

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Simatic S7-1511F & S7-1513F

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

Mat Investointiteoria Laskuharjoitus 3/2008, Ratkaisut

Insinöörimatematiikka D

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

2.5. Matriisin avaruudet ja tunnusluvut

Paikannuksen matematiikka MAT

Numeeriset menetelmät TIEA381. Luento 3. Kirsi Valjus. Jyväskylän yliopisto. Luento 3 () Numeeriset menetelmät / 45

Transkriptio:

Yleisen n toteutus ohjelmoitavalla näytönohjaimella Mirko Myllykoski mirko.myllykoski@jyu.fi 15.2.2011

Mitä teen? Tarkoituksena toteuttaa (ja osin jo toteutettukin) stä versio ohjelmoitavalle näytönohjaimelle Rajapintana OpenCL Optimoidut versiot nvidian ja ATI:n näytönohjaimille Tarkoitus verrata tuloksia normaaliin CPU-versioon

Ohjelmoitava näytönohjain Tietokoneiden laskentatehon eksponentiaalinen kasvu alkanut näkyä myös näytönohjaimissa Monimutkaisempia pelejä = Enemmän toiminnallisuutta = Enemmän ohjelmoitavuutta Normaalissa suorittimessa 1-8 ydintä. Tarvittava määrä säikeitä ytimien määrä. Uusimmassa nvidian GeForce GTX 580 -näytönohjaimessa ytimiä 512. Tarvittava määrä säikeitä ytimien määrä. Käytönnössä jopa miljoonia. Rinnakkaisuuden hyödyntäminen haaste

(1/2) PSCR 1 eli Partial Solution variant of the Cyclic Reduction Tuomo Rossin ja Jari Toivasen tuotoksia 90-luvun lopulta Kykenee ratkaisemaan lineaarisen yhtälöryhmän, joka on muotoa A 1 M 2 + M 1 A 2 + c(m 1 M 2 ), jossa c R, A 1, M 1 R n 1 n 1, A 2, M 2 R n 2 n 2 ja on Kronecker (tensori) tulo 2. Lisäksi A 1, A 2 ovat tridiagonaalisia ja M 1, M 2 diagonaalisia. 1 Rossi, T., Toivanen, J: A Parallel Fast Direct Solver for Block Tridiagonal Systems with Separable Matrices of Arbitrary Dimension, SIAM, J. Sci. Comput., Vol. 20, No. 5, pp. 1778-1796 (1999) 2 esim. Olkoon B R s s ja C R r r, B C = {b i,j C} s i,j=1 R sr sr

(2/2) Syklisen reduktion (Cyclic Reduction) yleistys Menetelmän tarkka muoto riippuu asteen valinnasta, Radix-q Rekursiivinen algoritmi. Jokainen askel pienentää yhtälöryhmän kokoa suhdeluvulla q. Jokaisella askeleella ratkotaan joukko tridiagonaalisia yhtälöryhmiä. Vaatii alustusvaiheen (ratkotaan joukko ominaisarvotehtäviä)..

Variantit Toteutettuna kaksi versiota: Radix-2 ja Radix-4 Radix-2 toteutus yksinkertaisempi. Pystyy ratkaisemaan vain tietyn tyyppisen ongelman. Ei vaadi alustusvaihetta. Tarvisi kuitenkin uudelleenkirjoittamista. Mahdollisesti jätetään pois. Radix-4 täysi toteutus. Pieniä teknisiä ongelmia. 3D versio tekeillä. Alustusvaihe toteutettu CPU:lla. Periaatteessa mahdollista toteuttaa GPU:lla 3 Tridiagonaalisien yhtälöryhmien ratkaiseminen tärkeää. Asiaa tutkittu kohtalaisesti 4. Vaatii kuitenkin omia virittelyjä. 3 Volkov V., Demmel J. W.: Using GPUs to Accelerate the Bisection Algorithm for Finding Eigenvalues of Symmetric Tridiagonal Matrices, LAPACK Working Note 197 4 Zhang Y., Cohen H., Owens J.: Fast Tridiagonal Solvers on the GPU, 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010)

Käytännön haasteita Satoja ytimiä ei saa ilmaiseksi: Laitteisto rajoittunutta, eri kortit rajoittuneita eri tavalla Sama koodi ei toimi tehokkaasti (jos ollenkaan) eri näytönohjaimilla. nvidian ja ATI:n arkkitehtuurit huomattavan erilaisia. Eri korttisukupolvien välillä eroja. Ytimet eivät ole täysin riippumattomia toisistaan. Vaikuttaa haarautuvuuksien ja muistiviittauksien käsittelyyn. Säikeet jaetaan ryhmiin, mutta ryhmäjako ja indeksointi ei välttämättä sovi algoritmille. Tarvitaan erillinen muistialue ohjausdatalle. Debuggaus ja testaus hankalaa: Miten seurata 100 000 säikeen toimintaa?

Testasin ohjelmakoodeja Poissonin yhtälön ratkaisemiseen. Problem size on diskretisointihilan tiheys yhteen suuntaan: 2D tapauksessa tuntemattomia (Problem size) 2 ja 3D tapauksessa (Problem size) 3. Huomaa log-log-skaala

2D ongelman kanssa

3D ongelman kanssa