Hledat
Přihlásit se
  • Věda a technika
  • Herní doupě
  • Tipy pro PC
  • IT Byznys
  • Mobily
  • Počítače
  • Počítače
  • Témata
  • Poradna
  • Diskuzní fórum
  • Video
  • Bazar
  • Blogy
  • MĚŘENÍ RYCHLOSTI
  • RSS
  • Facebook Twitter Google+ YouTube
  • Hardware
  • Software
  • Počítače
  • Notebooky
  • Služby na webu
  • Apple
  • Google
  • Microsoft
  • Seznam
  • Tiskové zprávy
Další témata
  • Týden Živě
  • Zprávy Živě
  • Testy
  • Pitvy
Všechna videa
X

Doporučit článek

Vaše jméno:

Váš e-mail:

E-mail adresáta:

Komentář:

kontrolní kód

Odeslat

Blogy Živě » Mihův blog

Mihův blog

Neví někdo, co to je blog? Dá se to namazat na chléb?
 

OpenCL

5. 9. 2009, miho

OpenCL (Open Computing Language) je frameworkem pro psaní výpočetních jader aplikací určených pro běh v heterogenním prostředí (CPU, GPU, akcelerační karty např. s Cell procesory, nVidia Tesla, …). Už z toho je patrné, že se ve skutečnosti rozhodně NEjedná o CUDA v bledě modrém s fialovými puntíky, ačkoliv by se to mohlo na základě informací, které prezentuje o této technologii Apple, zdát. Šíře záběru je podstatně větší a díky otevřenosti přináší naději na sjednocení kódu pro různá zařízení poskytující výpočetní výkon. OpenCL má ambice stát se v tomto odvětvítím, čím je OpenGL pro 3D grafiku.

Motivace

Teoretický výkon současných nejlepších x86 procesorů se čtyřmi jádry (virtuálně osmi s HyperThreadingem) a frekvenci přes 3 Ghz je přibližně 50 GFLOPS a propustnost paměti je přibližně 10 GiB/s. Cell procesor disponuje teoetickým výkonem 100 GFLOPS a propustnost všech subjáder k lokální paměti je cca 300 GiB/s. Teoretický výkon nejlepších grafických procesorů od AMD/ATI a nVidie se pohybuje kolem 1 TFLOP (započítaný je pouze výkon programovatelných unifikovaných shaderových jednotek, dalším výkonem disponují rasterizační jednotky) a propustnost paměti přesahuje 100 GiB/s. Jak je z těchto čísel vidět běžné procesory jsou v teoretických hodnotách hodně pozadu. Navíc rozšířit počet CPU v počítači je mnohem náročnější než do něho namontovat další kartu s GPU nebo akcelerátor s Cell procesorem. Jak ale využít tento obří potenciál? CUDA je řešením pro využití výkonu grafického čipu k něčemu užitečnějšímu než jen mordování emzáků. Oproti tomu OpenCL je řešením pro ty, kteří chtěji napsat aplikaci, která poběží na jednoprocesorovém počítači bez grafického akcelerátoru, nVidia Tesla počítači s čtyřmi G91 čipy, běžném několikajádrovém počítači s gr. akcelerátorem, počítači s budoucím Larrabee procesorem,… a na všech využije co nejvíce z jejich výpočetního potenciálu.

Jak to funguje

Programátor napíše výpočetní jádro, které se velmi podobá běžné funkci v C. Funkce může mít lokální proměnné, přístup ke globálním datům a datům společným pro všechny instance jádra, k dispozici jsou běžné matematické operace, goniometrické funkce, operace nad vektory… Jsou tam samozřejmě ale určitá omezení ohledně rekurze, větvení a cyklů. Výpočetní jádro se převede překladačem do mezijazyka, něco jako bytecode pro Javu. Takto vytvořené výpočetní jádro se následně poštve nad vektor, matici nebo trojrozměrnou matici. OpenCL ovladač zařízení se postará o celý zbytek- převede si výpočetní jádro do podoby, které bude rozumět dané zařízení (převede za běhu OpenCL „bytecode“ což je vzhledem k jednoduchosti jazyka a tomu, že výpočetní jádro je typicky velmi malé, velmi rychlé), nakrmí ho daty a provede výpočet.

OpenCL bohužel nezařídí rozložení práce mezi všechny zařízení v počítači. Umožňuje jen získat seznam všech zařízení, pro který je v systému OpenCL ovladač a získat jejich kontext. O rozložení práce se musí programátor postarat sám.

Bude z toho něco?

Je to otevřený standard, který řídí nezisková organizace Khronos. Firmy jako AMD, nVidia a Intel už se zapojily. První velká implementace je v Snow Leopardu a už existují demo prográmky, které demonstrují možnosti a také benchmarky.

The example run shown on the download page for OpenCL Benchmark shows the benchmark runs 12 times slower on a 3.2GHz Core 2 Duo compared to an NVIDIA GeForce 9600M GT.

9600M je mobilní grafický chip s 32 shadery. 285 GTX disponuje 240 shadery…

V případě Grand Central Dispatch jsem skeptický ale před OpenCL je myslím velká budoucnost v segmentu domácích počítačů, výpočetních stanic i mobilních zařízení (existuje i mobilní varianta OpenCL).

Doplněn benchmark OpenCL na mém počítači:

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8800 GT
Device 0 is an: GPU with max. 1500 MHz and 112 units/cores
Now computing - please be patient....
time used:  0.751 seconds

OpenCL Device # 1 = Intel(R) Xeon(R) CPU           X5482  @ 3.20GHz
Device 1 is an: CPU with max. 3200 MHz and 8 units/cores
Now computing - please be patient....
time used:  2.895 seconds

Štítky: OpenCL


Publikováno v rubrice Software. Reakce v diskuzi lze sledovat prostřednictvím RSS 2.0. Můžete přidat komentář, nebo se na článek odkázat ze svého webu.

« Oplatí se Snow Leopard bootovat v 64bit režimu?
Grand Central Dispatch »
 

Komentáře v diskuzi

1.  Falhar(81.91.220.xxx)   5. 9. 2009, 15:25

Mě by spíš zajímala ta implementace ve Snow Leopardu. Když vezmu v potaz, že AMD i nVidia nemají ještě kompletní svoje implementace a Apple už to má hotovo (i když běží na normální grafice). Jestli to teda není jen “naoko” a plná implementace OpenCL příjde až s nějakým updatem.
Jinak je to ale zajímavá techologie. Teoretické využití tady je, ale ne každý algoritmus z tohoto typu výpočtů profituje. Spíš by se dalo napsat, že počet algoritmů, které lze zpracovat se stream-procesem, jde spočítat na prstech jedné ruky.

2.  Pixel(78.141.102.xxx)   5. 9. 2009, 15:56

autor nespomenul to ze je to len teoreticky vykon dosiahnutelny len v niektorych specifickych aplikaciach. lebo toto znie tak “senzaciechtivo” …

3.  peto(85.216.181.xxx)   5. 9. 2009, 17:00

1> AMD ma ako jedina openCL na CPU uz asi mesiac v beta verzii a pre GPU ma prijst tento mesiac beta

4.  Radek Hulán(81.201.58.xxx)   5. 9. 2009, 17:18

OpenCL ale vůbec není novinka, NVIDIA ji představila před rokem a půl. Maximálně tak pro Apple :) Navíc NVIDIA CUDA + PhysX je nadmnožinou OpenCL a je tu řadu let.

NVIDIA má CUDA + OpenCL (+PhysX):
http://www.nvidia.com/object/cuda_opencl.html

A AMD má svůj ATI Stream:
http://www.amd.com/US/PRODUCTS/TECHNOLOGIES/STREAM-TECHNOLOGY/Pages/stream-technology.aspx

Jinak CUDA a OpenCL a Direct3D 11 (jeho část) řeší každé trošku jinak ten samý “problém”… Jediný průser byl v tom, že AMD nechtěla licencovat CUDA od NVIDIE, a tak se muselo dohodnout třetí rozhraní, které to “přebarvilo” tak aby si AMD nepřipadalo, že je to vývoj NVIDIE ;) Hloupá “politika”..

5.  miho(ověřeno)   5. 9. 2009, 17:51

Doplnil jsem benchmark mého počítače. 8 jáder Core2 na 3,2 GHz je v tomto benchmarku ±4x pomalejší než stařičká 8800GT.

6.  M2(81.201.50.xxx)   5. 9. 2009, 18:49

4: Četl jsi vůbec to, co jsi posílal ? Nvidia OpenCL představila ve spolupráci právě s Apple. OpenCL je TM Apple. Ale snaha byla ;-)

7.  Pixel(78.141.102.xxx)   5. 9. 2009, 18:58

5: no to sa mi nejak nezda kedze 8800GT je znacne vykonnejsia ako 9600M… 9600M sa nemoze porovnavat ani s 8600GT

8.  miho(ověřeno)   5. 9. 2009, 19:06

7: Takové výsledky ten jednoduchý benchmark prostě dává… Všimni si také, že v tom srovnání s 9600M byl obyčejný Core 2 Duo a ja mám 2x čtyřjádro.

9.  miho(ověřeno)   5. 9. 2009, 20:10

Ještě bych k tomu doplnil údaje pro odhad poměru cena výkon: procesory v mém počítači stojí ±80 000,- s DPH a grafika výkonově ekvivalentní s 8800GT se dá pořídit za ±2500,-.

10.  Topper(94.113.86.xxx)   5. 9. 2009, 22:47

4: Vy asi neumite anglicky, ze? Protoze ten odkaz co jste poslal rika, ze OpenCL podal Apple ve spolupraci s NVIDIA.
In partnership with NVIDIA, OpenCL was submitted to Khronos by Apple in the summer of 2008 with the goal of forging a cross platform environment for GPU computing.

Zkousejte dal ..

11.  Pixel(78.141.102.xxx)   5. 9. 2009, 23:18

9: ale toto je velmi zavadzajuce. zrejme mas v tom trosku prehlad takze by si mal vediet ake su odlisnosti medzi GPU a CPU. benchmark applu je samozrejme navrhnuty tak aby ukazal OpenCL v tom najlepsom svetle. v praxi je to ale uplne ine. pretoze si viem celkom zivo predstavit ako zajtra budu niektori obmedzenci tvrdit ze apple vymyslelo technologiu vdaka ktorej im pojde pocitac 10x rychlejsie :) … som zvedavy na prve prakticke testy. toto zatial velku vypovednu hodnotu nema.

12.  Pixel(78.141.102.xxx)   5. 9. 2009, 23:25

9: a este cena toho xeonu. to je zly vtip? :) za 20000-25000 sa predavaju nehalemove xeony.

13.  Pixel(78.141.102.xxx)   5. 9. 2009, 23:34

a kym ma ukamenuje jozef remen tak podotykam ze rovnako dobre ako xeony posluzia praobycajne core i7…. minule ich testovali na pctuning. vrelo odporucam dany clanok. potvrdzuje to co som pisal minule. xeon je obycajny core i7 vybrany z wafferu ako potencionalne najkvalitnejsi cip.

14.  miho(ověřeno)   5. 9. 2009, 23:48

11: To je snad každému jasné. A není to benchmark applu.
12: Není. Ceny serverových procesorů neklesají ani když už je k dispozici nový řada a 3.2 GHz byl navic něco jako extreme v desktopových počítačích. Podívej se za kolik se prodává W5580 3.2GHz “Nahalem” (ve skutečnosti Gainestown) Xeon.
13: Obyč i7 se nedá zapojit do duálu a nedá se k němu použít ECC paměti takže je ze hry. A nepoužívej neexistující slovo potencionálně, otevírá se mi z toho kudla v kapse ;-)

15.  Radek Hulán(81.201.58.xxx)   6. 9. 2009, 00:53

Naprostá hloupost. OpenCL existuje pro Windows, Linux a nově i OS X. Tam je až jako poslední. Navíc se nejedná o nic nového, jen o přebarvení CUDA či části DX11 do jiné licence..

http://www.khronos.org/members/promoters

OpenCL is being created by the Khronos Group with the participation of many industry-leading companies and institutions including 3DLABS, Activision Blizzard, AMD, Apple, ARM, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, Fujitsu, GE, Graphic Remedy, HI, IBM, Intel, Imagination Technologies, Los Alamos National Laboratory, Motorola, Movidia, Nokia, NVIDIA, Petapath, QNX, Qualcomm, RapidMind, Samsung, Seaweed, S3, ST Microelectronics, Takumi, Texas Instruments, Toshiba and Vivante.

16.  replikator(88.100.214.xxx)   6. 9. 2009, 02:17

4,15: Huláne, nestojíme o vás. Nechte si své demagogie pro sebe.Uznáváme že Apple podporou OpenCL měl (asi, Win ani Linux moc nesleduji) implementovanou později, ovšem to neznamená že z vývojem OpenCL nezačal. Krom toho v případě Windows si Microsoft pokud se nepletu za to křížek neudělá… To spíše nVidia či AMD
K historii OpenCL doporučuji(obzvláště druhý odstavec): http://www.khronos.org/news/press/releases/khronos_launches_heterogeneous_computing_initiative/

17.  Satai(94.112.146.xxx)   6. 9. 2009, 08:31

15. Pokud tomu spravne rozumim, tak ma OpenCL trebas o neco flexibilnejsi pametovou architekturu nez CUDA, na druhou stranu by CUDA mela udajne zvladat lepe nektere low-level optimalizace specificke pro NVidie. Oboji resi podobny problem, ale ani jedno neni prejmenovanim toho druheho…

18.  Pixel(78.141.102.xxx)   6. 9. 2009, 09:00

14: v slovencine slovo “potencionalne” existuje a bezne sa pouziva (potencionalny zaujemca o kupu …napriklad). ano. je pravda ze xeon sa da zapojit do dualu. to sa vsak da aj i7. je to cisto “umele” obmedzenie intelu. inak suhlasim a chapeme sa.

19.  miho(ověřeno)   6. 9. 2009, 09:55

18: Máš nejaký link, který by dokazoval že se někomu podařilo nahradit Xeona obyčejnou i7. To by mě docela zajímalo protože i7 by nemá zapojené nožičky pro QPI mezi procesory takže by to byl takovy menší zázrak :) Pro duál prostě MUSÍŠ mít Xeon a to navíc Xeon do duálu určený. Na pctuningu testovali W3540 což je jednoprocesorová varianta. Ani ta by v duálu nefungovala. Dvouprocesorové varianty mají číslo začínající pětkou, uvnitř jsou naprosto stejné akorát mají zapojené příslušné piny a… jsou podstatně dražší.

Na PCT píšou:

Zde je nutné si uvědomit, že výše napsané platí pro tuto řadu Xeonů W3500 s jedním QPI interconnect linkem, nikoli pro další opravdu serverové modely architektury “Nehalem”. Námi testovaný Xeon W3500 totiž není čistokrevný serverový čip, jde oficiálně o procesor do serverů v malých a středních firmách. Tedy spíše takové “profi” řešení do pracovní stanice, než opravdový serverový čip.

Ano, u nás se také slovo potencionálně používá velmi často (podle googlu to je šptně až na 13 % českých stránek). To nic nemění na tom, že to je chyba.

V slovníku slovo potenciálny existuje a slovo potencionálny neexistuje. Stejně tak neexistuje slovo potencionál, ze kterého by se to muselo vyvozovat. Existuje jen potenciál.

Uff, ještě abych tě učil tvůj rodný jazyk, to je teda šichta ;-)

20.  Pixel(78.141.102.xxx)   6. 9. 2009, 13:35

preto som napisal ze je to umele obmedzenie :) … cip je rovnaky.

21.  Jozef Remen(84.245.88.xxx)   6. 9. 2009, 14:44

16: Hulan KLAME ako obvykle, nie je mi znama ziadna distribucia Linuxu, ktora by mala OpenCL v sebe. Ani ziadne SDK, v ktorom by bolo mozne robit v OpenCL. Windows nejdem ani spominat, nech pan Hulan laskavo vysvetli, aku implementaciu mysli. OpenCL draft bol zaslany Khronos group v roku 2008, ked uz Vista bola na svete. Tudiz vo Viste OpenCL nie je. Vo Win 7 nie je takisto, pretoze uz vtedy boli funkcionalne zmrazene. Visual Studio od MS ziadnu podporu OpenCL neobsahuje. Microsoft ani NIE JE ucastnikom Khronos zdruzenia a uz vobec nie OpenCL zdruzenia.

AKo som povedal, Hulan opatovne KLAME. DOkazatelne, nepopieratelne. Ved ten chlap ani nema tusenia, co to OpenCL hadam je…

22.  Satai(94.112.146.xxx)   6. 9. 2009, 16:27

@Jozef: Hulan je klaun, ale tve argumenty nejsou validni. Dost funkcionality se pod win dostane pozdejsi instalaci, trebas prostrednictvim driveru ke graficke karte.

23.  Satai(94.112.146.xxx)   6. 9. 2009, 16:29

Mimochodem: docela zajimave je, ze prave OpenCL stav na llvm. Mam docela chut tomu projektu prorokovat velkou budoucnost.

24.  Matej K.(91.127.56.xxx)   6. 9. 2009, 20:11

[22] Satal, to nie je len o update driveru. To je o SDK, debugovaní, fallbacku keď grafika OpenCL nepodporuje (v OS X implementované nad LLVM). Vážne to na Viste máš? Ja o ničom takom neviem, Jožo má pravdu.

25.  Jozef Remen(84.245.88.xxx)   6. 9. 2009, 21:04

mimochodom, k predchadzajucemu prispevku o Grand Central a skepse v tomto clanku: nie je to na mieste. Prave Grand Central ma velku sancu byt pouzivanou vecou, pretoze sa pouziva skutocne jednoducho. Namiesto rucneho manazovania threadov (kedy je prilis malo a kedy prilis vela?_ Dame radsej menej? Nuz, ale nevyuzijeme volne jadra. Dame viac? Tak si thready budu jadra napr. pri vytazeni 4 z 8 prehadzovat medzi sebou ako horuci zemiak. A co ked tu budu procesory s 32 jadrami? CO ak budeme mat aplikaciu len s moznostou vytvarat len 10 threadov?

Samozrejme, implementacia vo vhodnych castiach je na vyvojarovi, on musi vediet, co je vykonnostne kritcka cast. Ale ze to ma cosi do seba ukazuje par aplikacii v Mac OS X uz teraz… Napr. prehravanie HD videa 1080p v novom QuickTime X (medialnej vrstve, nie prehravaci ako takom)

26.  Satai(94.112.146.xxx)   6. 9. 2009, 21:12

24. Ja netvrdim, ze to ve Vistach mam (protoze je nemam). Jen to, ze Jozova argumentace je zcestna, to vse muze prijit vicemene nezavisle na OS. Pro vyvojare i pro uzivatele.

25. Neni to spatne, nad C-like jazyky dost mozna maximum mozneho, ale trebas ve Scale nebo Clojure (a pocitam ze trebas F#) se daji najit i lepsi abstrakce.

27.  Matej K.(91.127.56.xxx)   7. 9. 2009, 10:28

26. Zabúdaš že drvivá väčšina programov nielen v OS X je napísaná v C/C++/ObjC. Osobne okrem eclipse používam minimum aplikácií bežiacich na JVM.
A to že sa niečo vo Viste teoreticky dá spraviť neznamená že to tam je. Čo je to za argument?? Veď aj v XP sa to určite teoreticky dá naimplementovať, a?

28.  Jozef Remen(84.245.88.xxx)   7. 9. 2009, 11:20

Satai: aby sme sa chapali, reagoval som na Ulhanov kyd, ze OpenCL je vo Windows uz davno. Predpokladam, ze tvrdi, ze je to tam zabudovane by default, priamo od Microsoftu. Co je nezmysel. Mimochodom, ak aj nie je, mohol by som vidiet implementaciu OpenCL v nejakom tom SDK a samozrejme interpreter priamo vo Windows? Pretoze ak nie je interpreter, nie je mozne spustat aplikacie pod OpenCL, kedze tie su robene ako runtime, kvoli optimalizacii na dany, dostupny hardware. A take nieco pod Windows s pravdepodobnostou blizkou istote nie je…

29.  Satai(192.9.112.xxx)   7. 9. 2009, 11:32

“OpenCL existuje pro Windows”. Nejak nevidim, kde tam je napsano, ze tam je by default.
Zda je na Win implementace vazne nevim, zahledl jsem nejaky prerelase od NVidie. Ale o tom ani muj prispevek nebyl.

30.  Jozef Remen(84.245.88.xxx)   7. 9. 2009, 11:53

kazdopadne Ulhanovo tvrdenie, ze sa prakticky jedna o CUDA a DirectX 11 prefarbene na inu licenciu je loz. Chlap proste vobec netusi, o com je OpenCL a o com je CUDA.

CUDA = programovaci jazyk a rozhranie NVIDIE pre programovanie ich grafickych kariet, nicoho ineho. Aplikacie su fixne skompilovane na danu architekturu

OpenCL = programovaci jazyk na programovanie GPU a CPU, pricom program je optimalizovany na dany HW pocas runtime, nie fixne. Po overeni HW nasleduje usposobenie binarky pre danu architekturu - ci uz je to podporovane GPU, CPU (ak je to rychlejsie), SSE 2,3,4 atd. s pripadnym fallbackom na CPU only.

31.  Norraxx(90.179.136.xxx)   30. 3. 2010, 00:47

jenom cece se mi nezda ten tvuj “bytecode”, jelikoz to tam vlastne ani neni :-)
V opencl mas 2x prekladace, prvni pro processor, a druhy pro urcite zarizeni (cpu/gpu, atd..), ktery je spusten primo za behu host (ktery jede na cpu), online prelozi ti zdrojak pro potrebne zarizeni a nasledne preda veskerou praci na to zarizeni…

32.  cheap lv bags(211.206.124.xxx)   20. 12. 2010, 04:44

Compared with people not to do, cheap lv bags but to surpass themselves, cry cry out tears of emotion, to laugh to laugh growth character.

Přidat komentář

*
Opište prosím text z obrázku.
Anti-Spam Image


Aktuální články a bleskovky

Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Brýle Google Glass jsou patentované
Brýle Google Glass jsou patentované
Ifttt.com: Propojte a automatizujte svůj internet
Ifttt.com: Propojte a automatizujte svůj internet
Nejlepší programy pro práci s Wi-Fi
Nejlepší programy pro práci s Wi-Fi



Mihův blog využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články a komentáře


  • Štítky

    64bit apache Chrome Conficker Exposé flamewar gcc genetický algoritmus gentoo Linux OpenCL VDPAU Virtuální plochy Virtualizace Vista Windows
  • Rubriky

    • Apple
    • Hardware
    • Linux
    • Nezařazené
    • Software
    • Virtualizace
    • Windows
  • Archivy

    • Březen 2012
    • Duben 2011
    • Leden 2010
    • Prosinec 2009
    • Listopad 2009
    • Říjen 2009
    • Září 2009
    • Srpen 2009
    • Červenec 2009
    • Duben 2009
    • Březen 2009
    • Leden 2009
    • Září 2008
    • Srpen 2008
    • Červenec 2008
    • Prosinec 2007
    • Listopad 2007
    • Říjen 2007
    • Srpen 2007
    • Duben 2007
    • Březen 2007
  • Administrace

    • Přihlásit se

1210_Computer.png

Časopis Computer

  • Nakupujte v zahraničí
  • Test 7 čteček elektronických knih
  • Technologie: nové standardy digitálního vysílání
  • Přehled cloudových uložišť
  • Poradíme s výběrem kamery na dovolenou

Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN


Video Živě

Bluetooth stojánky pro Android: Philips AS111, AS141 a AS351
Ifttt.com -- založení úkolu
Zprávy Živě - 12. května 2012
iPad docky Logitech AV Stand a Logitech Speaker Stand

další videa »






Mladá Fronta a.s. Mladá Fronta a.s.
Tiráž | Autoři | Připomínky | Odběr novinek | RSS | Textová verze
Copyright 2000–2012 Mladá fronta a.s. | Inzerce: onlinesales@mf.cz | Kontakt na redakci | Návštěvnost měří NetMonitor