Como comparar adequadamente entre processadores AMD Stream e núcleos NVIDIA CUDA


Melhor resposta

A AMD colocou mais peso no paralelismo em nível de thread. Ele suporta 40 threads em andamento por pipeline de GPU.

A Nvidia se concentrou em melhor desempenho de cache e comunicação de thread-thread. Por exemplo, você pode enviar dados de pipeline-1 para pipeline-2 diretamente em 1 ciclo usando a instrução warp shuffle. Se você deseja enviar dados do pipeline-1 para o pipeline-1024, você precisa usar o cache / memória compartilhada, que também é mais rápido do que sua contraparte Amd.

Para fazer um benchmark justo, eu

  • aumente o número de itens de trabalho enviados para a GPU AMD para que eles preencham totalmente seus pipelines
  • otimize com warp shuffles etc para Nvidia.

Para um comparação direta de hardware, todas as séries de GPUs devem ser consideradas e seria uma comparação muito complexa com muitas coisas no papel. A melhor maneira de saber o desempenho é o benchmarking.

Por exemplo, se houver um benchmark de simulação de galáxia N-body, eu teria vários threads por massa no AMD e 1 thread por massa na Nvidia. Então, eu otimizaria ambos usando “tiling” na memória compartilhada rápida. Mas na Nvidia, eu adicionaria uma segunda camada de “tiling” usando warp shuffles. Warp shuffles compartilham efetivamente o armazenamento de registros com pipelines vizinhos, de forma que a dependência da memória diminui e o desempenho aumenta. Mas é apenas CUDA. O OpenCL não depende da plataforma, negociando algum potencial de ganho de desempenho.

Resposta

A AMD atualmente vende processadores com algo de 2 a 64 núcleos de CPU. Aqui está uma lista de diferentes linhas de produtos e séries de CPU / APU da AMD (APUs são o que a AMD chama de suas CPUs com gráficos integrados) e sua contagem de núcleos correspondente.

Observe que cada uma dessas linhas de produtos contém vários diferentes gerações e modelos específicos ou “SKUs” (unidades de manutenção de estoque) de CPU, então, por exemplo, um Ryzen 7 1700 é mais lento que um Ryzen 7 3700X, embora ambos sejam CPUs Ryzen 7 de 8 núcleos:

Série A (APUs de baixa potência construídas em arquiteturas “bulldozer” desatualizadas e ineficientes. Normalmente não vale a pena comprar):

  • A4 – 2 núcleos
  • A6 – 2 núcleos
  • A8 – 4 núcleos
  • A9 – 2 núcleos
  • A10 – 4 núcleos
  • A12 – 4 núcleos

Série Athlon X (como a série A, mas sem os gráficos. Não compre.)

  • Athlon X2 – 2 núcleos
  • Athlon X4 – 4 núcleos

FX-Series (CPUs “bulldozer” semelhantes à A-series, mas sem gráficos integrados e um pouco mais rápido. Difícil de resfriar o suficiente. Normalmente não vale a pena comprar )

  • FX 4xxx – 4 núcleos
  • FX 6xxx – 6 núcleos
  • FX 8xxx – 8 núcleos
  • FX 9xxx – 8 núcleos

Athlon série G (APUs baratos construídos em arquiteturas “Zen” modernas com bons gráficos integrados. Uma boa opção de baixo custo, já que cada um dos núcleos é muito mais rápido do que dois núcleos de escavadeira)

  • (todas as variantes) – 2 núcleos

Série Ryzen (CPUs “Zen” de gama média a avançada, com desempenho multicore alto. Também inclui algumas APUs com gráficos integrados poderosos – aqueles com um nome de modelo terminado em “G”)

  • Ryzen 3 – 4 núcleos
  • Ryzen 5 – 6 núcleos (4 núcleos para APUs)
  • Ryzen 7 – 8 núcleos
  • Ryzen 9 – 12 ou 16 núcleos
  • Ryzen Threadripper – 8 a 64 núcleos (destinado a PCs de estação de trabalho topo de linha)

Série EPYC (servidores e HPC / supercomputador CPUs “Zen”. Pode ser usado em desktops, mas não destinado a isso)

  • EPYC – 8 a 64 núcleos

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *