Czy ktoś się zajmował CUDA Nvidii ?

0

Jak w temacie :), trochę się tym bawię w przerwach i pomimo że moja karta graficzna to jedno wielkie G to wyniki wgniatają w fotel :D a z tego co zauważyłem to od czasu do czasu pojawiają się oferty pracy z tym związane.

0

Ja OpenCLem, hobbystycznie (magisterka miała w tym być, ale nie wyszło). Myślę, że prędzej OpenCL to przyszłość, choć ofert pracy nie szukałem i nie porównywałem.

0
Wibowit napisał(a):

Ja OpenCLem, hobbystycznie (magisterka miała w tym być, ale nie wyszło). Myślę, że prędzej OpenCL to przyszłość, choć ofert pracy nie szukałem i nie porównywałem.

Technicznie OpenCL rzeczywiście jest lepszy z tego co czytam , na razie to tylko suche informacje i jeszcze (chciałbym napisać nie miałem czasu ale ) nie za bardzo chce mi się wgłębiać w to w tej chwili , dopiero niedawno co z CUDA rozpocząłem więc nie chcę sobie mieszać.

Technicznie OpenCL ma większe prawo bytu ale niestety historia pokazuje że komercha wygrała nie raz nad zdrowym rozsądkiem.
W każdym razie dzięki za odpowiedź bo o OpenCL nawet nie słyszałem wcześniej , myślałem że CUDA jako jedyna pozwala GPU wykorzystać.
Jak tylko skończę zabawę z CUDA wezmę się za OpenCL.

1

Przede wszystkim CUDA jest tylko na GPGPU nVidii, a OpenCL nie tylko lata na GPGPU nVidii i AMD, ale także na GPGPU Intela (ich grafiki zintegrowane w prockach, coraz lepsze), nadchodzące PowerVR czy podobne (grafiki w telefonach i tabletach). Można też odpalić OpenCL na wielordzeniowym CPU, a jeśli ma się odpowiedni sterownik OpenCL to będą wykorzystywane wszystkie dostępne rozszerzenia procesora.

Najnowsze Photoshopy i WinZipy wykorzystują OpenCL: http://www.benchmark.pl/aktualnosci/OpenCL_Adobe_Photoshop_CS6,_Creative_Suite_6_i_WinZip_16.5_wykorzystuja_moc_CPU,_GPU_i_APU-39663.html

Mimo, iż nVidia mocno promowała jeszcze niedawno swoje karty jako najlepsze rozwiązania do obliczeń, to czasami ich wydajność kuleje w porównaniu do rozwiązań AMD. Zobacz na wykres Luxmark (raytracer) na stronie: http://pclab.pl/art49195-12.html W trybie OpenCL GTX680 jest na poziomie budżetowych kart AMD, a benchmark nie jest jakiś czysto syntetyczny - w końcu graficy modeli 3W renderują non-stop. Oczywiście jeden benchmark "wiosny nie czyni".

Oprócz OpenCL i nVidii jest jeszcze np DirectCompute, ale na chwilę obecną to chyba bardziej ciekawostka przyrodnicza bez przyszłości.

W każdym razie dzięki za odpowiedź bo o OpenCL nawet nie słyszałem wcześniej , myślałem że CUDA jako jedyna pozwala GPU wykorzystać.

No to strasznie słabo się sprawą interesujesz. Czyżby nVidia sypnęła kasą na uczelni?

Zobaczyłem na oferty pracy na infopracuj.pl

Ciężko na podstawie dwóch ofert wyciągać daleko idące wnioski, ale biorąc też pod uwagę wszystko to co wcześniej napisałem, nie wydaje się, żeby CUDA rządziła.

0

Taka uwaga, wykorzystanie mocy karty graficznej umożliwia też na przyklad OpenGL czy DirectX (a ściślej GLSL, HLSL, Cg...), CUDA i OpenCL udostępniają wygodne API do obliczeń.
PS. OpenCL > CUDA.

0
Wibowit napisał(a):

Przede wszystkim CUDA jest tylko na GPGPU nVidii, a OpenCL nie tylko lata na GPGPU nVidii i AMD, ale także na GPGPU Intela (ich grafiki zintegrowane w prockach, coraz lepsze), nadchodzące PowerVR czy podobne (grafiki w telefonach i tabletach). Można też odpalić OpenCL na wielordzeniowym CPU, a jeśli ma się odpowiedni sterownik OpenCL to będą wykorzystywane wszystkie dostępne rozszerzenia procesora.

Najnowsze Photoshopy i WinZipy wykorzystują OpenCL: http://www.benchmark.pl/aktualnosci/OpenCL_Adobe_Photoshop_CS6,_Creative_Suite_6_i_WinZip_16.5_wykorzystuja_moc_CPU,_GPU_i_APU-39663.html

Mimo, iż nVidia mocno promowała jeszcze niedawno swoje karty jako najlepsze rozwiązania do obliczeń, to czasami ich wydajność kuleje w porównaniu do rozwiązań AMD. Zobacz na wykres Luxmark (raytracer) na stronie: http://pclab.pl/art49195-12.html W trybie OpenCL GTX680 jest na poziomie budżetowych kart AMD, a benchmark nie jest jakiś czysto syntetyczny - w końcu graficy modeli 3W renderują non-stop. Oczywiście jeden benchmark "wiosny nie czyni".

Oprócz OpenCL i nVidii jest jeszcze np DirectCompute, ale na chwilę obecną to chyba bardziej ciekawostka przyrodnicza bez przyszłości.

W każdym razie dzięki za odpowiedź bo o OpenCL nawet nie słyszałem wcześniej , myślałem że CUDA jako jedyna pozwala GPU wykorzystać.

No to strasznie słabo się sprawą interesujesz. Czyżby nVidia sypnęła kasą na uczelni?

Zobaczyłem na oferty pracy na infopracuj.pl

Ciężko na podstawie dwóch ofert wyciągać daleko idące wnioski, ale biorąc też pod uwagę wszystko to co wcześniej napisałem, nie wydaje się, żeby CUDA rządziła.

Na uczelni to ja już dawno nie jestem ;) CUDA i wykorzystaniem GPU do obliczeń zainteresowałem się przez ostatnie zlecenie jakie złapałem , facet strasznie nalegał żeby obliczenia były przez CUDA realizowane ( wcześniej o wykorzystaniu GPU do czegoś więcej niż generowania grafiki w grach tylko słyszałem, dopiero przez ostatnie zlecenie dotarło do mnie jaki to ma potencjał ) tematem ogólnie dopiero zaczynam się zajmować więc CUDA wcale nie bronie ( to że nowy WinZip wykorzystuje OpenCL totalnie mnie zaskoczyło ) po prostu do tej pory tylko o tym słyszałem, dzięki za poszerzenie moich horyzontów w tym temacie :).

Wnioskując z tego co piszesz i po przejrzeniu linków to CUDA olewam i za OpenCL się biorę ;)

0

Grzebiąc na około OpenCL zassałem WinZip 16.5 i chciałem porównać jaka będzie różnica między kompresją bez OpenCL a z nią aktywną i teraz kwestia że w opcjach winzip`a nie ma nic o OpenCL, to dlatego że wersja jest evaluation czy mi w systemie brakuje jakiś bibliotek ?

0

Ściągnij jakieś dema OpenCL to się przekonasz czy ci sterowniki działają jak należy.

0

No nie wiem , zrobiłem aktualizacje sterowników etc. przez GPU Caps Viewer odpaliłem dema na OpenCL i wychodzi na to że wszystko jest ok i działa a winzip jak nie chciał tak OpenCL widzieć nie chce :( to chyba jednak jest problem evaluation , pÓÓÓÓki co się poddaję bo już mi tu kobieta jęczeć zaczyna że całą sobotę przy kompie siedzę.

hehe , swoją drogą 1 raz od 10 lat mam poważny ( ;) ) powód żeby naprawdę dobrą kartę graficzną kupić ;)

0

Wcale nie musisz kupować karty z high-endu, żeby się bawić w OpenCL. Najlepiej kupić średnią kartę z najnowszej generacji (chodzi o prawdziwą generację rdzenia, a nie generację marketingową, czyli zmiany nalepek na kartach). U AMD może być to Radeon HD 7750 lub wyższe modele. U nVidii jest mały problem, bo po 1. najnowsza generacja (Kepler) ma dość słabą wydajność w obliczeniach, a 2. mają tak pokręcone strategie nazywania, że nie wiadomo co jest czym i np są 3 wersje desktopowego GT640 (pod jedną nazwą), gdzie czipy mogą być różnych generacji.

Spróbuj pobawić się: http://www.luxrender.net/wiki/LuxMark Chyba da się w nim sprzęgnąć CPU + GPU, tak żeby razem liczyły jedną scenę.

0

Do robienia zakupów na takim poziomie jeszcze daleko bo ciągle kurcze pracy szukam :/ ale tak zmieniając temat.
Parę lat temu pojawiła się koncepcja Engine 3D atomowego ( chyba tak było to określane ) niedawno też widziałem filmik o takich silnikach ( nie opartych na trójkątach etc. tylko na samych punktach składających się na scenę ) pomysł jest bardzo ciekawy tylko że ciągle największym problemem jest nie tyle moc obliczeniowa co architektura akceleracji 3D oparta właśnie na trójkątach.

Tak mi przeszło przez myśl czy czasem OpenCL CUDA itd nie były by tu rozwiązaniem tego problemu, jeszcze nie na takim etapie rozwoju na jakim są teraz ale za parę lat może dzięki temu udało by się przeskoczyć ograniczenia związane z obecnymi akceleratorami 3D. To moje luźne przemyślenia bo z rynkiem gier zerwałem permanentnie lata temu i mogę już głupoty pisać ;).

0

Chodzi zapewne o voxele (volumetric pixel).

Z moich informacji wynika, że pierwsze poważniejsze próby silnika opartego na voxelach to voxlap: http://advsys.net/ken/voxlap.htm (od Kena Silvermana, czyli kolesia, który przed studiami klepnął silnik do Duke Nukem 3D). Jest nawet na tym oparta gierka FPS - Ace of Spades.

Największą zaletą voxeli jest to, że można łatwo zmieniać świat (tzn konstrukcja czy destrukcja), co jest dość trudne w systemach złożonych z siatek wielokątów.

0

Jak się nie mylę to właśnie o to chodzi , zmiana świata to jedno a dwa bardzo łatwo można wprowadzać realne obiekty do świata gry , wystarczy zrobić skan 3D jakiegoś obiektu i praktycznie od ręki wprowadzić go do świata gry ze 100% realnością. W każdym razie bardzo jestem ciekawy jak to się rozwinie.

0

Myślę, że generalnie łatwiej jest wygenerować jakieś tam obiekty proceduralnie niż je skanować. Np na pewno łatwiej jest proceduralnie wygenerować milion drzew niż je zeskanować :P Od dawna stosuje się też motion-capture w grach i ruchy postaci np w CoDzie są odtworzeniem żywych poruszających się ludzi (oczywiście mózgu nie przeportowali do gry i IQ postaci w CoDzie jest niestety równy 0).

0

Hehe , na pewno łatwiej, co do zalet i wad to można dyskutować w nieskończoność :)

0

Jeśli chodzi o WinZIPa to być może akceleracja OpenCL działa tylko na Radeonach: http://encode.ru/threads/361-WinZip?p=29450&viewfull=1#post29450 Nie jestem pewien tego, ale z drugiej strony na pewno każdy producent udostępnia własne rozszerzenia i być może właśnie AMD udostępniło jakieś kluczowe rozszerzenia, które nVidia w swojej implementacji OpenCL olała.

0

Albo tak jak w tym poście albo moja graficzna jest zbyt archaiczna CUDA w wersji 1.1 , OpenCL też 1.1.
Grami się dawno nie bawię więc do tej pory GeForce 9400 GT :D mi wystarczał , ważne że Fallout 3/NV mi działa , a Homeworld to teraz już na każdym kompie odpalę ;) No i od czasu do czasu CS ale ostatnio grałem w to w święta z bratem a wcześniej jakoś 2 lata temu chyba :D.

OpenCL i CUDA to jedyne dla mnie powody żeby w końcu jakąś kartę lepszą kupić ;)

Dodam że facet w poście zauważył coś ciekawego , przez OpenCL chyba w końcu zacznie powstawać oprogramowanie wykorzystujące wszystkie rdzenie procesorów bo do tej pory 99% aplikacji działa albo na jednym odpalając tylko co jakiś czas proces w innym rdzeniu albo skacze między wszystkimi po kolei , szczerze mówiąc ja pisząc aplikację też nie biorę pod uwagę z reguły faktu że na maszynie na której będzie działać jest więcej niż jeden CPU.

0

Albo tak jak w tym poście albo moja graficzna jest zbyt archaiczna CUDA w wersji 1.1 , OpenCL też 1.1.

Radeon HD 4770 z postu obsługuje chyba tylko OpenCL 1.0, a więc to jeszcze bardziej "archaiczna" wersja.

zacznie powstawać oprogramowanie wykorzystujące wszystkie rdzenie procesorów bo do tej pory 99% aplikacji działa albo na jednym odpalając tylko co jakiś czas proces w innym rdzeniu albo skacze między wszystkimi po kolei

Uuuu, kiepsko z twoją wiedzą niskopoziomową :] To skakanie jest spowodowane przez planistę (scheduler), który jest zaimplementowany w jądrze systemu.

0

zacznie powstawać oprogramowanie wykorzystujące wszystkie rdzenie procesorów bo do tej pory 99% aplikacji działa albo na jednym odpalając tylko co jakiś czas proces w innym rdzeniu albo skacze między wszystkimi po kolei
Uuuu, kiepsko z twoją wiedzą niskopoziomową :] To skakanie jest spowodowane przez planistę (scheduler), który jest zaimplementowany w jądrze systemu.

Moja wiedza niskopoziomowa kończy się na AMD k6 III 3D Now ;) potem to już czysta abstrakcja ;) ( albo szeroka gama mikro kontrolerów którymi uraczyła mnie ostatnia stałą praca :( )

Szczerze mówiąc dopiero teraz widzę że trzeba by się podszkolić kurcze :/ bo aż wstyd :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1