Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi
|
|
- Riitta-Liisa Niemi
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi
2 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli Tehtävien riippuvuusanalyysi OpenMP Loppusanat 2
3 Johdantoa Prosessorien suorituskyvyn kasvulle alkanut tulla raja vastaan Prosessorien valmistajat alkaneet hakea lisätehoja monisäikeisyydestä ja moniydinarkkitehtuureista Ohjelmistoihin pitää lisätä rinnakkaisuutta 3
4 Rinnakkaisuus Useamman kuin yhden tehtävän suorittamista samanaikaisesti Moniajoa jos vain yksi prosessori Jos useita voidaan ajaa yhtä montaa prosessia kuin on prosessoreita Ongelman jakaminen rinnakkain suoritettaviin osiin, rinnakkaisten osien kommunikoinnin ja synkronisoinnin suunnittelu ja toisiinsa läheisesti liittyvien osien yhdistäminen 4
5 Amdahlin laki Amdahlin laki on helppo kaava laskea algoritmin tehonlisäys, jos osa siitä muutetaan rinnakkaiseksi. S = suorituskyvyn muutos F = sarjallisen koodin osuus N = prosessorien määrä 5
6 Amdahlin laki Jos 50 % suorituksesta on rinnakkaista, on kahdella prosessorilla suoritus 1,3- kertaista. Jos peräkkäisen laskennan määrä lähestyy nollaa, nopeutuu algoritmi suoraan suhteessa käytössä olevien prosessorien määrään 6
7 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli Tehtävien riippuvuusanalyysi OpenMP Loppusanat 7
8 Rinnakkaisuuden mallit On kaksi perustapaa jakaa ohjelma rinnakkaisiin osiin Funktionaalinen Tietoperustainen Funktionaalisessa jaetaan ohjelma rinnakkain suoritettaviin säikeisiin Tietoperustainen pyrkii löytämään tietoa jolle suorittaa tehtäviä rinnakkaisesti 8
9 Funktionaalinen rinnakkaisuus Ideana jakaa pelimoottorin eri komponentit eri säikeisiin Synkroninen malli Asynkroninen malli 9
10 Synkroninen malli 10
11 Synkroninen malli Yritetään löytää olemassaolevasta pelisilmukasta osia, jotka voi suorittaa rinnakkain Tehtävien pitäisi olla mahdollisimman riippumattomia Tukee rajallista prosessorien määrää Olemassaolevia komponentteja ei tarvitse muuttaa paljoa 11
12 Asynkroninen malli 12
13 Asynkroninen malli Ei pelisilmukkaa vaan tehtävät päivittyvät omia aikojaan omissa säikeissään Tehtävät käyttävät viimeisintä saatavilla olevaa tietoa Saadaan myös toisistaan riippuvat tehtävät rinnakkaisiksi Ongelmana eri tehtävien suoritustiheyden aikatauluttaminen 13
14 Tietoperustainen malli 14
15 Tietoperustainen malli Jaetaan pelin hahmojen suoritus eri säikeille Säikeet mahdollisimman tasapainossa Eri säikeissä olevien hahmojen kommunikaatio Erittäin skaalautuva malli Suorituskykyisin malli silloin kun prosessoreita on paljon 15
16 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli Tehtävien riippuvuusanalyysi OpenMP Loppusanat 16
17 Tehtävien riippuvuusanalyysi Tehtävät mahdollisimman riippumattomia Osa tehtävistä tarvitsee toisten tehtävien tarjoamaa tietoa, joten niiden täytyy odottaa näiden suorituksen päättymistä Tietoriippuvuus, hallintariippuvuus, resurssiriippuvuus 17
18 Tietoriippuvuus Suoritusriippuvuus = vähintään yksi S1:sen tulosteista toimii S2:sen syötteenä Antiriippuvuus = S2 seuraa S1:stä ja joku S2:sen tulosteista vaikuttaa S1:sen syötteisiin Tulosteriippuvuus = tehtävät S1 ja S2 kirjoittavat samaan muistiosoitteeseen. I/O riippuvuus = kaksi tehtävää käyttää samaa tiedostoa. Tuntematon riippuvuus = tehtävien suhteet riippuvat tiedosta, johon viitataan epäsuorasti 18
19 Bernsteinin ehdot Resurssiriippuvuutta Ehdot: P1 ei lue muistiosoitteita, joihin P2 kirjoittaa P2 ei lue muistiosoitteita, joihin P1 kirjoittaa P1 ja P2 eivät kirjoita samoihin muistiosoitteisiin 19
20 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli Tehtävien riippuvuusanalyysi OpenMP Loppusanat 20
21 OpenMP Ohjelmointirajapinta, joka tukee jaettua muistia käyttävää rinnakkaisohjelmointia useilla alustoilla Kääntäjädirektiivejä, kirjastorutiineja ja ympäristömuuttujia Helppoa ja selkeää Kääntäjä ei juuri tee tarkistuksia 21
22 OpenMP Yhden rivin lisäyksellä koodiin, saadaan silmukan suoritus jaettua useisiin säikeisiin Selkeä parannus suorituskyvyssä Windowsin säiekutsuilla samaan toimintoon meni 60 koodiriviä 22
23 OpenMP Perustuu säiejoukkoon: kun ohjelman suoritus tulee rinnakkaiseen osioon, säiejoukkio aktivoituu ja suoritettuaan työnsä, jäävät odottamaan seuraavaa rinnakkaista osiota 23
24 OpenMP Voidaan käyttää myös funktionaaliseen rinnakkaisuuteen 24
25 Yhteenveto Useista prosessoreista saatava hyöty riippuu siitä, kuinka suuri osa ohjelman tehtävistä voidaan suorittaa rinnakkain Rinnakkaisuuden mallit tarjoavat tapoja jakaa ohjelma rinnakkaisiin osiin Rinnakkaisessa suorituksessa pitää ottaa huomioon tehtävien väliset riippuvuudet 25
Rinnakkaisuuden hyväksikäyttö tietokonepeleissä
Rinnakkaisuuden hyväksikäyttö tietokonepeleissä Paula Kemppi Helsinki 1.5.2008 Ohjelmistotuotanto ja tietokonepelit -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto 1
LisätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 5 521475S Silmukalliset ohjelmat Silmukat joissa ei ole riippuvuussyklejä voidaan vektoroida eli suorittaa silmukan vektorointi Jokainen yksittäinen käsky silmukan rungossa
LisätiedotOppimistavoitteet kurssilla Rinnakkaisohjelmointi
17.5.2006 1/5 Oppimistavoitteet kurssilla Rinnakkaisohjelmointi Rinnakkaisuus ja rinnakkaisuuden soveltaminen tietojenkäsittelyjärjestelmissä Kurssin Tietokoneen toiminta perusteella ymmärtää, miten ohjelman
Lisätiedot5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi
5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden
LisätiedotIntel Threading Building Blocks
Intel Threading Building Blocks Markku Vajaranta Esko Pekkarinen TBB Pähkinänkuoressa C++ luokkamallinen rinnakkaisuus Abstrahoi rinnakkaisuutta korkean tason tehtävät (tasks) ja niiden skedulointi suuri
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 3 521475S Rinnakkaiset Numeeriset Algoritmit Silmukattomat algoritmit Eivät sisällä silmukka lauseita kuten DO,FOR tai WHILE Nopea suorittaa Yleisimmässä muodossa koostuu peräkkäisistä
LisätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 2 521475S Tietokonealgoritmien rinnakkaisuuden analysointi Algoritmi on proseduuri, joka koostuu äärellisestä joukosta yksiselitteisiä sääntöjä jotka muodostavat operaatiosekvenssin,
LisätiedotKäyttöjärjestelmät: poissulkeminen ja synkronointi
Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet
Lisätiedot2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
LisätiedotTransaktiot - kertausta
Hajautettujen järjestelmien perusteet Transaktiot - kertausta Distributed Systems, Concepts and Design, George Coulouris, Jean Dollimore, Tim Kindberg Addison-Wesley 1988,1994. Pearson Education 2001 ISBN:
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotOngelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?
Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotRinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka
Rinnakkaisuus parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa Rinnakkaisuuden etuja: laskennan nopeutuminen (sarjoittuvat operaatiojonot) ilmaisuvoima (ongelman
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotMONISÄIKEISTYS PELIMOOTTOREISSA
Ville Mönkkönen MONISÄIKEISTYS PELIMOOTTOREISSA Tietojärjestelmätieteen Pro gradu -tutkielma 10.06.2006 Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos Jyväskylä 2 TIIVISTELMÄ Mönkkönen, Ville Samuli
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 19: Rinnakkaisuus Riku Saikkonen (merkityt ei-laajan kurssin kalvot: Otto Seppälä) 24. 3. 2011 Sisältö 1 Säikeet 2 Lukot 3 Monitorit 4 Muuta säikeisiin
Lisätiedot811312A Tietorakenteet ja algoritmit, , Harjoitus 3, Ratkaisu
811312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 3, Ratkaisu Harjoituksessa käsitellään algoritmien aikakompleksisuutta. Tehtävä 3.1 Kuvitteelliset algoritmit A ja B lajittelevat syötteenään
LisätiedotChapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen
Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka
Lisätiedot5. Luento: Rinnakkaisuus ja jako prosesseihin (+ lyhyesti reaaliajasta) Arto Salminen,
5. Luento: Rinnakkaisuus ja jako prosesseihin (+ lyhyesti reaaliajasta) Arto Salminen, arto.salminen@tut.fi Agenda Rinnakkaisuus käsitteenä Perusongelmat Jako prosesseihin Reaaliaika Yhteenveto Rinnakkaisuus
LisätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
LisätiedotRelaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto
Harri Laine Helsingin yliopisto Suosion syy? Yksinkertaisuus vähän käsitteitä helppo hahmottaa Selkeä matemaattinen perusta ei tulkintaongelmia kuten esim. UML:ssä teoria käytäntö kaavio: R(A 1 :D 1, A
Lisätiedot4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi
4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia
LisätiedotRinnakkaisuus. Tarkastelemme, miten algoritmien suoritusta voi nopeuttaa käyttämällä useaa laskentayksikköä samanaikaisesti.
Rinnakkaisuus Tarkastelemme, miten algoritmien suoritusta voi nopeuttaa käyttämällä useaa laskentayksikköä samanaikaisesti. Miksi rinnakkaisuus on tärkeää? Millaisia nopeutuksia rinnakkaistamalla ylipäänsä
LisätiedotKontrollilaitteet. Arsenaali
Arsenaali Kontrollilaitteet Tietokonepeleissä käytettäviä kontrollilaitteita on valtava määrä Kaikilla alustoilla, joilla pelejä pelataan on jokin vakio kontrolleri PC: Hiiri ja näppäimistö Konsolit: Controller
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 11: Rinnakkaisuus Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 25. 4. 2012 Sisältö 1 Rinnakkaisuusmalleja: säie ja prosessi 2
LisätiedotTietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
LisätiedotNORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI
TIETOJEN MALLINNUS NORMALISOINTI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 5 JOUNI HUOTARI & ARI HOVI SUUNNITTELUPUTKI Käyttäjien näkemykset Näytöt, ikkunat
LisätiedotLIITE. asiakirjaan. komission delegoitu asetus
EUROOPAN KOMISSIO Bryssel 12.10.2015 C(2015) 6823 final ANNEX 1 PART 6/11 LIITE asiakirjaan komission delegoitu asetus kaksikäyttötuotteiden vientiä, siirtoa, välitystä ja kauttakulkua koskevan yhteisön
LisätiedotC-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.
Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen
Lisätiedot58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
LisätiedotPalvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien
LisätiedotPeliohjelmointi: Kontrollilaitteet. Teppo Soininen
Peliohjelmointi: Kontrollilaitteet Teppo Soininen Lähteet: Core Techniques and Algorithms in Game Programming, MSDN, www.xbox.com, www.playstation.com Arsenaali Tietokonepeleissä käytettäviä kontrollilaitteita
LisätiedotErlang. Miika Heinonen ja Lassi Uosukainen (Group 92) TIE Principles of Programming Languages Seminaariessee. Yleistä
Yleistä Erlang Miika Heinonen ja Lassi Uosukainen (Group 92) TIE-20306 Principles of Programming Languages Seminaariessee Erlang on Ericcsonin kehittämä funktionaalinen ohjelmointikieli ja ajoympäristö,
LisätiedotOhjelmointi 1 / syksy /20: IDE
Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne
LisätiedotHarjoitustyön testaus. Juha Taina
Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida
LisätiedotKäyttöjärjestelmän rakenne
Käyttöjärjestelmän rakenne Tietokonejärjestelmä = Laitteisto + ohjelmisto Sovellus saa laitteiston käyttöönsä kj:n avustuksella CPU ja muisti Oheislaitteet KJ tarjoaa laitteiston käytössä tarvittavat palvelunsa
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotKirjanpidon ALV-muutos
9.9.2010 1(10) Kirjanpidon ALV-muutos Tämä dokumentti sisältää ohjeen sille miten uudet ALVkoodit (ALV-prosentit) otetaan käyttöön. Vaihtoehto yksi(1) vaihda olemassaolevat ALV-koodit yhdestä prosentista
LisätiedotTIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotD B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää
Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotGraafisen käyttöliittymän ohjelmointi Syksy 2013
TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi
LisätiedotVerkon värittämistä hajautetuilla algoritmeilla
Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)
LisätiedotOhjelmistoradio tehtävät 4. P1: Ekvalisointi ja demodulaatio. OFDM-symbolien generoiminen
Ohjelmistoradio tehtävät 4 P: Ekvalisointi ja demodulaatio Tässä tehtävässä dekoodata OFDM data joka on sijotetty synknonontisignaalin lälkeen. Synkronointisignaali on sama kuin edellisessä laskutehtävässä.
LisätiedotAlfa-ohjelmat, verkkoasennus, asennusohje 2006 syyskuu. Alfa-ohjelmat ASENNUSOHJE. Verkkoasennus-CD, versio 1.25. Kielioppi & kirjallisuus
2 Alfa-ohjelmat ASENNUSOHJE Verkkoasennus-CD, versio 1.25 Kielioppi & kirjallisuus Oppikirja ja Harjoituskirja englanti, ruotsi, saksa, ranska, suomi Harjoituskirjojen tasot: 1, 2 ja 3 Alfa-aihepiirisanasto
Lisätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
LisätiedotLineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus
Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus 1 / 51 Lineaarikombinaatio Johdattelua seuraavaan asiaan (ei tarkkoja määritelmiä): Millaisen kuvan muodostaa joukko {λv λ R, v R 3 }? Millaisen
LisätiedotJaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007
Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden
LisätiedotRinnakkaistietokoneet luento S
Rinnakkaistietokoneet luento 4 521475S Rinnakkaiset ei-numeeriset algoritmit: transitiivisulkeuma (transitive closure) Oletetaan suunnattu graafi G = (V,E) ja halutaan tietää onko olemassa kahta pistettä
LisätiedotRatkaisuehdotukset LH 7 / vko 47
MS-C34 Lineaarialgebra, II/7 Ratkaisuehdotukset LH 7 / vko 47 Tehtävä : Olkoot M R symmetrinen ja positiividefiniitti matriisi (i) Näytä, että m > ja m > (ii) Etsi Eliminaatiomatriisi E R siten, että [
LisätiedotOhjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
LisätiedotJohdatus tn-laskentaan perjantai 17.2.2012
Johdatus tn-laskentaan perjantai 17.2.2012 Kahden diskreetin muuttujan yhteisjakauma On olemassa myös monen muuttujan yhteisjakauma, ja jatkuvien muuttujien yhteisjakauma (jota ei käsitellä tällä kurssilla;
LisätiedotMS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016
LisätiedotRinnakkaislaskentamallien arviointi: Intel Threading Building Blocks
Juha Rouvinen Rinnakkaislaskentamallien arviointi: Intel Threading Building Blocks Tietotekniikan kandidaatintutkielma 24. kesäkuuta 2013 Jyväskylän yliopisto Tietotekniikan laitos Tekijä: Juha Rouvinen
LisätiedotCUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen
CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden
LisätiedotStabiloivat synkronoijat ja nimeäminen
Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.
LisätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
LisätiedotOngelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
LisätiedotTietokoneen rakenne: Harjoitustyö. Motorola MC68030 -prosessori
kevät 2004 TP02S-D Tietokoneen rakenne: Harjoitustyö Motorola MC68030 -prosessori Työn valvojat: Seppo Haltsonen Pasi Lankinen RAPORTTI 13.5.2004 Sisällysluettelo sivu Tiivistelmä... 1 Lohkokaavio... 2
LisätiedotWINE API ja Virtualisointiohjelmistot
WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän
LisätiedotAbstraktiot ja analyysi algoritmit ja informaation esitykset
01110111010110 11110101010101 00101011010011 01010111010101 01001010101010 10101010101010 Abstraktiot ja analyysi algoritmit ja informaation esitykset Petteri Kaski Tietotekniikan laitos Aalto-yliopisto
LisätiedotTarkennamme geneeristä painamiskorotusalgoritmia
Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi
Lisätiedot5. Rinnakkaisuus ja jako prosesseihin
Rinnakkaisuus ja jako prosesseihin 89 5. Rinnakkaisuus ja jako prosesseihin Tietokoneen oheislaitteet toimivat toisistaan riippumatta. Ne edustavat todellista rinnakkaisuutta, sillä niiden toimintojen
LisätiedotAlgoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
LisätiedotOhjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.
Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan
LisätiedotMaastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,
LisätiedotMatematiikan ohjelmointi. Joakim von Wright
Matematiikan ohjelmointi Joakim von Wright Formaali menetelmä käytännössä miten todistetaan ohjelman oikeellisuus? miltä todistus näyttn yttää? isot ohjelmat? miljoona riviä koodia nykyajan ohjelmat? rinnakkaisuus,
LisätiedotClojure, funktionaalinen Lisp murre
Clojure, funktionaalinen Lisp murre Principles of Programming Languages, S2015 Jukka Pekka Venttola & Pietari Heino Taustaa Clojuren pohjana on käytetty Lisp ohjelmointikieltä, jonka historia ulottuu 1950
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotStabilointi. Marja Hassinen. p.1/48
Stabilointi Marja Hassinen marja.hassinen@cs.helsinki.fi p.1/48 Kertausta ja käsitteitä Sisältö Stabilointi Resynkroninen stabilointi Yleinen stabilointi Tarkkailu Alustus Kysymyksiä / kommentteja saa
LisätiedotModerneissa grafiikkakorteissa hyödynnetään myös samanlaista toimintamallia
1 Datan rinnakkaistamisessa siis eri prosessointiyksiköt suorittavat saman operaation annetulle datalle, joka pilkotaan prosessointiyksikköjen kesken. Pointti on siis se, että kyseessä ei ole tehtävien
LisätiedotRinnakkaisten ohjelmien testaus Keskeisiä periaatteita ja strategioita
1(22) Rinnakkaisten ohjelmien testaus Keskeisiä periaatteita ja strategioita Matti Vuori, Tampereen teknillinen yliopisto 28.4.2015 Sisällysluettelo Kalvosarjan tarkoitus 3 Testauksen haasteet 4 Keskeisiä
LisätiedotSisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat
Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen
LisätiedotJakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
LisätiedotTietokoneen toiminta, K Tavoitteet (4)
Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?
LisätiedotYhteensopiva ja stabiili. Käsitteellistää suunnittelun. Parempi kuin koskaan aiemmin. Yksityiskohtien tarkka kuvaus. Saumaton kommunikaatio
ZWCAD 2012 ESITTELY Yhteensopiva ja stabiili Parempi kuin koskaan aiemmin Käsitteellistää suunnittelun Yksityiskohtien tarkka kuvaus Saumaton kommunikaatio ZWCAD -ohjelmointi Yhteensopiva ja stabiili Ylivertainen
LisätiedotHajautetut algoritmit. seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi
58307301 Hajautetut algoritmit seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi 1 Seminaarin suorittaminen kirjoitelma (10-15 sivua) 50% esitelmä (n. 45 min) 40% muu aktiivisuus
LisätiedotMuistutus aikatauluista
Muistutus aikatauluista (Nämä eivät välttämättä koske avoimen yo:n opiskelijoita Erkki Kailan rinnakkaisella kurssilla) Luento 1: kotitehtävät sulkeutuvat 20.9 12:00, ennen tutoriaalia Tutoriaali 1 sulkeutuu
LisätiedotHarjoitus 2 (viikko 45)
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän
LisätiedotTietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä
Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat
LisätiedotLiitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1
Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06
LisätiedotLiitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot
Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
Lisätiedot7.4 Sormenjälkitekniikka
7.4 Sormenjälkitekniikka Tarkastellaan ensimmäisenä esimerkkinä pitkien merkkijonojen vertailua. Ongelma: Ajatellaan, että kaksi n-bittistä (n 1) tiedostoa x ja y sijaitsee eri tietokoneilla. Halutaan
LisätiedotTietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
LisätiedotLUENTO 7 TAULUKKOLASKENTA I
LUENTO 7 TAULUKKOLASKENTA I TIEY4 TIETOTEKNIIKKATAIDOT KEVÄT 2017 JUHANI LINNA ANTTI SAND 24.10.2017 LUENTO 7 24.10.2017 Tällä luennolla 1. Teema 4 Taulukkolaskenta Miksi? Harjoitukset 2. Taustaa yksilöharjoitukseen
LisätiedotAlgoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
LisätiedotAsteri Palkanmaksun uudistuksia 2006
Atsoft Oy Mäkinen Malminkaari 21 B 00700 HELSINKI Asteri Palkanmaksun uudistuksia 2006 Sairausvakuutuksen päivärahamaksu 2 Matalapalkkatuki 6 Rajoitetusti verovelvollisen lievennetty lähdevero vuonna 2006
LisätiedotJohdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
LisätiedotAutismiosamäärä. Nimi: ********************************************************************************
Autismiosamäärä AQ Nimi: ******************************************************************************** Lue jokainen väite huolellisesti ja arvioi, miten voimakkaasti olet tai sen kanssa. 1. Teen mieluummin
LisätiedotPohjoismainen työturvallisuusilmapiirikyselylomake
NOSACQ-FI-08 Pohjoismainen työturvallisuusilmapiirikyselylomake Kyselylomakkeen tarkoitus on kartoittaa sinun käsityksesi työturvallisuudesta tällä työpaikalla. Vastauksiasi käsitellään tietokoneella ja
Lisätiedot2.1 b) Muunnokset ja vaakamalli
2.1 b) Muunnokset ja vaakamalli Tunnin rakenne: - Kotitehtävät ja edellisen kertaus (10 min) - Uudet käsitteet ja esimerkit 2 ja 3 (25 min) - Loppukoonti ja ryhmäarviointi (10 min) Tunnin tavoitteet: -
LisätiedotMatematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 6 Sarjojen suppeneminen Kiinnostuksen kohteena on edelleen sarja a k = a + a 2 + a 3 + a 4 +... k= Tämä summa on mahdollisesti äärellisenä olemassa, jolloin sanotaan
LisätiedotTIE Principles of Programming Languages CEYLON
TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita
LisätiedotRinnakkaisohjelmointi.NET-ympäristössä
Rinnakkaisohjelmointi.NET-ympäristössä Aleksi Kontkanen Juho Lappalainen Opinnäytetyö Tieto- ja viestintätekniikka Insinööri (AMK) 2014 LAPIN AMMATTIKORKEAKOULU TEKNIIKKA JA LIIKENNE Tieto- ja viestintätekniikka
Lisätiedot