Nie mam żadnych silnych uczuć co do CUDA kontra OpenCL; przypuszczalnie OpenCL to długoterminowa przyszłość, tylko dlatego, że jest otwartym standardem.
Ale dzisiejsze karty NVIDIA vs ATI dla GPGPU (nie wydajność grafiki, ale GPGPU), o których mam mocną opinię. Aby do tego doprowadzić, wskażę , że na aktualnej liście Top 500 dużych klastrów , NVIDIA prowadzi systemy AMD 4 do 1, a na gpgpu.org wyniki wyszukiwania (artykuły, linki do zasobów internetowych itp.) Dla NVIDIA wyniki liczebne dla AMD 6: 1.
Ogromną częścią tej różnicy jest ilość dostępnych informacji online. Sprawdź NVIDIA CUDA Zone i AMD GPGPU Developer Central . Ilość rzeczy dla początkujących programistów nie jest nawet bliska porównania. Na stronie NVIDIA znajdziesz tony dokumentów - i dodany kod - od osób prawdopodobnie pracujących nad problemami takimi jak Twój. Znajdziesz mnóstwo zajęć online, pochodzących od firmy NVIDIA i nie tylko, oraz bardzo przydatnych dokumentów, takich jak przewodnik po najlepszych praktykach dla programistów, itp. Dostępność bezpłatnych narzędzi programistycznych - profiler, cuda-gdb, itp. - w przeważającej mierze zmienia sposób NVIDIA.
(Redaktor: informacje w tym akapicie nie są już dokładne). Część różnicy dotyczy również sprzętu. Karty AMD mają lepsze specyfikacje pod względem szczytowych flopów, ale aby móc uzyskać znaczną ich część, musisz nie tylko rozbić swój problem na wiele całkowicie niezależnych procesorów strumieniowych, ale także każdy element pracy musi zostać wektoryzowany. Biorąc pod uwagę, że kod GPGPU jest wystarczająco trudny, ta dodatkowa złożoność architektoniczna wystarczy, aby wykonać lub zepsuć niektóre projekty.
Rezultatem tego wszystkiego jest ciągły wzrost społeczności użytkowników NVIDIA. Z trzech lub czterech grup, które znam, myślących o budowaniu klastrów GPU, żadna z nich nie rozważa poważnie kart AMD. A to będzie oznaczać jeszcze więcej grup piszących artykuły, wnoszących kod itp. Po stronie NVIDII.
Nie jestem sztyletem firmy NVIDIA; Chciałbym, żeby tak nie było i żeby istniały dwie (lub więcej!) Równie atrakcyjne platformy GPGPU. Konkurencja jest dobra. Być może AMD wkrótce przyspieszy swoją grę - a nadchodzące produkty fusion wyglądają bardzo atrakcyjnie. Ale dając komuś radę, które karty kupić dzisiaj i gdzie spędzić czas, wkładając teraz wysiłek, nie mogę z czystym sumieniem powiedzieć, że oba środowiska programistyczne są równie dobre.
Zredagowano, by dodać : Wydaje mi się, że powyższe jest trochę eliptyczne, jeśli chodzi o odpowiedź na pierwotne pytanie, więc pozwólcie, że wyjaśnię to nieco. Wydajność, jaką można uzyskać z części sprzętu, w idealnym świecie z dostępnym nieskończonym czasem zależy tylko od sprzętu bazowego i możliwości języka programowania; ale w rzeczywistości ilość wydajności, jaką można uzyskać w określonej ilości zainwestowanego czasu, jest również silnie uzależniona od narzędzi programistycznych, istniejących baz kodu społeczności (np. publicznie dostępnych bibliotek itp.). Wszystkie te rozważania silnie wskazują na firmę NVIDIA.
(Redaktor: informacje w tym akapicie nie są już dokładne). Jeśli chodzi o sprzęt, wymóg wektoryzacji w jednostkach SIMD w kartach AMD również sprawia, że osiągnięcie wydajności papieru jest jeszcze trudniejsze niż w przypadku sprzętu NVIDIA.