Qual é a diferença entre largura de banda e velocidade da memória GPU?

16

Eu estava olhando as especificações das placas gráficas da série 10 da Nvidia e notei que elas têm velocidade e largura de banda de memória especificadas. A velocidade da memória é expressa em Gbps e a largura de banda da memória é expressa em GB / s. Para mim, parece que a velocidade da memória dividida por 8 deve ser igual à largura de banda da memória, pois 8 bits compõem um Byte e todas as outras unidades são iguais, mas esse não é o caso.

Fiquei me perguntando se alguém poderia me explicar, o que realmente indica uma taxa de transferência real de dados. Se houvesse 2 GPUs, uma com maior velocidade de memória (Gbps) e outra com maior largura de banda de memória (GB / s), qual delas poderia transferir mais dados em algum período fixo (ou isso é impossível e essas duas coisas estão de alguma forma ligadas em de alguma maneira)?

Estou faltando alguma coisa aqui? Não consigo encontrar uma boa resposta em lugar algum ... O que é realmente importante aqui? E por que as duas medidas são expressas com quase as mesmas unidades (como um Byte tem 8 bits, uma medida deve ser igual a outra, se você converter ambos em bits ou bytes)?

Evidências aqui e aqui (clique em "VER ESPECIFICAÇÕES COMPLETAS" na seção SPECS).

BassGuitarPanda
fonte

Respostas:

17

Há duas coisas separadas sendo especificadas aqui. Copiei a especificação Nvidia da página que você vinculou para mostrá-la melhor.

insira a descrição da imagem aqui

Um é a velocidade da interface da linha de dados do chip de memória de 8gbps, que faz parte da especificação GDDR5, e o próximo é a velocidade de memória agregada de 256GB / s.

A memória GDDR5 geralmente possui 32 bits de largura, portanto a matemática (para o 1070) é a seguinte:

  • 8 gbps por linha
  • 32 linhas por chip
  • 8 chips de memória no cartão

Multiplicando isso, obtemos uma velocidade de memória de 2048gbps, divida-a por 8 e obtemos a largura de banda de 256GB / s.

Os 8 chips de 32 bits por chip também correspondem à largura da interface de memória de 256 bits, para que você possa fazer facilmente (8 gbps * 256 bits) / 8 bits por byte (que cancela ordenadamente para simplesmente "256") e venha com a mesma figura.

Para os 1080: 10gbps * 256b / 8 = 320GB / s
Para os 1050: 7gbps * 128b / 8 = 112GB / s


Se você tiver dois dispositivos com os mesmos gbps, mas diferentes GB / s, isso indica que ele possui um número diferente de chips no banco de memória. Normalmente, você deseja escolher a maior largura de banda de memória agregada (GB / s), pois essa geralmente é a largura de banda de memória útil real .

Um dispositivo com 10gbps por pino, mas apenas 4 chips teriam uma largura de banda total de 160GB / s ((10 * 32 * 4) dividida por 8), que seria menor que os 8gbps em 8 chips (256GB / s) que eu mostrei acima para o 1070.

Mokubai
fonte
Obrigado por responder. Boa explicação facilmente compreensível, com detalhes importantes. Isso me ajudou muito :)
BassGuitarPanda
4
@BassGuitarPanda, você é muito bem-vindo. Eu admito que fiquei um pouco confuso, para começar também. Eles tinham dois valores aparentemente contraditórios para a largura de banda da memória, que só faziam sentido quando eu percebi que um era um número de largura de banda por linha de dados. Também aprendi algo, então, obrigado por uma pergunta clara e bem feita.
Mokubai