A competição entre NVIDIA e ATI já vem de alguns anos. E não há uma vencedora clara até este momento. Da mesma forma que Windows versus Linux ou PC versus Mac, existem aqueles preferem o primeiro, outros o último.
Do ponto de vista dos desenvolvedores, porém, a NVIDIA tem sido sempre superior. Mais fácil de usar, drivers e SDK (Ferramentas de Desenvolvimento de Software) de qualidade, assim como a documentação. Aparentemente, eles investiram muito em desenvolvimento, promoção e suporte ao CUDA.
Desenvolver para placas da ATI é (ok, era) um pesadelo. Em 2009 a ATI silenciosamente introduziu duas mudanças em seus drivers que provocavam crash´s em aplicações antes perfeitamente funcionais e compatíveis com os drivers anteriores (se você estiver curioso: com o Catalyst 9.2 ou 9.3 eles mudaram os nomes dos pacotes de DLL´s, com o Catalyst 9.9 ou 9.10 eles provavelmente mudaram o formato da base binária de tal forma que qualquer aplicação compilada em versões anteriores dos drivers causavam crash no driver). E não existiu nenhuma documentação a respeito nas versões 1.x do ATI SDKs.
Entretanto, quando vamos para o campo da performance puramente matemática (isto é, não contando transações de memória), as placas da ATI são mais rápidas, em geral, de longe, que suas concorrentes da NVIDIA. Algumas vezes são muito, mas muito mais rápidas. Esse é o motivo pelo qual a Elcomsoft desenvolve aplicações aceleradas por GPU´s AMD Radeon já há mais de um ano.
Na próxima semana a Elcomsoft irá atualizar duas de suas aplicações: Elcomsoft Wireless Security Auditor e Elcomsoft iPhone Password Breaker. Entre outras coisas, eles irão suportar o uso simultâneo de placas ATI e NVIDIA no mesmo sistema. Apesar de esse não ser um cenário muito comum, há algumas questões de configuração que merecem ser respondidas.
Bem, a primeira resposta é: Sim, funciona! Para verificar, a Elcomsoft colocou uma NVIDIA GeForce GTX 295 e uma AMD Radeon HD5970 no mesmo PC e tentou fazer tal configuração funcionar. A imagem abaixo mostra o visual do PC antes dos cabos de alimentação conectados.
E, esta, depois.
Usando Windows 7, não existiram problemas para instalação de ambos os drivers, tudo funcionou perfeitamente. Foram usados o Catalyst 10.2 e Forceware 196.75 (que foi removido do website da NVIDIA por conta de problemas com o controle de velocidade das ventoinhas, mas é provável que a versão 196.21 também funcione bem).
Se você for tentar fazer esse tipo de configuração, é preciso alguns cuidados. Depois de você ter instalado os drivers você verá tanto a ATI quanto a NVIDIA no Gerenciador de Dispositivos do Windows. Entretanto, as aplicações da Elcomsoft somente mostrarão as placas de uma das fabricantes. Para corrigir isso é necessário conectar monitores em ambas as placas e extender a área de trabalho do Windows para os dois. Uma vez feito isso, as aplicações da Elcomsoft serão capazes de reconhecer todas as placas instaladas no sistema.
De fato, é possível usar ambas as placas até mesmo com o Windows XP, entretanto, não será tão fácil quanto no Windows 7. Além disso, a performance para placas ATI é pior no Windows XP. O aspecto engraçado é que o XP parece ser incapaz de inicializar (boot) com os dois drivers instalados, então é necessário desinstalar um dos drivers primeiro, reinicializar o sistema, e, então, instalar o outro driver (e não mais reinicializar o sistema).
Novamente, conectando o segundo monitor e todas as aplicações da Elcomsoft reconhecerão as placas de ambos os fabricantes. Se você tentar reinicializar o sistema com os dois drivers instalados, então haverá uma BSoD e será necessário iniciar em "Modo de Segurança", desinstalar um dos drivers, e iniciar novamente. Abaixo uma screenshot do EWSA rodando sob o XP x64:
A NVIDIA irá lançar suas novas GPU de codinome Fermi no próximo 26 de março. Não há, até o momento uma idéia do nível de performance que se pode esperar dessas novas placas. Outro aspecto a se considerar é que a Fermi não terá retrocompatibilidade com as gerações anteriores da GeForce no nível binário. Isso significa que muitas aplicações (incluindo as da Elcomsoft) não irão funcionar com GPU baseadas na arquitetura Fermi até que os desenvolvedores os atualizem para a nova arquitetura, testem, otimizem e verifiquem o código. Sendo assim, não é possível esperar EDPR or EWSA com suporte a Fermi antes do final de Abril.
Artigo traduzido, originalmente postado no Blog da Elcomsoft : ATI and NVIDIA: Making Friends out of Enemies
Ai é que tá, as Fermi então não terão retrocompatibilidade, isso pelo software ser feito em CUDA? Achei que por esse fato ele poderia rodar em qualquer gpu nvidia com suporte a cuda.
ResponderExcluirNão seria mais vantajoso fazer o software em OpenCL?
Edipo, ao que parece, a Fermi não oferecerá retrocompatibilidade para aplicações CUDA. Então, as aplicações que rodam CUDA hoje, precisarão ser adaptadas para rodar na Fermi. Para jogos não haverá problema algum, exceto, talvez, no caso de Physx.
ResponderExcluirAgora, o mais interessante desse história é ver de um desenvolvedor GPGPU que as placas da ATI são muito mais rápidas que as da NVIDIA, pois, até o momento, eu acreditava que as NVIDIA eram mais rápidas em GPGPU. Pelo que estou vendo é juntamente o contrário. Ainda resta ver como será a Fermi, que deve ser um monstro em termos de GPGPU.
Quanto ao OpenCL, na minha opinião, sou favorável aos padrões abertos, entretanto, este caso mostra que uma aplicação CUDA pode ser adaptada para rodar em uma GPU ATI, e isso é uma excelente notícia. Pode ver que a Elcomsoft trabalha muito em cima do CUDA, e agora está fazendo as aplicações rodarem nas ATI, o que eu achei sensacional.[]s.