Adobe CS5 suorituskyky: 64-bittinen, säikeistetty ja CUDA-kiihdytetty

Artikkelin kirjoittaja: Teemu Laitila | 0 kommenttia

After Effects CS5







Edellisen sivun testeissä CS4:n avulla lyhin saavutettu suoritusaika käyttämällemme työmäärälle oli 2:55. Silloin käytössä oli kuusi prosessoriydintä, Multiprocessing oli päällä ja Hyper-Threading pois käytöstä. Näiden tulosten saavuttamiseksi prosessorin kuormitus oli huipussaan. Kun käyttöön otetaan After Effects CS5, edellisten tulosten paras aika on lähes huonoin nyt saavutettu (2:55 ja 3:00 välillä ei ole juuri eroa) ja 3:00 aika saavutettiin käyttämällä vain kahta prosessoriydintä, ilman Multiprocessing-asetusta ja Hyper-Threadingia. Mielenkiintoista kyllä samat asetukset CS5:n ollessa käytössä aiheuttivat vain 66 – 80 prosentin kuormituksen prosessorille.





Tuloksista näkyy, että CS5 ei enää kärsi CS4:n lailla Hyper-Threadingin käytöstä. HT:sta on selvästi eniten hyötyä kun käytössä on vähemmän fyysisiä ytimiä, mutta sen käytöllä ei ole myöskään aiemmin havaittua negatiivista vaikutusta suorituskykyyn. CS5:n yhteydessä ei tapahdu myöskään outoa hyytymistä, kun käytössä on Hyper-Threading ja Multiprocessing-asetus.

Ei ole erityisen todennäköistä, että moni Intelin kaksiytimisten prosessoreiden omistaja olisi kiirehtimässä päivittämään CS5:n, joten voimme unohtaa kahden ytimen tulokset hetkeksi. Jos laskuihin otetaan vain useamman ytimen tulokset, huomataan, että Hyper-Threadingista on vain minimaalinen hyöty. Se nopeuttaa hieman, mutta ei niin paljon, että prosessorin päivitys kannattaisi. Tässä tapauksessa lähinnä fyysisten ytimien lukumäärällä on merkitystä.

Outoja asioita alkaa taas tapahtu, kun prosessorin kuormitusta tutkitaan tarkemmin. CS5:n kanssa työskennellessämme huomasimme usein vain muutaman ytimen tekevän enemmän töitä. Se näytti siltä kuin kilparadan nopein olisi todennut ”minulla on 12 säiettä ja olen jo niin paljon edellä, että tässä voisi jo vähän löysäillä”. Aluksi luulimme, että kyseessä on sama tilanne jonka Chris huomasi aiemmassa CS4-testissä, eli ytimien määrän kasvattaminen pienentää kunkin fyysisen ytimen käytössä olevaa RAM-määrää, vaikka järjestelmässä on 4 gigatavun sijaan 12 gigatavua muistia. Nvidian teknisen markkinointitiimin jäsen Sean Kilbridre kuitenkin selitti tilanteen:

”Suuri osa hidasteluista johtuu ajoituksesta. Videon koodaus sisältää paljon sarjassa tehtäviä operaatioita, joihin tarvitaan tulokset aiemmasta ruudusta ennen siirtymistä seuraavaan ruutuun. Tämä johtuu siitä, että pakkaustekniikat luovat avainkehyksiä, joissa on kaikki ruudun esittämiseen tarvittava tieto. Seuraavissa ruuduissa tallennetaan vain avainkehyksen suhteen muuttuneet osat. Jos muutosta on liikaa, silloin luodaan uusi avainruutu.

Prosessorit eivät siis voi ikinä työskennellä kovin paljon etukäteen, sillä ne tarvitsevat ensin avainkehyksen jonka perusteella jatkaa koodausta. Teoriassa videon koodaus pakkaamattomaan formaattiin voisi sujua erittäin nopeasti prosessorin osalta, jos käytössä olisi monta säiettä ja jokainen kehys olisi avainkehys. Käytännössä kuitenkin suorituskyvyn tappaisi tallennustilan I/O-suorituskyky, sillä tuloksena syntyisi erittäin massiivinen videotiedosto”.

Nyt kun tämä tuli selväksi, on mukava nähdä että monen ytimen käytön lyhentävän suoritusaikoja.

Yleisesti ottaen mielestämme paras ratkaisu hinta-teho-suhteeltaan on neliytiminen prosessori ja Hyper-Threadingin ja Multiprocessing-asetuksen käyttö. Niillä asetuksilla saadaan käyttöön suurin osa prosessorin potentiaalista ja muille tehtäville jää silti vielä tarpeeksi tehoa.

Emme ole päässeet testaamaan CUDA-kiihdytystä After Effectsin tapauksessa, sillä Adobe ei vielä tue sitä. Ohjelma tukee kyllä OpenGL-kiihdytystä, mikä olikin käytössä kaikissa testeissä. Se ei silti ole sama asia, kuin GPGPU:n vaikutus mikä meitä pääasiallisesti kiinnostaa.

Kommentoi artikkelia