mcag... Quando eu era puto, havia umas placas gráficas excelentes.. Que eram as Voodoo da 3dFx.. Quando sairam as Voodoo 2, com tecnologia SLI, eu tinha um amigo que tinha um PC com 2 dessas ligadas em serie e aquilo era um monstro dos jogos..
Passado pouco tempo, eu acabei por comprar uma Nvidia Rive TNT2 Ultra. Que à altura da compra, nos jogos da altura talvez não fosse tão rápida como as 2 Voodoos2 do meu amigo a trabalhar em conjunto. Mas muito rapidamente à medida que os jogos foram saindo a situação dele eclipsou-se.. Tal como a 3dFx..
O problema... é que a Voodoo tinha um API proprio.. O Glide.. E durante algum tempo, jogos como o Quake e afins foram feitos especificamente para esse API. Mas entretanto apareceu algo muito melhor, um API high level, que permitia desenvolver jogos de uma forma standard independentemente da marca da grafica, quer fosse Nvidia, ATI, Matrox, ou o diabo a quatro.. Ao passo que quem desenvolvia para Glide apenas conseguia chegar aos proprietarios de uma Voodoo2.. E de um momento para o outro todos passaram a desenvolver para Direct 3D e Direct Draw, que entretanto conjuntamente com outros API's para som e controladores passaram a ser denominados DirectX..
Actualmente no que toda ao GPGPU, que é do que estamos a falar, existe um panorama semelhante. Temos a Nvidia com o seu CUDA, agora aparece a Toshiba e mais algumas marcas com o Quad Core HD com um API proprio, e existe a AMD/ATI com o Close To The Metal, se bem que no caso da AMD parece que eles vão abandonar a sua tecnologia propria em favor do OpenCL...
Para um programador de uma aplicação de edição de video isto é um pesadelo.. Tem que programar para PC's sem GPU, e depois tem que programar para CUDA, CTM, para o Quad Core HD, etc.. etc.. Ou, poderá simplesmente, programar para um API mais high level, independente do hardware, e que permite criar tarefas que exijam imenso poder computacional paralelo de uma forma standard quer estes venham a ser execurtados numa ATI, Nvidia, Quad Core HD, ou nos PC's mais pobrezinhos, para no CPU..
Por isso parece-me logico é que o vencedor final será uma API standard que esteja acima dos fabricantes, e não a tecnologia propria deste ou daquele..
Agora, se é o OpenCL ou não.. Isso já não sei. A Microsfot ainda não se mexeu nessa area.. Mas pode muito bem estar a preparar algo tipo DirectX nesta area para lançar com o Windows7.. Por outro lado o OpenCL já está ai, as especificações estão prontas, a Apple ira integra-lo no Snow Leopard e parece estar a apostar nisso, pelo que deverá ter bastante aceitação junto das software houses que desenvolvem programas na area da multimedia e do lado dos faricantes temos a Nvidia, que por certo não quererá perder as encomendas da Apple e por isso já disse que ia investir no OpenCL e temos a AMD que é um dos principais promotores, ao pondo de aparentemente ir abandonar o seu API proprio, em favor deste.. No que toca aos fabricantes de graficas falta saber apenas a posição da Intel, que ira lançar quem sabe em 2009, graficas de alto desempenho, e que faz parte do grupo apoiante do OpenCL, mas de uma forma discreta..