Nvidia K20X vs GeForce Titan para aceleração GPGPU

10

Estou tentando entender a diferença entre essas duas placas gráficas para computação acadêmica, especificamente para o componente DGEMM.

Se olharmos para as estatísticas brutas, ambas têm o mesmo chip GK110, estatísticas comparáveis ​​em praticamente todas as categorias e, acredito, têm a mesma arquitetura principal. Antes de qualquer desconto, o K20X custa aproximadamente 4x o custo de um Titan. Do ponto de vista da eficiência, parece fazer muito sentido usar o Titan sobre o K20X.

Estou tendo dificuldades para entender a diferença aqui, alguém pode esclarecer a situação?

Como observação, estou pensando em comprar esses cartões para um servidor em rack e rodar em full tilt essencialmente até que eles morram; no entanto, não vejo a eficiência do uso de várias GPUs para um único trabalho ser particularmente importante.

Ophion
fonte

Respostas:

13

Existem algumas diferenças, no entanto, elas não são necessariamente de hardware ou especificações. Observe que essas são todas as informações que obtive em fóruns ou comunicados à imprensa; portanto, leve tudo isso com um pouco de sal.

O primeiro é a "escalabilidade e confiabilidade" ( fonte ). O K20 foi projetado para se sentar em um sistema de cluster e funcionar a todo vapor 24/7. O Titan é mais projetado para jogos, portanto, será executado nesse ciclo de trabalho, mas poderá sofrer problemas de vida útil a longo prazo se usado dessa maneira.

Os pilotos também são diferentes, mas não tenho certeza das principais diferenças. A diferença de foco no design das placas provavelmente leva a ganhos de desempenho relativamente pequenos para as placas Tesla nesta frente.

"Alguns recursos exclusivos da Tesla incluem:

  • NVIDIA GPUDirect RDMA para desempenho InfiniBand
  • Hyper-Q para MPI (o Hyper-Q para CUDA Streams é suportado na GeForce GTX TITAN)
  • Proteção ECC para todos os registros e memórias internas e externas
  • Ferramentas suportadas para gerenciamento de GPU e cluster, como Bright Computing, Ganglia. "( Fonte )

Isso aponta para o fato de que a principal diferença é sua escalabilidade. Se você deseja rodar em uma área de trabalho em seu escritório, seria difícil argumentar contra um Titan no K20 pela diferença de preço. Se você precisar do desempenho extra de vários K20, encontre um centro de HPC e ganhe tempo com seus servidores.

Editar:

Depois de analisar um pouco mais o ECC, estou atualizando esta resposta para apontar as implicações de tê-lo no K20 e não no Titan. A seguinte informação é uma paráfrase de informação encontrada aqui .

O ECC está verificando erros na DRAM e se registra na GPU. Erros leves são quando um bit é transferido / armazenado incorretamente. Quanto mais rápidos e próximos os circuitos, maior a probabilidade de um erro leve. Se você estiver resolvendo um conjunto de ODEs acoplados ou resolvendo um sistema linear, um único número desativado em um bit poderá alterar significativamente os resultados de uma maneira não reproduzível. A maioria dos RAMs e caches padrão na CPU são verificados por esses erros usando o ECC.

As GPUs, por outro lado, geralmente não possuem ECC, embora seu barramento de memória seja muito mais rápido do que os da CPU. Isso ocorre porque, se um pixel na tela estiver um pouco desativado para um quadro, a qualidade do programa não será reduzida. Esses erros também não se propagam. Portanto, muitos bens imobiliários (e custos) podem ser salvos pulando esse recurso. Essa complexidade extra provavelmente causa uma grande parte do custo extra da linha Tesla.

Godric Seer
fonte
3
Ótima resposta +1! É difícil acreditar que esses recursos sejam tão caros. Acho que a linha "Desenvolva com GeForce, Implante com Tesla" do site da Nvidia vinculado resume as questões importantes. Parece que a melhor solução, por enquanto, é comprar várias GeForces e executá-las com força até que elas deixem de fumar, por assim dizer.
Ophion
3
"Isso, no entanto, não os impediu de serem usados ​​em Oakridge." O Cray XK7 da OLCF, chamado "Titan", usa GPUs Tesla K20, não o GTX Titan. A NVidia diz que o GTX Titan tem "a tecnologia" do OLCF Titan, que é o mesmo vocabulário usado para dizer que um carro econômico tem "a tecnologia" de um carro de Fórmula 1. (Desempenho GTX Titan é muito bom, mas ele não tem ECC e não é usado em qualquer grandes instalações que eu estou ciente de.)
Jed Brown
11
Meu erro, eu interpretei mal o artigo. Vou atualizar a resposta para não ser enganosa.
quer
2

Na minha opinião, a diferença parece ser principalmente segmentação de mercado. Se você é um cientista, a NVidia deseja que você tenha medo de que seu artigo seja rejeitado porque você está usando uma GPGPU sem o mesmo erro de correção de RAM disponível no K20X. Da mesma forma, se você é uma corporação, pode querer pagar 4x se isso significa que é menos provável que seja processado por suspeita de que seus cálculos não sejam o mais corrigidos possível. Jogadores individuais ou GPGPU'ers amadores são vendidos Titan porque têm menos dinheiro e são mais difíceis de persuadir dessa maneira.

k20
fonte
2
Realizei apenas cálculos com o ECC. Você tem um bom artigo demonstrando as falhas de sistemas não ECC e pontos de interrupção lógicos onde é benéfico ter?
Ophion
Para aqueles que desejam o resumo executivo do excelente link da BenC: os erros de software que o ECC corrige são extremamente raros, e o artigo chega ao ponto de recomendar desativar o ECC no Tesla para aumentar a velocidade. Advertência: na verdade, isso não foi testado com GPUs de consumidor.
semi-extrínseco
0

Realmente depende do aplicativo que você executa. O GPUGRID.net roda em máquinas que não têm ECC ativado e está tudo bem. Os resultados são tão bons quanto em qualquer outra plataforma. A Acellera também vende hardware com placas GeForce e, em pouquíssimos casos, as GPUs falharam. GeForce é tudo que você precisa.

David
fonte