Das dem nicht wirklich so ist beweist das umschwenken von AMD auf SIMDs. So toll OpenCL auch klingt, performance mäßig kann es meist nicht mit cuda implementationen mithalten (vgl OpenCL gegen CUDA auf derselben GPU). Außerdem ist CUDA viel angenehmer zu verwenden und soweit ich das beurteilen kann momentan deutlich populärer und ich denke das AMD diesem trend gegensteuern will/muss
Dir ist schon klar, das OpenCL relativ wenig mit der zugrunde liegenden Architektur zu tun hat oder? OpenCL kannst du ja sowohl für nVidia, AMD (GPU), AMD CPU, Intel CPU und IBM (Cell) verwenden, und jetzt überlege mal wie viele Gemeinsamkeiten die Architektur hat...
Du hast da pro Architektur halt deinen eigenen Laufzeitcompiler und gut ist...
Was die Aussage betrifft, dass OpenCL meistens nicht mit CUDA mithalten kann ist durchaus richtig, das liegt aber auch daran, dass die CUDA Programme eben perfekt auf die entsprechende nVidia Karte optimiert ist. Bei OpenCL wird meist nicht direkt auf eine Hardware-Architektur optimiert, da man dann den Vorteil der Portabilität verliert, was ja einer DER Vorteile von OpenCL ist. Wenn die Leute sich aber hin setzen, und auch OpenCL direkt auf eine Hardware optimieren, dann geben sich die Implementierungen auf nVidia Karten meist nicht viel. Da kann dann sogar mal OpenCL einen Tick schneller sein.
Und so mal ganz neben bei, was empfindest du denn an CUDA als viel angenehmer in der Verwendung? Also ich habe mit beidem gearbeitet, und muss sagen, die sind beide gleich "angenehm" zu verwenden, wobei mir persönlich OpenCL eher zusagt, da bei CUDA einem öfters passiert, das man die Karte abschießt durch einen Kernel und es gar NICHT MEKRT! dass die Karte im Nirvana hängt und irgendwelchen SCHEISS! baut. Das hat mich schon Stunden an Arbeit gekostet, weil ich nicht gemerkt hab, das die Karte spinnt, weil ein Kernel nicht richtig ausgeführt wurde, und nur ein Neustart geholfen hat....
Was stimmt ist, das CUDA noch! populärer ist, wobei sich das eher auf den wissenschaftlichen Bereich bezieht. Wenn man sich kommerzielle Unternehmen anschaut, dann steigen die so ziemlich alle auf OpenCL um, da man damit einfach nicht mehr 50% der Kunden aussperrt! CUDA hat über kurz oder lang nur noch im HPC Bereich eine Chance, wirklich gut sieht es da aber im Moment auch nicht aus, da die Leute merken, das OpenCL durchaus eine Alternative ist, mit der man unabhängiger wird von einem Hersteller.