Favicon Svetmobilne.cz  Svět mobilně Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie
Strana 1 z 2 12 PosledníPoslední
Zobrazené výsledky: 1 až 15 z 25

Téma: programování GPGPU

  1. #1
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13

    Našel by se někdo kdo by mi mohl poradit kudy vede cesta k řešení těchto příkladů popř. odkázat na nějaké specializované fórum zabývající se touto problematikou ? Něco málo vím o technologích CUDA, ATI Stream, OpenCL a DirectCompute ale netuším kterou technologii zvolit, pro efektivní řešení. Díky.

    Pro vhodné paralelizovatelné numerické výpočty vytvořit program, který bude výpočty realizovat přes vícejádrový CPU a přes GPU a porovnat rychlosti výpočtů a vhodnost použití různých technologií. Analyzovat vliv frekvence GPU a počtu výpočtových jednotek.

    Vytvořit aplikaci, která na základně vhodných numerických výpočtů bude umožňovat porovnání výpočtového výkonu různých grafických karet (benchmark). Aplikace vypíše také typ GPU, frekvenci a počet výpočtových jednotek.
    Odpovídat lze po přihlášení

  2. #2
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    Na rootu vyšel článek s přímým návodem, jak udělat cuda aplikaci. Tak bych začal tím... Jinak v ČR nic moc, pro openCL a spol asi budeš muset do zahraničí
    Odpovídat lze po přihlášení



  3. #3
    Starousedlík SHW Avatar uživatele Dojigiri
    Registrace
    Jun 2008
    Příspěvků
    1,636

    Asi před rokem jsem si s tím trochu hrál, konkrétně s CUDA ... jako, můžu říct, že na některý výpočty (tj. ty, který jsou podporovaný CUDA a zejména více současných výpočtů stejným algoritmem z různých dat), je to fakt masakr - co jsem si tak měřil na mojí zkušební aplikaci, výpočet za pomoci mojí GeForce 8800GTS cca 100x rychlejší než na mým 4-jádru Q6600. Je otázka, co už o tom víš a co vědět potřebuješ. Konkrétně s CUDA, nejlepší napsat si nějakej zkušební výpočet, přeložit nv compilátorem a prostě si to zkoušet, CUDA je poměrně dobře dokumentovaná.
    S CUDA jsem pár problémů měl, nevím, jestli už jsou v současnosti vyřešený - např. schopnost počítat pouze v přesnosti float (ale někde jsem zahlíd, že to záleží na graf. kartě a že novější graf, karty už by měly umět počítat i v přesnosti double), nebo určitej limit na dobu provédění skriptu (něco kolem 10s - pokud mi výpočet trval dýl, nedoběhnul (skončil po těch cca 10s jakoby "ok", ale výstupní data nebyly spočítaný) a docela často i zaseknul grafickej driver, zkoušel jsem to na Linuxu ale na Windows byl údajně problém stejnej - v takovým případě bylo nutno výpočet rozdělit, ovšem to se blbě dělá když člověk neví dopředu jak dlouho to bude trvat).

    Co se týká ATI, nevím, to si nemám kde zkusit

    Jinak samozřejmě z hlediska obecnosti by bylo nejlepší používat OpenCL, kde by mělo být možný mít jeden zdroják a ten používat na všechny typy graf. karet který by byly podporovaný (nv, ati, larabee), ale nevím v jakým je to teď stavu jestli už je to v nějakým stádiu použitelnosti (naposled když jsem si o OpenCL něco hledal tak byla jenom nějaká úvodní specifikace ale podpora pro skutečný výpočty na graf. kartách zatím nebyla).
    Odpovídat lze po přihlášení

  4. #4
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13

    Citace Původně odesláno od Dojigiri Zobrazit příspěvek
    Asi před rokem jsem si s tím trochu hrál, konkrétně s CUDA ... jako, můžu říct, že na některý výpočty (tj. ty, který jsou podporovaný CUDA a zejména více současných výpočtů stejným algoritmem z různých dat), je to fakt masakr - co jsem si tak měřil na mojí zkušební aplikaci, výpočet za pomoci mojí GeForce 8800GTS cca 100x rychlejší než na mým 4-jádru Q6600. Je otázka, co už o tom víš a co vědět potřebuješ. Konkrétně s CUDA, nejlepší napsat si nějakej zkušební výpočet, přeložit nv compilátorem a prostě si to zkoušet, CUDA je poměrně dobře dokumentovaná.
    S CUDA jsem pár problémů měl, nevím, jestli už jsou v současnosti vyřešený - např. schopnost počítat pouze v přesnosti float (ale někde jsem zahlíd, že to záleží na graf. kartě a že novější graf, karty už by měly umět počítat i v přesnosti double), nebo určitej limit na dobu provédění skriptu (něco kolem 10s - pokud mi výpočet trval dýl, nedoběhnul (skončil po těch cca 10s jakoby "ok", ale výstupní data nebyly spočítaný) a docela často i zaseknul grafickej driver, zkoušel jsem to na Linuxu ale na Windows byl údajně problém stejnej - v takovým případě bylo nutno výpočet rozdělit, ovšem to se blbě dělá když člověk neví dopředu jak dlouho to bude trvat).

    Co se týká ATI, nevím, to si nemám kde zkusit

    Jinak samozřejmě z hlediska obecnosti by bylo nejlepší používat OpenCL, kde by mělo být možný mít jeden zdroják a ten používat na všechny typy graf. karet který by byly podporovaný (nv, ati, larabee), ale nevím v jakým je to teď stavu jestli už je to v nějakým stádiu použitelnosti (naposled když jsem si o OpenCL něco hledal tak byla jenom nějaká úvodní specifikace ale podpora pro skutečný výpočty na graf. kartách zatím nebyla).
    Také bych se přikláněl k řešení pomocí OpenCL, existuje nějaké vývojové prostředí pro tuto technologii ve kterém by se daly tyto příklady naprogramovat? Nainstaloval jsem si OpenCLStudio, které po mě žádalo instalaci SDK a drivery pro moji grafickou kartu, jenže moje grafika není touto technologií podporována. Hledám spíše něco univerzálního, co by nebylo přímo závyslé na použitém grafickém akcelerátoru.
    Odpovídat lze po přihlášení

  5. #5
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    Úplně univerzální není nic. CUDA poběží na většině NVidii, ale je závislá na architektuře a s nepříliš dobrou budoucností. OpenCL bude asi časem obecně přijmanej standard (implementuje ho Nvidia i ati) a měl by běžet na ledasčem (aspoň 1.0 na Ati a 1.1 na nvidiách - ale asi jen na nejnovějších generacích).
    Co máš za GK?
    Odpovídat lze po přihlášení

  6. #6
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13

    desktop: grafika: ATI Radeon X1950 PRO (256MB)
    procesor:Intel Core2 Duo E6750 2,66GHz

    notebook: grafika: ATI mobility Radeon X700 (128 MB)
    procesor: Mobile AMD Sempron LV, 1800 MHz (9 x 200) 3000+
    Odpovídat lze po přihlášení

  7. #7
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    Hmm, tak bojim se, že na tědle kartách nerozjedeš nic. Ati stream 1.4 chce nejmíň 2xxx rodinu, 2.1 4xxx.
    Bude to chtít upgrade. Pozor, pokud bys chtěl double precision, tak nejmíň x800 grafiku, kde x je 4 nebo 5.
    Odpovídat lze po přihlášení



  8. #8
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13




    Odpovídat lze po přihlášení

  9. #9
    Starousedlík SHW Avatar uživatele Dojigiri
    Registrace
    Jun 2008
    Příspěvků
    1,636

    Hmm na těchhle kartách by snad mohlo ject jedině ATI CTM (Close To Metal), přímo v něm se ale příliš snadno neprogramuje (taky jsem na to kdysi koukal, ale je spíš podobný assembleru, na rozdíl od ATI Stream a CUDA který jsou založený na C/C++).

    Možná by to mohlo jít rozchodit s použitím BrookGPU překladače, ten má ale podporu CTM v alfa verzi, ale mohlo by to možná jít při použití DirectX nebo OpenGL backendu (http://graphics.stanford.edu/project...gpu/start.html).
    Odpovídat lze po přihlášení

  10. #10
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    IMHO ale evidentně to dělá jako semestrálku. V tu chvíli bych rozhodně doporučil dělat něco, co má smysl, a to je opencl nebo max cuda. Ty zbylý tehcnologie je myslím slepá větev (rozhodně CTM, brook moc neznam).
    Odpovídat lze po přihlášení

  11. #11
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13

    Týká se to školy, ale jak tedy na to ? Vím, že bych měl použít technologii OpenCL, bude vzhledem ke své univerzálnosti a možnostem asi nejvhodnějším řešením. Teď se ale naskýtá otázka řešení, nejprve je tedy potřeba mít nějaké vývovojé prostředí, které umožnuje práci s touto technologií. Byla mi doporučována implementace ATI Stream SDK(zatím nemám patřičný HW) a vývojové prostředí Visual Studio. Mohu tedy zatím pracovat na výpočtech jen za pomocí CPU, které je vzhledem k instrukční sadě SSE3 touto technologíí podporováno. Existuje nějaké API pro toto řešení, nebo jakým způsobem mám provázat VisualStudio s OpenCL ?
    Odpovídat lze po přihlášení

  12. #12
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13

    ..a který procesor budu moci k výpočtům použít, SDK od ATi pravděpodobně nebude podporovat Core2Duo, To se budu muset obrazet spíše s pátráním u nVidie, pokud to dobře chápu ? Na Sempronu by jet možná mohlo...
    Odpovídat lze po přihlášení



  13. #13
    Starousedlík SHW
    Registrace
    May 2006
    Příspěvků
    4,042

    PRo OpenCL na CPU jde použít cokoli.

    Osobně bych bejt tebou koupil nějakou levnou grafiku, co openCl používá. Na ty nejlevnější si vyděláš i za den v supermarketu.
    Odpovídat lze po přihlášení

  14. #14
    Starousedlík SHW Avatar uživatele Dojigiri
    Registrace
    Jun 2008
    Příspěvků
    1,636

    To jo no, samozřejmě nejlepší by bylo začít rovnou s OpenCL který se jeví do budoucna jako nejperspektivnější.

    Teď jsem koukal, že by na něm mohla ject i CPU emulace, s proc. AMD (příklad třeba zde http://www.khronos.org/message_board...?f=28&t=2425); ale na skutečný zkoušení by to pak chtělo mít odpovídající železo (tj. podporovanou grafickou kartu).
    Odpovídat lze po přihlášení

  15. #15
    Nováček Avatar uživatele klouda
    Registrace
    Jun 2010
    Příspěvků
    13

    Doporučíte mi nějakou konkrétní graf. která by byla vhodná pro tento účel? zašel bych si pro ni.
    Líbí se mi třeba Sapphire HD 5670 Ultimate, abych se vešel tak nějak do 3tisic.
    Odpovídat lze po přihlášení

Strana 1 z 2 12 PosledníPoslední

Podobná témata

  1. Radeony: K čemu je GPGPU?
    Od BigBang v sekci Grafické karty
    Reakcí: 7
    Poslední příspěvek: 14-04-2012, 12:47
  2. Programování na Androidu, lze?
    Od jozka.1 v sekci Programování
    Reakcí: 5
    Poslední příspěvek: 19-04-2011, 12:24
  3. Klávesnice: Klávesnice na programování
    Od xmarek v sekci Periferie
    Reakcí: 8
    Poslední příspěvek: 10-09-2009, 12:57
  4. Začátky programování
    Od Belbas v sekci Programování
    Reakcí: 36
    Poslední příspěvek: 26-07-2009, 16:16
  5. Programování v C#
    Od Alamaster v sekci Programování
    Reakcí: 35
    Poslední příspěvek: 01-05-2008, 13:52