Skocz do zawartości
VICTORious

Nvidia Cuda

Rekomendowane odpowiedzi

http://www.developer.nvidia.com/object/cuda.html

 

Dobrze rozumiem? ma to np. przyspieszyć rendering? obliczenia MESowskie?

Pytanie: czy tyczy się to tylko gf serii 8?

CUDA to jest takie cos, co pozwala wykorzystywac GPU prawie jak normalny procesor - cos na kształt programowalnego procesora sygnałowego w twoim kompie :> Ma toto pewne ograniczenia - np trzeba puszczac programy w paczkach po 32 wątki (max to 128 wątków). Ale np w obliczeniach strumieniowych jest toto ok 200 (dwieście, dwa razy sto) razy szybsze na gtx od tego samego zadania na c2d bodajże 2 ghz.

 

Swoją drogą usmażyło mi toto kompa ;) (kilka dni liczenia na 'duzej' maszynie z podpisu, płyta sie przegrzała ;) )

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

(...) trzeba puszczac programy w paczkach po 32 wątki (...)

Nie rozumiem??? Fakt, ograniczeniem jest ilość na maksimum, ale minimum? Przecież nic nie stoi na przeszkodzie, aby puścić jeden "wątek", a 31 może sobie nic nie robić lub przetwarzać śmieci, prawda?

 

Co do czy tylko dla 8xxx, a właściwie dla każdej chyba karty DX10, to raczej tak, bo one dopiero posiadają zunifikowane jednostki. Poprzednie miały jednostki specjalizowane (do pikseli i werteksów).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie rozumiem??? Fakt, ograniczeniem jest ilość na maksimum, ale minimum? Przecież nic nie stoi na przeszkodzie, aby puścić jeden "wątek", a 31 może sobie nic nie robić lub przetwarzać śmieci, prawda?

 

Co do czy tylko dla 8xxx, a właściwie dla każdej chyba karty DX10, to raczej tak, bo one dopiero posiadają zunifikowane jednostki. Poprzednie miały jednostki specjalizowane (do pikseli i werteksów).

CUDA wymaga, aby puszczać mimimum 32 wątki które mają taki sam kod (tzn 32 sztuki tego samego procesu przetwarzania). Możesz oczywiście rzucić do jednego konkretne dane, a reszcie dać smieci, ale ni ma przebacz, 32 unified shaders będą zajęte.

 

CUDA działa tylko na 8xxx, ATI ma własne api tego typu a oba są poza zainteresowaniami DX10

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

CUDA wymaga, aby puszczać mimimum 32 wątki które mają taki sam kod (tzn 32 sztuki tego samego procesu przetwarzania). Możesz oczywiście rzucić do jednego konkretne dane, a reszcie dać smieci, ale ni ma przebacz, 32 unified shaders będą zajęte. (...)

Oj chyba czegoś nie zrozumiałeś :wink: . Nie ma podziału tak jak w poprzednich generacjach na jednostki od pikseli (obrabiające tylko 2D) oraz jednostki od werteksów (operujące na matrycach, przekształcenia 3D). Uniwersalne oznacza, że teraz masz 32 zunifikowane jednostki oznacza, że są one uniwersalne, mogą obrabiać raz to raz tamto, w zależności jak chcemy. Bzdurą jest, że wszystkie 32 muszą wykonywać jeden kod.

 

Chyba, że pomyliłeś coś :wink: , nie miałeś na myśli jednostek (chyli pojedynczych jednostek wykonawczych), a miałeś na myśli, że w jednym takcie zawsze przetwarzana jest określona ilość danych (na nich wykonywana jest jedna operacja). Ale to akurat żadna nowość bo tak się dzieje w większości specjalizowanych procesorów, a nawet operacji (bo nawet rozkazy MMX także to tak robią, wykonując od razu jedną operację na całej paczce, bez względu na to ile chcesz danych przetworzyć).

 

(...) CUDA działa tylko na 8xxx, ATI ma własne api tego typu a oba są poza zainteresowaniami DX10

Oficjalnie tak, jednak jeśli bazuje na specyfikacji DX10 (czyli nie ma nieudokumentowanych instrukcji, czy "nadbudówki" ponad standard, jak to np. było z DX9, gdzie nVidia wyszła daleko poza standard jeśli chodzi np. o ograniczenie długości kodu shaderów) to i na ATI powinno pójść :wink: .

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Oj chyba czegoś nie zrozumiałeś :wink: . Nie ma podziału tak jak w poprzednich generacjach na jednostki od pikseli (obrabiające tylko 2D) oraz jednostki od werteksów (operujące na matrycach, przekształcenia 3D).

no chyba jednak musza isc w "paczkach" - wynika to z ograniczen arch ukladu, jak i optymalnego jego wykorzystania, link

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

no chyba jednak musza isc w "paczkach" - wynika to z ograniczen arch ukladu, jak i optymalnego jego wykorzystania, link

A przeczytałeś dokładnie tamto? Dokładnie co wyżej napisałem, podobnie działa MMX. Robisz jedną operację nie na jednym rejestrze/komórce pamięci, tylko tą jedną operację na kilku rejestrach/kilku komórkach pamięci jednocześnie. To normalne działanie procesorów specjalizowanych, tak się je "przyspiesza", nic w tym dziwnego (po co robić jednostkę która obrabia obraz robiąc X raz tą samą operację, nie lepiej zwielokrotnić to i w jednym "takcie" zrobić tą operację Y razy, przez co cały proces jest szybszy - trwa Y razy krócej, bo X / Y).

 

Tak to działa, chcesz obrobić mniej danych... wolno ci, czy nie, bo z góry nałożone jest ograniczenie, że 32 i ani jednego mniej? Oczywiście, że nie, to bzdura, możesz obrabiać po jednym elemencie (to nawet pisze jak byk w tym twoim tekście, sam decydujesz ile "wątków" puścisz naraz).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...