Quelle est la différence entre la bande passante et la vitesse de la mémoire GPU?

16

Je regardais les spécifications des cartes graphiques Nvidia série 10 et j'ai remarqué qu'elles avaient une vitesse et une bande passante mémoire spécifiées. La vitesse de la mémoire est exprimée en Gbps et la bande passante mémoire est exprimée en Go / sec. Pour moi, cela ressemble à une vitesse de mémoire divisée par 8 devrait être égale à la bande passante de la mémoire, car 8 bits constituent un octet et toutes les autres unités sont les mêmes, mais ce n'est pas le cas.

Je me demandais si quelqu'un pouvait m'expliquer ce qui indique réellement un taux de transfert réel de données. S'il y avait 2 GPU, l'un avec une vitesse de mémoire plus élevée (Gbps) et l'autre avec une bande passante de mémoire plus élevée (Go / sec), que l'on pourrait transférer plus de données dans un délai fixe (ou est-ce impossible et ces 2 choses sont en quelque sorte liées dans d'une certaine façon)?

Est-ce que j'ai râté quelque chose? Je n'arrive pas à trouver une bonne réponse n'importe où ... Qu'est-ce qui est réellement important ici? Et pourquoi les deux mesures sont-elles exprimées avec presque les mêmes unités (puisqu'un octet fait 8 bits, une mesure doit être égale à une autre, si vous convertissez les deux en bits ou en octets)?

Preuve ici et ici (cliquez sur "VOIR LES SPÉCIFICATIONS COMPLÈTES" dans la section SPÉCIFICATIONS).

BassGuitarPanda
la source

Réponses:

17

Il y a deux choses distinctes spécifiées ici. J'ai copié la spécification Nvidia de la page que vous avez liée pour mieux la montrer.

entrez la description de l'image ici

La première est la vitesse d'interface de ligne de données de la puce de mémoire de 8 Gbps qui fait partie de la spécification GDDR5, et la suivante est la vitesse de mémoire globale de 256 Go / s.

La mémoire GDDR5 a généralement une largeur de 32 bits, de sorte que les calculs (pour le 1070) se déroulent comme suit:

  • 8 gbps par ligne
  • 32 lignes par puce
  • 8 puces mémoire sur carte

La multiplication par ceci nous donne une vitesse de mémoire de 2048gbps, divisez cela par 8 et nous obtenons la bande passante de mémoire de 256GB / s.

Les 8 puces à 32 bits par puce correspondent également à la largeur de l'interface mémoire de 256 bits, vous pouvez donc facilement le faire (8 Gbit / s * 256 bits) / 8 bits par octet (ce qui annule parfaitement jusqu'à simplement "256") et trouver le même chiffre.

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


Si vous avez deux appareils qui ont le même Gbps mais des Go / s différents, cela vous indique qu'il a un nombre différent de puces dans la banque de mémoire. En règle générale, vous souhaitez choisir la bande passante de mémoire agrégée la plus élevée (Go / s), car il s'agit généralement de la bande passante mémoire réelle utile .

Un appareil avec 10 Gbit / s par broche mais seulement 4 puces aurait une bande passante totale de 160 Go / s ((10 * 32 * 4) divisé par 8), ce qui serait inférieur aux 8 Gbit / s sur 8 puces (256 Go / s) que je vous ai montré ci-dessus pour le 1070.

Mokubai
la source
Merci d'avoir répondu. Bonne explication facilement compréhensible avec des détails importants. Cela m'a beaucoup aidé :)
BassGuitarPanda
4
@BassGuitarPanda vous êtes les bienvenus. J'avoue que j'étais un peu déconcerté pour commencer aussi. Ils avaient deux valeurs apparemment contradictoires pour la bande passante mémoire, ce qui n'a de sens que lorsque j'ai réalisé que l'une était une bande passante par ligne de données. J'ai moi aussi appris quelque chose, alors merci pour une question claire et bien posée.
Mokubai