Pular para o conteúdo principal

Teste sugere que o NVIDIA PhysX é programado para não apresentar boa performance em CPU

O fato de a API NVIDIA PhysX funcionar melhor quando está acelerada pela GPU é conhecido há um bom tempo, e, inclusive, este foi um dos motivos que levou a NVIDIA a comprar a tecnologia da Ageia. Entretanto, essa diferença brutal de performance entre Physx rodando em CPU e GPU (em GPU muitas vezes mais rápida) pode ser decorrente de algo previamente concebido pela NVIDIA.

NVIDIA PhysX



O website Real World Technologies promoveu uma análise do funcionamento do NVIDIA PhysX rodando em um processador Intel Core i7 920 operando a uma frequencia de 3.2GHz. Foi usado também o software Intel VTune para verificar a forma como o Physx usa os recursos da CPU.

Os resultados mostram-se, no mínimo, curiosos. Em primeiro lugar, verificou-se que o Physx não usa o recurso Intel Hyper-Threading, mesmo quando uma thread está atingindo mais de 90% de nível de utilização.

Outro aspecto interessante foi a constatação de muitas das DLLs do Physx, incluindo a PhysXCore.dll, só faz uso de instruções x87 no processamento de cálculos em ponto flutuante. A pergunta que fica é: qual o motivo de o Physx preferir usar as instruções x87 ao invés das instruções SSE2, que são muitas vezes mais rápidos nesse tipo de operação?

Na realidade, observou-se que as instruções SSE são usadas pelo NVIDIA Physx em poucas e insignificantes situações de carga de trabalho. No teste Dark Basic PhysX Soft Body Demo, por exemplo, o PhysXCore.dll executou 91% de suas operações de cálculos em ponto flutuante usando instruções x87.

O fato de a NVIDIA não usar as instruções SSE e optar pelas antiquadas e legadas instruções x87 certamente não é decorrência de falta de atualização do código, tendo em vista que o set de instruções SSE2 já estava presente na primeira CPU Intel Pentium 4 de 1.4Ghz de dez anos atrás.

Se a NVIDIA tivesse optado por usar instruções SSE2, a performance do Physx na execução de cálculos em precisão simples dobraria em relação ao observado atualmente. "Não há nenhuma razão técnica para o PhysX estar usando código x87, sobretudo pelo fato de que o Physx para console já usa as extensões AltiVec, que são muito similares às SSE", relata o Real World Technologies em sua análise.

Ainda segundo o site, a adaptação do Physx para passar a usar as instruções SSE2 não levaria mais do que um ou dois dias de trabalho, seguida de poucas semanas de testes de compatibilidade.

O site também considera que o fato de o Physx deliberadamente não usar as instruções SSE2 pode ter razões comerciais, pois, da forma como está programado, ele auxilia a NVIDIA a vender mais GPUs.

Comentários

Postagens mais visitadas deste blog

Teste / Análise notebook HP Pavilion DV4-2040BR: CPU Intel Core i3-330M

O HP DV4-2040BR é um notebook baseado na nova família de processadores móveis Intel Core i3. A CPU do  HP DV4-2040BR  é o Intel Core i3-330M , que dispõe de dois núcleos de processamento (Dual Core), cada um dos quais operando a 2,16 GHz. O notebook também é equipado com uma placa gráfica discreta (off-board) AMD ATI Mobility Radeon HD4550 . Veja também o teste dos notebooks Sony Vaio VPC-EB-17FB e do Sony Vaio VPC-EE23EB/WI , ambos com tela de 15,5".

Mais de 170 placas mãe são compatíveis com os AMD Phenom II X6

Há pouco mais de uma semana a AMD lançou seus novos processadores hexa-nucleares AMD Phenom II X6 1055T e 1090T , com preços iniciais de lançamento de US$199 para o 1055T e US$ 299 para o 1090T. Quase que simultaneamente, porém, a loja on-line Tigerdirect passou a oferecer descontos de US$ 50,00 para os dois modelos, vendendo-os à US$ 149,99 (1055T) e US$ 249,99 (1090T) . Ato contínuo, os preços na Europa começaram a ceder , tornando os AMD Phenom II X6 o caminho mais curto e acessível para quem pretende dispor de um sistema com seis núcleos de processamento.

Amazon vende Zotac GeForce GTX 480 por US$ 499,99

O tradicional site varejista on-line dos Estados Unidos, a Amazon  colocou a primeira GPU NVIDIA Fermi GTX480 a venda. Trata-se de um modelo da Zotac, e o seu preço é de US$ 499,99. Especificações da GTX480 NVIDIA GeForce GTX 480 GPU,  1536MB GDDR5, 384-bit memory bus,  Core Clock: 700 MHz, Shader Clock: 1401 MHz,  Memory Clock: 3696 MHz,  PCI Express 2.0 x16 (compatible with 1.1) DirectX 11 support, OpenGL 3.2, Windows XP/Vista/7 NVIDIA PhysX Technology, NVIDIA CUDA Technology with CUDA C/C++, DirectCompute 5.0 and OpenCL Support, NVIDIA 3D Vision Surround Ready, NVIDIA SLI ready, Nvidia PureVideo HD Technology Two dual-link DVI connectors, Dual-link HDCP-Capable, One mini-HDMI 1.3a connector ED 480p, HD 720p, HD 1080i, Full HD 1080p Model: ZT-40101-10P