Waar de f*ck heb je het over?

Er is gewoon zoveel mis met deze post dat ik haast niet weet waar ik moet beginnen.
Cuda is een door onwikkeling van Cg.
CUDA is een stukje GPU hard- en software die er voor zorgt dat de (NVIDIA) GPU in je systeem C code uit kan voeren. De C variant die voor CUDA gebruikt kan worden is een superset van C met daarin extra operaties voor onder andere synchronisatie en lezen en schrijven naar specifieke stukken geheugen.
Cg is een high level shader taal, die door een compiler naar DirectX shader(byte)code wordt omgezet. Deze machinecode kan op de GPU uitgevoerd worden. Ondanks het feit dat Cg een C-achtige structuur is heeft het verder niets met CUDA te maken.
Wat nV eigen idee is waar HSML al voor diende. Dus een standaard weer eens niet te volgen.
Ik neem aan dat je HLSL bedoelt, en Cg en HLSL zijn ongeveer gelijk ontwikkeld. Cg is in samenwerking met MS ontwikkeld, dus het is niet zomaar een afwijkende standaard.
Cuda is een nV shader onwikkel omgeving met centraal hun nV SM4.0 Compiler voor nV shaders only.
CUDA heeft helemaal niets met shaders te maken, shaders zijn stukken code die voor elke vertex of pixel worden uitgevoerd. Het is een specifiek onderdeel van de 3D graphics pipeline. CUDA staat volledig op zichzelf en kan C code parallel uitvoeren. Het heeft niets te maken met shaders, shadercode, SM4.0 of wat dan ook. Bovendien is het geen ontwikkelomgeving.
Niks nieuws.
CUDA is uniek omdat het de eerste mogelijkheid was om C (achtige) code uit te voeren op een GPU. Daarvoor had ATI een halfslachtige poging gedaan met het ASM based CTM, maar dit was niets vergeleken met de mogelijkheden die CUDA biedt. AMD, MS en Apple lopen wat dat betreft flink achter.
Maar niet zo onnodig gemarket naar de consumenten markt. En is ook meer gericht op GPGPU.
GPGPU is ook zeker op de lange termijn iets voor consumenten. Badaboom! en photoshop zijn nu misschien voorlopers, maar over vijf jaar zullen er meer dan genoeg programma's zijn die gebruik maken van de mogelijkheden van GPGPU. HEt wachten is vooral op een API die voor alle hardware beschikbaar is, en dat gaat DX11 brengen (en hopelijk OpenCL ook).
Daarnaast is CUDA nooit onnodig gemarket naar de consumentenmarkt. Het is voornamelijk een technologie die voor bedrijven interessant is. Het feit dat CUDA (omdat het vernieuwend is) zo vaak op websites als Tweakers te vinden is zegt meer over Tweakers en haar bezoekers (niet negatief bedoeld

) dan over waar het gemarket wordt. Heb jij ooit gewone consumenten over CUDA horen praten?
Daarvoor was het RenderMonkey.
Rendermonkey is een grafische shaderontwikkelomgeving van ATI en heeft niets met GPGPU te maken.
Cuda is niks bijzonder dan 'n compiler met backend en wat low level libaries.
En wat heb je verder nodig dan? Als je GPGPU applicaties wilt ontwikkelen heb je toch juist een compiler met backend en libraries nodig, of mis ik iets?
Dus hoe bijzonder is Cuda. Cuda is niet de voorganger en moeder van alles. Waar je door nV marketing sowat gebrainwashed wordt. Maar een nV zij sprong om weer eens een standaard die er al langer was te bypassen. HSML. Misschien ter glory van hun TWIMTBP afdeling.
Je moet duidelijk een keer je feiten op een rijtje krijgen. Zoals gezegd is CUDA de eerste mogelijkheid om GPGPU mogelijk te maken met C. ATI's CTM was er inderdaad eerder, maar is moeilijk te gebruiken en bijna niet gebruikt.
Er was bovendien geen standaard voor CUDA, want HLSL heeft helemaal niets met GPGPU te maken, en hoe je daar in hemelsnaam TWIMTBP bij weet te krijgen snap ik ook niet. Geeft een bedrijf als Shell ook maar iets om TWIMTBP? Nee! CUDA? Zeker.
Wat brengt dit mee extra werk voor dev's die twee shader paden moet gebruiken als HSML performance of support brak is op nV als de hardware weer eens met nadruk op Cg of cuda gemaakt wordt. De GF FX nV30 drama SM2.0 performace volgens standaard HSML.
Konden Devs er even een Cg/cuda path er in patchen.
Ik ga hier niet eens op in. Als je het bovenstaande leest zou je al in moeten zien dat er werkelijk niet een bewering uit deze zinnen klopt.