Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Tuplaydinprosessori kysymys

Triton [29.03.2009 01:27:36]

#

Jos haluaa hyödyntää sovelluksessa tuplaydinprosessoria, niin täytyykö se huomioida jo sovellusta tehtäessä vai osaako ne automaattisesti käyttää kaikkia koneen tehoja?

jlaire [29.03.2009 01:40:30]

#

Täytyy huomioida. Riippuu paljon sovelluksesta ja käytetystä ohjelmointikielestä, miten helposti useampia ytimiä voi hyödyntää.

Despite decades of work by compiler researchers, automatic parallelization has had only limited success. (Wikipedia)

Triton [29.03.2009 01:50:28]

#

Miten tämä oikein toimii vaikka Pythonin kohdalla?

Metabolix [29.03.2009 12:31:47]

#

Lähdepä liikkeelle hakusanalla threading.

Eri ytimet toimivat kuten kaksi erillistä prosessoria. Kumpikin voi suorittaa ohjelmaa yhdestä kohti kerrallaan, eli ohjelmassa täytyy olla osia, jotka voidaan suorittaa toisistaan riippumatta samaan aikaan. Käytännössä uuden laskentasäikeen aloittaminen on niin raskasta, että yleensä kannattaa erotella vain selkeitä kokonaisuuksia. Pelien tapauksessa yksi helpoimmista erotettavista toiminnoista on musiikin ja äänten käsittely: yhdessä säikeessä toimii itse peli, josta käsin ilmoitetaan aina äänisäikeelle, mikä ääni pitäisi soittaa, ja äänisäie puolestaan hoitaa miksauksen ynnä muun ääniasian.

Chiman [29.03.2009 13:58:07]

#

Pythonissa rinnakkaisajoa hankaloittaa Global Interpreter Lock. Se on CPythonin (yleisin käytössä oleva python-implementointi) ominaisuus, joka mahdollistaa vain yhden säikeen suorittamisen kerrallaan python-virtuaalikoneessa. GIL helpottaa ja nopeuttaa eräitä asioita, mutta hintana on todellisen rinnakkaisajon puute saman prosessin säikeiden kesken. Mikään ei tietenkään estä ajamasta useampaa python-prosessia.

Päärynämies [07.04.2009 02:13:48]

#

http://www.parallelpython.com/

Tuollainen kirjasto tuli vastaan. Tuon avulla voi ilmeisesti yksinkertaisesti hyödyntää python-ohjelmissa useampaa suoritinta tai ydintä. Kirjasto automaattisesti luo useamman prosessin ja hoitaa niiden välisen kommunikaation. Omaa kokemusta tuosta ei ole.

groovyb [07.04.2009 11:16:16]

#

säikeitä voi toki käyttää myös yhdellä prosessorilla, mutta silloin käytössä on lähinnä multitasking jolloin prossu vaihtelee eri prosessien välillä. säikeitä käyttäessä on sitten vähän tarkkuutta käytettävä ja huomioitava Race Conditionit ja Deadlockit.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta