sexta-feira, dezembro 14, 2012

Gráfico híbrido AMD Radeon - NVIDIA GeForce - Hybrid PhysX

Após muitos anos sem montar um PC, por saudosismo e uma certa emoção resolvi mexer novamente como presente de meu próprio aniversário que foi em outubro, eu iria montar um novo Frankenstein, a partir do que eu já possuía de meu anterior, um Opteron 180 socket939, suficiente mesmo hoje apesar de sofrer às vezes com sites flash, mas não para rodar jogos de última geração. Mas troca aqui, troca ali, só restaram do original o HD e o gravador bluray.

Posso ter dito alguma besteira técnica nesse "post", não foi a intenção. Estou descrevendo minha aventura nesse mundo "advanced GPU use" como iniciante ainda. :-)

Minha nova placa de vídeo, a potente AMD RADEON 7970, pensei num Crossfire ou SLI, mas o dinheiro acabou. E olhando alguns sites de upgrade, descobri que eu podia usar minha velha GeForce 9800GT em conjunto ( que estava nesse Opteron180, já com três anos aprox.) como placa auxilar de vídeo, como um coprocessador mas só para uma característica exclusiva da NVIDIA: o PhysX, após a aquisição da Ageia anos atrás, criadora dessa característica.

Instalei a Radeon 7970 como GPU principal e a 9800GT como secundária na minha mobo MSi 990FXA-GD80 com o processador AMD FX8150.
Eu havia comprado um cooler Corsair H40 para esfriar o FX8150, mas tive um problema, ele literalmente não coube no meu velho gabinete que habitava o meu Opteron. Explico melhor, ele é um cooler de água, num circuito fechado junto com um trocador de calor que fica junto de um ventilador em alguma das saídas de ar, e ele não cabia. Tentei usar o cooler que veio com o FX8150, mas o pouco uso em jogos, revelou-se subdimensionado para o calor exagerado gerado por ele sub uso pesado, chegando a 70oC. Resolvi então comprar um gabinete que fizesse jus a todo esse hardware recém comprado, um Corsair Obsidian 650D. Quando ele chegou, fiquei assustado com o tamanho dele, enooorme. E a caixa de papelão que o embalava, maior ainda.

Trocando o gabinete, e iniciando o Windows7, notei uma coisa estranha, ele estava reconhecendo 3.97GB dos 8GB presentes nele, fiz de tudo, entrei em fóruns, vi que muitos como eu tiveram o mesmo problema, as soluções apresentadas pelos ditos "entendidos" que nunca passaram por isso, configura aqui configura dali e nada... Resolvi reinstalar o Windows7, depois de 2h, o mesmo problema se apresentou...Fiquei alguns dias assim. Eu não possuía outros módulos DDR3 para testar, não testei um módulo só não sei por quê. Bom mas um belo dia, fui limpar os contatos dos módulos de memória, e liguei: pimba! 8GB novamente. As memórias são novas embora as tenha comprado para meu novo servidor VIA Nano X2 VE900 meses atrás, a placa-mãe MSi 990FXA-GD80 idem. Caiu alguma sujeira nos contatos, é a única explicação que posso imaginar. Essas memórias já voltaram pro servidor VIA e comprei esses dias dois módulos de 8GB DDR3 da Corsair Vengeance totalizando 16GB, a mobo suporta 32GB, mas se mau uso 8GB, 16 vai sobrar, 32GB? Exagero, 16GB já acho exagero...mas comprei.

Tentei instalar meu SO favorito, eComStation mais conhecido como OS/2 Warp e com muitas melhorias, suporte para hardware mais novo mas não para todos, esse rig que montei ficou entre os "ruins", não funcionou de primeira. Algum dia desses com HD extra vazio vou fazer testes de variações de instalação.

Voltando ao tema dessa postagem, o PhysX. Acionar o hybrid PhysX com uma placa AMD/ATi RADEON envolve alguns patches e gambis conhecidos por aficionados por mods para fazê-lo funcionar. Instala-se o driver AMD Radeon, depois a da NVIDIA rodei o patch do GenL o v1.05ff e criei a tela virtual paralela para ativar a Geforce. Comprei alguns jogos do steam que queria há muito tempo, os dois Batman: Arkham Asylum e Arkham City, ambos fazem um uso pesado desse recurso. O PhysX via hardware no primeiro, Asylum funfou de primeira, já o Arkham City não. O aplicativo Fluidmark tampouco fazia uso do recurso segundo MSI Afterburner.
Ontem 12-DEZ, descobri aqui na internet sobre o assunto que o problema eram alguns DLL instalados na área local de cada jogo do PhysX, o jogo invés de usar o original do PhysX patcheado instalado, estavam usando os deles e não ativavam o PhysX de hardware da 9800GT, usavam a CPU que ficava lenta. Aqui outro link que explica muito bem os passos.
O Fluidmark também tinha um, idem Arkham City, ahh, e o Unreal Tournament 3 que tenho há anos e instalei um addon PhysX dele logo que montei o HybridGPU e não funcionando desinstalei porque deixavam as fases de PhysX lentas. Ontem instalei o dito cujo novamente e funcionou muito bem após a remoção dos malditos DLL. O Fluidmark idem, agora o MSI Afterburner indica uso acima de 50% na Geforce 9800GT. E para meu alívio Arkham City também agora está usando o Hybrid PhysX

Li vários fóruns chamando isso de supérfluo, penso que se tiver, e um dispuser do hardware "sobrando", bota em uso. No caso minha 9800GT ficaria encostado ou usaria no mesmo Opteron remontado posteriormente, só me falta um HD e uma fonte.
Obviamente, o PhysX para o dia-a-dia não serve para nada, navegação na internet, MSWord, Skype...? Nem, só serve para aumentar o consumo de energia, o 9800GT vazio deve consumir uns 50W? Estou chutando...Só serve para jogos, e uma lista bem limitada faz uso dele. Como a NVIDIA não licencia o uso pela AMD ou S3 ou pior Matrox ( estou brincando esse último tem nicho restrito muito forte, eles nunca deram muita atenção para 3D para não incomodar as gigantes AMD-ATi ou NVIDIA) para manter uma "exclusividade".

Meu PC, como está montado consome 200-220W sem fazer nada, em jogo pula para 300-400W conforme o jogo ( leia-se sobrinho jogando Battlefield3 nessas férias e eu jogando Batman).
Alternativas para esse PhysX, existem, mas são incompatíveis: o Havok que está focalizando para dispositivos móveis, o OpenCL (cadê a AMD Stream?), o DirectCompute da M$ e o novo ENZO.
Assim prevendo uma futura rivalidade a NVIDIA investiu pesado desde o começo no desenvolvimento do CUDA e PhysX, apesar da AMD-ATi ter "re-inventado" o GPGPU ( uso de placa gráfica para cálculos matemáticos, originalmente um conceito desenvolvido pela SGI ( Silicon Graphics ). Ela acabou ficando para trás nessa disputa, eles investiram alguma coisa no AMD Stream, mas as páginas delas foram apagadas do site da AMD por alguma razão que desconheço.
E uma nuvem apareceu no horizonte do mundo GPGPU: a intel deve estar de olho há tempos e começa com esse novo hardware chamado Xeon Phi, um comparativo aqui. e no site da intel aqui.

A bem da verdade, tirando os gamers e o uso profissional, placas gráficas high-end possuem um público comprador pequeno, talvez muito mais para uso profissional, talvez por isso que eu não veja muita coisa por parte da AMD que devem estar investindo no FirePro e a NVIDIA no Tesla, que são para uso profissional de streamcomputing para cálculos avançados, como em arquitetura, engenharia civil, projeto mecânico, dinâmica dos fluidos ( estudos de turbulência ) e combustão e transmissão de calor, previsão do tempo, etc.


Só os recursos do NVIDIA CUDA ficam desativados de vez, não sei se há alguma solução via patch. Instalei o DevKit CUDA, mas nada funfou. Mas isso fica para outra vez, deixa eu me divertir nos dias que volto de cabeça cheia, ou por trabalho ou por causa do trânsito de SP.