« Vaja Ivolution: case de couro para MacBook Air iCar: Apple e Volkswagen juntas no desenvolvimento de um carro à la iPod? »

OpenCL poderá se tornar padrão da indústria

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.

Snow Leopard em Macs

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.]

Quem escreve?

Silvio Sousa Cabral

Silvio Sousa Cabral
Paulista de 16 anos, é estudante de Informática na ETE, em São Bernardo do Campo, e já cursou Web Design. Trabalha como estagiário na área de animações para a web em uma empresa de Tecnologia da Informação e é voluntário aos finais de semana. Possui paixão por Macs e iPods desde 2006, sendo também amante de música, cinema, design e tudo onde a plataforma Mac mostra o melhor de si. Seus maiores sonhos são ver sua mesa de trabalho cheia de iProducts e ir a uma Macworld Expo.

21 Comentários


  • Marcos Paulo

    Se isso deixar o OS X melhor do que já é, demorou!

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • Marco Prestes

    Hoje as ações da Apple dispararam, olhei agora, 181 dólares, e o resto do mundo down!

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • fisloko

    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 o Safari Safari 525.20 no Mac OS Mac OS X

  • Silvio Sousa Cabral

    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 o Safari Safari 526.12.2 no Mac OS Mac OS X

  • Roberto Lima

    GPGPU? q bicho eh esse?

    Usando o Mozilla Firefox Mozilla Firefox 3.0 no Mac OS Mac OS X

  • Fabiano Vassão

    E quando sai oficialmente?

    Usando o Mozilla Firefox Mozilla Firefox 2.0.0.14 no Mac OS Mac OS X

  • Celso Dantas

    ano q vem. com o snow leopard.
    uau.

    o q serah q nao vai ser possivel criar com mais poder computacional. =]
    ansioso pra ver.

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • Thiago Duarte

    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 o Safari Safari 419.3 no Mac OS Mac OS X

  • Celso Dantas

    eu duvide-o-do.
    o q ele ta qrendo fazer é padronizar como ele fez com o OpenGL q virou padrao da industria.

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • Marcos Paulo

    Acho que o Snow Leopard vai ser lançado e anunciado em Janeiro de 2009, na MacWorld Expo.

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • fisloko

    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 o Safari Safari 525.20 no Mac OS Mac OS X

  • fisloko

    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 o Safari Safari 525.20 no Mac OS Mac OS X

  • Pedro Estarque

    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 o Safari Safari 525.20 no Mac OS Mac OS X

  • fisloko

    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) :D quem diria que isso chegaria aos desktops domesticos hehehe…

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • fisloko

    so reparando: GPGPU General Purpose GPU hehehe

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • Celso

    boa explicacao fisloko!

    Usando o Safari Safari 525.17 no Mac OS Mac OS X

  • Eduardo Marques

    Esse DVD do Snow Leopard ficou bonito pacas!

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • Guilherme

    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 o Internet Explorer Internet Explorer 6.0 no Windows Windows XP

  • Bandeira

    @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 o Mozilla Firefox Mozilla Firefox 3.0 no Mac OS Mac OS X

  • fisloko

    Bom, a x3100 tem um suporte razoavel de shaders programaveis, então é provavel que funcione… Mas não da para ter certeza hehehe…

    Usando o Safari Safari 525.20 no Mac OS Mac OS X

  • Bandeira

    @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/
    http://www.haiku-os.org/

    Usando o Mozilla Firefox Mozilla Firefox 3.0 no Mac OS Mac OS X

Trackbacks

Trackback URL para este artigo:

http://macmagazine.com.br/blog/2008/06/17/opencl-podera-se-tornar-padrao-da-industria/trackback/

Deixe um Comentário!

[XHTML] Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

[?] Clique aqui para saber como anexar sua foto ao comentário!

Aviso: todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste weblog ou de seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste weblog reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação de seu autor (nome completo e endereço válido de email) também poderão ser excluídos.

« Vaja Ivolution: case de couro para MacBook Air iCar: Apple e Volkswagen juntas no desenvolvimento de um carro à la iPod? »

del.icio.us

Receba nossas novidades por email

Os artigos do BLOG.MACMAGAZINE são entregues diretamente na sua caixa de entrada!

Hospede seu site na (mt) Media Temple!

Technorati

FeedBurner

Leitores via feed RSS