MACváltoztam blog

MACváltozás történetek, avagy hogyan térek át nuff és craig kollégával egyetemben Windows/Linux rendszerről Mac OS X-re :)

Statisztika / Anti-Spam

Aktuális látogatók száma

2009.03.14. reden87

Ennyi besokalltam: OpenCL-t MOST! - Mit tud az új szabvány?!

Eddig bírtam ki, most már tényleg megírom ezt a cikket, mert nem tudom nézni ahogy mindenki lenézi az új Apple gépeket..

Ugye az új gépcsalád megjelenésével mindenki a teljesítményre volt kíváncsi, és százával jelentek meg cikkek, hogy az új gépek nem gyorsabbak mint a régiek, meg így meg úgy. Ez főleg az iMac-nél jelentkezett, hiszen abban eddig is erős grafikus kártya volt, és sokak szerint az új még lassabb is mint a régi. Én most megpróbálom bebizonyítani, hogy TÉVEDNEK, emellett elmagyarázom az új OpenCL szabványban rejlő hatalmas erőt!

Egy kis előfeltétel
Mielőtt mesélnék az OpenCL rejtelmeiről, hagy mutassam be röviden az "elődjét", az OpenGL-t, hogy tudjuk miről is van szó.
Az OpenGL egy függvénykönyvtár, mely főleg 3D-s képek készítésében játszik jelentős szerepet. Még egyszerűbben úgy írható le, hogy van egy programozási nyelv (pl. C), melyhez az OpenGL olyan kiegészítéseket tesz, amelyek segítségével a nyelv képes lesz 3 dimenziós alakzatok előállítására. Például itt van 2 kép egy általam készített programról, mely C nyelven készült, az OpenGL segítségével (a képek linkek is egyben):


Természetesen ez csak egy része a dolognak, de a példához elég. A dolog szépsége, hogy a szabvány a grafikai alakzatok kirajzolásához a grafikus kártya számítási teljesítményét használja, levéve a terhet a processzorról. Ezt a terhet a processzor nem is bírná el (nem erre az egyszerű grafikára gondolok, hanem egy játékhoz kellő számítási teljesítményre).

Az OpenCL története
Ennyi bevezető után térjünk is át a lényegre. Az OpenCL (Open Computing Language) nyelv egy vadonatúj szabvány, amit jelenleg még semmilyen komolyabb szoftver nem használ. A nyelv létrehozását az Apple szorgalmazta, és rekord idő alatt meg is valósították a nagyokosok (nagyokosok = Apple, Nvidia, és még sokan mások).
Egy nagyobb szabvány évekig készülhet, akár 5 év is lehet a fejlesztés, ez a nyelv viszont 6 hónap alatt (!) született meg!
Ebből is látszik, hogy ha az Apple valamit elhatároz akkor kő kövön nem marad :)

A számítási teljesítmény hatalom
A szabvány hasonlóan a GL-es társához a C-n alapul (az Apple esetében Objektív C), és támogatják a nagyobb cégek (nekünk az Nvidia a fontos).
De mit is tud valójában ez az újdonsült erő?! Nos, a nyelv az erőforrásokat hivatott jobban kihasználni. A számítógép úgy működik, hogy egy program futtatásakor a processzor fogja magát, és a programhoz szükséges számolási feladatokat elkezdi elvégezni, szóval elég sok a tennivaló. Komolyabb feladatoknál (videó vágás teszem azt) rengeteg számítást kell elvégezni, amit már nem bír követni a hardver fejlődése (vagyis tudna, de az ára az egekbe szökne). Eközben mit csinál a gépben lévő másik nagyokos, a grafikus kártya?! Röhög a markába! Parlagon hever. Pontosabban elvégez 1-2 gimis matek feladatot arra vonatkozóan hogy a program megnyitásánál látható animált fíccsör ne maradjon el, és ennyi. Na az OpenCL-ben írt program attól forradalmi, hogy képes bevonni az általános célú számítási műveletekbe is a grafikus vezérlőt, így gyorsabban képes a számítások elvégzésére a gép, felgyorsul minden!

És most jön a lényeg: hogy ez mekkora teljesítménynövekedést jelenthet?!
Multimédia órán volt erről pár szó, így kénytelen vagyok azt felidézni, mert sajnos  még nincs normális magyar szakirodalom a témához :(
Tehát a tanár valami olyasmit mondott, hogy egy darab modern grafikus kártya (tehát gondoljatok a legdrágább videokártyára ami csak lehetséges) számítási teljesítménye majdnem akkora (itt egy szám volt amire már nem emlékszem), mint a Magyarországon levő legnagyobb "szuperszámítógép" jelenlegi számítási teljesítménye (feltételezem processzorilag).
Ebben a mondatban 2 fontos infó is el van rejtve:
   1: A játékipar úgy megnyomta a grafikus vezérlők fejlődését, hogy sokkal jobb a számítások elvégzésében, mint a processzor, csak nincs kihasználva általános célú feladatok elvégzésére.
   2: Magyarországnak van "szuperszámítógépe"! Az agyam eldobom! ;)

Az eddigi iromány egy mondatban összefoglalva: Az OpenCL technológiát használó program egyszerre használja a processzor és a grafikus kártya számítási teljesítményét is, befogva a grafikus kártya hatalmas erejét, ezzel (elvileg) drasztikus sebességnövekedést érve el. Persze ez csak akkor működik, ha az adott videokártya támogatja a szabványt.

A frissítésről..
Éés most jön képbe az Apple géppark nemrégen megesett frissítése. Immár minden jelenleg kapható számítógép az új fajta Nvidia chipet használja mint grafikus vezérlő, amely már támogatja az új OpenCL szabványt! Viszont a hardver hiába támogatja a szabványt, ha a szoftver még nem.

Ezért várom már nagyon az Apple új operációs rendszerét, a Snow Leopardot, hiszen ez lesz az első szoftver amely teljes körűen használni fogja a szabványt, és ezért már nagyon kíváncsi vagyok hogy mit tud kihozni az új gépekből, mennyivel lesz gyorsabb az új operációs rendszer a régihez képest. (Feltételezem ez az egyik oka, hogy kizárólag Intel platformra lesz elérhető az új rendszer, mert minek régebbire, ha lassú lesz rajta..)

Rgó az eredeti témára visszatérve: Hiába mondja bárki is hogy az új gépek teljesítménye kisebb, nem hiszek nekik! Én megvárom az új oprendszert, és majd akkor megmondom a véleményemet jól!

Kérdés: Csak én várok ilyen sokat ettől az egésztől? Mert nem nagyon látom máshol hogy epekedve várnák a dolgot, sehol semmi lelkesedés.. Vagy csak még annyira új hogy nem nagyon ismerik? :O

U.I: A cikk nem minden részlete származik biztos forrásból, magyarul agyból írtam, ha valaki véletlenül talál benne hibát kérem jelezze kommentben, illetve ha valaki okosabb a témában mint én, és tud pontosabb adatokat mondani, azt is szívesen fogadnám :)

2 komment

Címkék: mac os x snow leopard opencl


A bejegyzés trackback címe:

https://macvaltoztam.blog.hu/api/trackback/id/tr681001451

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

bodiboy 2009.04.06. 19:37:10

Köszönjük a cikket, nagyon jó lett.:)
Szerintem max 30% körül fog gyorsulni a jelenlegi géppark. Gondold el mi lenne, ha 5x olyan gyors lenne...:) Senki nem venne mac-et 2-3 évig.
A legtöbb mac-est nem fogja érinteni a téma, kivéve ha új mac-et vesz. Kicsi az esélye hogy jelenleg pont az új szériájú gépekből van neki valamije.
De ez csak az én véleményem.

Bálint

reden87 · http://reden87.info/ 2009.04.06. 20:39:18

Vagy mindenki akinek nem Mac gépe van rohanna érte?! :) Ezt az oldalt sem árt meggondolni :) És azon bizony többen vannak..

Amúgy én még a biztonsági fícsörökre vagyok kíváncsi az új OS-ben..

A blog designja az Apple Zone Wordpress Theme
módosított másolata!