2011-11-02 1 views
2

Je suis en train d'apprendre sur les optimisations CUDA. J'ai trouvé une présentation sur ce lien: Optimizing CUDA by Paulius Micikevicius.CUDA: performances de la mémoire, qu'est-ce que la bande passante mémoire globale?

Dans cette présentation, ils parlent de

OPTIMISER GLOBAL MÉMOIRE

BANDE

, disent-ils coalescent de mémoire globale améliorera la bande passante.

Ma question, Comment calculez-vous la bande passante mémoire globale. Quelqu'un peut-il m'expliquer avec un exemple de programme simple.

+1

http://stackoverflow.com/questions/7876006/how-to-calculate-the-achieved-bandwidth-of-a-cuda-kernel? – pQB

Répondre

7

La bande passante théorique peut être calculée à l'aide de la spécification matérielle. Par exemple, la NVIDIA GeForce GTX 280 utilise une RAM DDR avec une fréquence d'horloge de 1 107 MHz et une interface mémoire de 512 bits. L'utilisation de ces données objets, la bande passante de la mémoire théorique pic de la GeForce GTX 280 est 141,6 Go/s:

enter image description here

Dans ce calcul, la fréquence d'horloge de la mémoire est convertie pour Hz, multipliée par l'interface width (divisé par 8, pour convertir les bits en octets) et multiplié par 2 en raison du double débit de données . Enfin, ce produit est divisé par 109 pour convertir le résultat en Go/s (GBps).

La bande passante effective est calculée en chronométrant les activités de programme spécifiques et en connaissant comment les données sont accédées par le programme. Pour ce faire, utilisez cette équation:

bande passante effective = ((Br + Bw)/109)/heure

Ici, la bande passante effective est en unités de GBps, Br est le nombre d'octets lus par kernel, Bw est le nombre d'octets écrits par noyau, et le temps est donné en secondes.

Plus d'informations sont disponibles dans le guide des bonnes pratiques de CUDA.

+0

d'où vient le 106 ... – veda

+0

Je suis vraiment désolé. Je devrais utiliser la formule de Google ... C'est juste la conversion à Hz – Yappie

+0

Les expressions sur la bande passante de maximisation est habituellement moyenne "tandis que votre bande passante est moins que théorique votre performance de code est limitée au calcul". Votre objectif est en bande passante achive théorique ou à proximité – Yappie

Questions connexes