Salut dans un document sur le transfert de données dans opencl je lis Comme la taille des données que nous voulons envoyer à la mémoire de l'appareil augmente la bande passante va augmenter, mais je ne sais pas pourquoi. quelqu'un peut-il s'il vous plaît m'expliquer pourquoi la bande passante va augmenter?Pourquoi dans opencl A mesure que la taille des messages augmente, la bande passante augmente?
0
A
Répondre
1
Chaque fois qu'un noyau est lancé ou transféré vers/depuis le GPU, il y a un court délai de plusieurs microsecondes. Historiquement, cela a été plus important sur les GPU AMD que sur les GPU Nvidia. Par conséquent, il y a deux composants au temps qu'il faut pour envoyer des données: latency + X * Y B/s
où X
est le nombre d'octets et Y
est la bande passante théorique. Lorsque X
est petit, X * Y
n'est pas beaucoup plus grand que latency
. Lorsque X
devient grand, par ex. plusieurs mégaoctets, la composante latency
du temps total devient une si petite fraction du temps total qu'elle devient insignifiante.
Il y a des frais généraux partout donc vous devez copier des pièces aussi grandes que possible. La gestion de l'alimentation du processeur n'augmente pas l'horloge à moins que l'opération ne dure longtemps. –
La taille de la taille est octets. La dimension de la bande passante est octets par seconde. La relation entre les deux est linéaire. –
S'il vous plaît pouvez-vous nommer le papier? –