A tecnologia OpenCL (Open Computing Language), que estará presente no Mac OS X 10.6 Snow Leopard, foi proposta pela Apple para ser a primeira a ser analisada pelo novo “Compute Working Group”, a fim de ser homologada como um padrão da indústria.

A Apple defende a tecnologia OpenCL pois ela permite que qualquer aplicativo tenha acesso a todo o poder de processamento presente em placas de vídeo, por exemplo. Desta forma, elas se tornam capazes de processar um número bem maior de operações por segundo, conseguindo resultados visuais muito mais significativos — algo que a Apple caracterizou como “algo além do que simplesmente desenhar figuras”.
O Khronos Group, responsável pelo Compute Working Group, divulgou ontem um comunicado à imprensa que dá uma visão ampla das capacidades da tecnologia e também do novo Compute Working Group, que já tem como membros principais a Apple, a AMD (ATI) e NVIDIA. Segundo eles, a tecnologia OpenCL “é uma especificação com alta performance, que complementa soluções já existentes” e que pode ganhar espaço em dispositivos móveis no futuro.
[Via: MacRumors.]







Marcos Paulo
17/06/2008 às 21:25
Se isso deixar o OS X melhor do que já é, demorou!
Usando oMarco Prestes
17/06/2008 às 21:33
Hoje as ações da Apple dispararam, olhei agora, 181 dólares, e o resto do mundo down!
Usando ofisloko
17/06/2008 às 21:46
Vem em boa hora com o crescimento de GPGPU. Com OpenCL será possivel simular toda a fisica, por exemplo, direto na placa gráfica além de mostrar…
Na verdade todas as placas graficas atuais na verdade deixaram o pipeline normal e se tornaram processadores vetoriais de altissimo desempenho. Atualmente existem bibliotecas que tiram vantagem disso como o CUDA, no entanto até o momento não havia nenhuma iniciativa em conjunto para criar um padrão que funcionasse independentemente do hardware e do sistema operacional.
So uma coisa OpenCL não é para processamento de imagem é para processamento geral, não haverá nenhuma melhora visual digamos assim… Será uma melhora interna e real de processamento.
Ah desculpe ele pode servir para processamento de imagem no sentido de reconhecimento, por exemplo… mas não tem o objetivo de ajudar no core image ou opengl…
Usando oSilvio Sousa Cabral
17/06/2008 às 21:53
Na verdade, o uso de OpenCL em GPUs é apenas um dos exemplos da sua aplicação. Como você disse, essa tecnologia traz uma melhora interna e real de processamento em ambos os sentidos, o que já é um enorme aprimoramento “embaixo do capô” do Mac OS X.
CUDA é realmente uma tecnologia que tira vantagem do poder de processamento de placas de vídeo como você disse, mas pelo que foi exibido até agora OpenCL vai bem mais além que CUDA…

Usando oRoberto Lima
17/06/2008 às 21:53
GPGPU? q bicho eh esse?
Usando oFabiano Vassão
17/06/2008 às 22:07
E quando sai oficialmente?
Usando oCelso Dantas
17/06/2008 às 22:53
ano q vem. com o snow leopard.
uau.
o q serah q nao vai ser possivel criar com mais poder computacional. =]
Usando oansioso pra ver.
Thiago Duarte
17/06/2008 às 23:36
Sera a vai ter alto parecido PRA windows? E o snow sera q o Jobs vai lancar uma versao PRA pc pra desbancar de vez a m$????? Apple ta cheia de surpresas!!
Usando oCelso Dantas
17/06/2008 às 23:40
eu duvide-o-do.
Usando oo q ele ta qrendo fazer é padronizar como ele fez com o OpenGL q virou padrao da industria.
Marcos Paulo
18/06/2008 às 00:23
Acho que o Snow Leopard vai ser lançado e anunciado em Janeiro de 2009, na MacWorld Expo.
Usando ofisloko
18/06/2008 às 01:04
Bom ainda não temos tanta informação… Mas o press release da Khronos diz extensivamente que a biblioteca vai gerenciar o processamento nas GPUS em conjunto com multiplas CPUS.
Eu até acho que esse termo daqui a alguns anos cairá em desuso(opnião pessoal) já que GPUS atualmente são meros processadores vetoriais com saida gráfica(até o pipeline grafico é simulado dentro de um loop pelas unidades de processamento). Talvez serão chamados de co processador vetorial, ou processador SIMD ou stream… não sei…
Pelo que foi exibido não vi nada que o CUDA ainda não tem a não ser a proposta de um padrão para isso.
O CUDA é uma biblioteca que ajuda você a colocar codigo vetorial na sua GPU, e ele faz isso de uma forma bem transparente, por exemplo programando-se em C e simplesmente chamando as funções de calculo vetorial nos seus dados.
Vamos esperar o SIGGRAPH para mais informações.
No entanto o snow leopard apresentará uma coisa totalmente nova quanto ao gerenciamento de threads chamada de Grand Central se não me engano… e isso sim vai ser um grande boost para aplicações multi-core por permitir que um programador facilmente possa paralelizar seus softwares…
Para o pessoal com duvidas quanto ao que é GPGPU (General Processing GPU), pode-se resumir que é a utilização de GPU não mais para gerar gráficos mas sim para fazer calculos vetoriais com paralelismo extremo. Em muitas simulações fisicas (tanto reais quanto irreais) aparecem contas que devem ser realizadas em muitos dados de uma vez, e as gpus são boas para fazerem esse tipo de calculo, então porque não usar a propria GPU para isso? Em jogos isso aceleraria a fisica, permitindo mais objetos fisicos e com maior complexidade (e portanto resultando em efeitos mais realistas)…
Aquelas operações altivec(PPC) e SSE#(Intel) que vocês vem acelerando varios programas tem uma estrutura parecida com as das GPGPUS… no entanto enquanto que as operações vetoriais das CPUs aceitam operações com até 4 numeros de ponto flutuante, nas GPGPUS podem chegar a 300 numeros de ponto flutuante!!!!!
Mas não serve para tudo, se o seu codigo nao é vetorizavel então o ganho será pouco e a GPGPU nao vai ter seu pipeline totalmente preenchido e vai perder muito desempenho. Por isso que ainda usamos processadores normais ainda hehehehe :P…
Um if no meio do seu codigo, por exemplo, estragaria toda a estrutura vetorial… impossibilitando que ele fosse enviado para a GPU. (Foi só um exemplo, eu sei que existem formas de contornar esse problema com mascaras na memória)…
Afff escrevi muito… será que vai caber? será? será?
Usando ofisloko
18/06/2008 às 01:11
Ah sim, só ficou faltando falar que o CUDA já faz a coordenação de multi-GPU e multi-CPU…
Como disse o grande problema que vejo é que ele não é um padrão, e empresas como ATI e NVidia estavam criando suas soluções independentemente, não havendo um layer de compatibilidade com os hardwares de suas concorrentes.
Usando oPedro Estarque
18/06/2008 às 02:49
Boa fisloko. Pelo pouco q sei o problema com o CUDA é q vc tem q descobrir sozinho como escrever algo q rode rápido nas GPUs, munido apenas de bom senso e um compilador de C para um hardware abstraído e mal documentado. E como vc disse, um codigo propriamente escrito pode ser muito rapido, mas o inverso tb é verdade.
A minha expectativa é q eles joguem o LLVM nessa salada. Gerar bytecodes otimizados em tempo real para maquinas virtuais me parece a única solução para esse mundo de muitos cores.
Usando ofisloko
18/06/2008 às 03:20
Eh possivel sim… porque ai ele poderia gerar um codigo apropriado para as CPUS e GPUS ao mesmo tempo, e no runtime decidir o que é melhor para algum calculo… isso seria incrivel… Não cheguei a brincar com LLVM direito, mas parece muito promissor. E llvm ja esta no XCode 3.1 que vem no SDK do iphone… então pode vir mais coisa ai… são sinais de mudanças internas…
Parece que o OpenGL do Leopard utiliza algumas vantagens do llvm, mas não sei mais nada a respeito…
Quanto ao CUDA, ele realmente apresenta dificuldades e falta de documentação, apesar dele fazer o papel de falar com o hardware as vezes isso nao da muito certo… e ele só funciona na série 8000 se não me engano… Mas GPGPU é feita desde a série 5000 então o OpenCL poderá proporcionar aceleração mesmo para placas “”antigas”"…
Agora o mundo é multi processado com diferentes tipos de processadores(n*CPU+m*GPU)
quem diria que isso chegaria aos desktops domesticos hehehe…
Usando ofisloko
18/06/2008 às 03:30
so reparando: GPGPU General Purpose GPU hehehe
Usando oCelso
18/06/2008 às 08:33
boa explicacao fisloko!
Usando oEduardo Marques
18/06/2008 às 09:55
Esse DVD do Snow Leopard ficou bonito pacas!
Usando oGuilherme
18/06/2008 às 11:23
Agora só falta a Apple tomar vergonha na cara e tacar uma placa de vídeo de verdade nos futuros MacBooks e MacMinis. Não consigo admitir que um Mac mini Core 2 Duo rode The Sims 2 mais devagar que um Powerbook G4 12″ quase 3 anos mais velho (que nunca foi nenhum prodígio em termos de placa de vídeo).
Usando oBandeira
18/06/2008 às 15:25
@fisloko, vc sabe se as x3100 da intel vão ter suporte e vão ser boas para isso? Ou somente ATI e NVIDIA?
Usando ofisloko
18/06/2008 às 19:16
Bom, a x3100 tem um suporte razoavel de shaders programaveis, então é provavel que funcione… Mas não da para ter certeza hehehe…
Usando oBandeira
23/06/2008 às 02:15
@fisloko, procurei sobre. Disseram aqui http://www.gpgpu.org/forums/ que ela é horrível para isso. Mas o Haiku está desenvolvendo o suporte para ela.
http://svn.berlios.de/viewcvs/.....celerants/
Usando ohttp://www.haiku-os.org/