2011-07-19 3 views
3

Est-ce que quelqu'un connaît des informations sur le cache L2 dans Fermi? J'ai entendu dire que c'est aussi lent que la mémoire globale, et l'utilisation de L2 est juste pour élargir la bande passante mémoire. Mais je ne trouve aucune source officielle pour le confirmer. Est-ce que quelqu'un a mesuré la latence de L2? Qu'en est-il de la taille, de la taille des lignes et d'autres paramètres?Fermi L2 cache hit latence?

En effet, comment les erreurs de lecture L2 affectent-elles les performances? Dans mon sens, L2 n'a de sens que dans les applications liées à la mémoire. N'hésitez pas à donner votre avis.

Merci

+0

Ce que vous décrivez sons comme quelqu'un confond la L2 générale sur Fermi avec le cache de texture. Ce dernier est un cache amplifiant la bande passante alors que le premier est un cache de réduction de latence plus traditionnel. – harrism

+0

Voir ma réponse [pour cette question SO] (http://stackoverflow.com/a/31495008/984260) qui peut fournir des conseils utiles. – user984260

Répondre

3

Ce thread in the nvidia a quelques mesures pour les caractéristiques de performance. Bien qu'il soit pas d'information officielle, et probablement pas 100% exacte, il donne au moins une indication du comportement, donc je pense qu'il pourrait être utile ici (mesures en clockcycles):

1020 non mis en cache (L1 activé, mais pas utilisé)

1020 non mis en cache (L1 désactivé)

365 L2 cache (L1 désactivé)

88 L1 cache (L1 activé et utilisé)

Un autre poste dans le même fil donne ces résultats:

1060 non-cache

248 L2

18 L1

0

Il n'est pas aussi lent que la mémoire globale. Je n'ai pas de source expliquant cela mais sur le guide de programmation CUDA, il est dit "Une demande de ligne de cache est traitée au débit du cache L1 ou L2 en cas de cache, ou au débit de la mémoire de l'appareil, sinon. " ils devraient donc être différents pour que cela ait un sens et pourquoi NVIDIA mettrait un cache avec la même vitesse de mémoire globale? Ce serait pire en moyenne à cause des erreurs de cache.

À propos de la latence Je ne sais pas. La taille du cache L2 est de 768 Ko, la taille de la ligne est de 128 octets. La section F4 du guide de programmation CUDA contient d'autres informations, notamment les sections F4.1 et F4.2. Le guide est disponible ici http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf

+0

Merci pour la réponse. Quoi qu'il en soit, toute idée de la latence serait appréciée! – Zk1001

Questions connexes