2013-06-10 4 views
3

La mémoire partagée est "rayée" dans les banques. Cela nous amène à toute la question des conflits bancaires, comme nous le savons tous.CUDA - détermine le nombre de banques dans la mémoire partagée

Question: Mais comment pouvez-vous déterminer comment les banques beaucoup (les "bandes") dans la mémoire partagée?

(En faisant le tour des forums "devtalk" de NVIDIA, il semble que la mémoire partagée par bloc soit "répartie" en 16 banques, mais comment le savons-nous? Les sujets suggérant cela datent de quelques années. est-il fixé sur tous NVIDIA cartes CUDA capables? y at-il un moyen de déterminer ce à partir de l'API d'exécution (je ne vois pas là, par exemple sous cudaDeviceProp)? est-il un moyen manuel pour déterminer au moment de l'exécution ?)

+2

[Cet article] (http://beyond3d.com/showthread.php?t=58047) indique que Fermi compte 32 banques. Avez-vous essayé de regarder dans le Guide de programmation CUDA? C'est là que l'affiche dit qu'il a eu cette information. –

Répondre

8

Comme le dit @RobertHarvey, il est documenté. Le guide de programmation indique 16 banques pour compute capability 1.x, et 32 ​​banques pour compute capability 2.x et 3.x. Vous pouvez ainsi prendre des décisions basées sur la capacité de calcul (version majeure) renvoyée dans les propriétés du périphérique.

Le lien général à la documentation cuda en ligne est contenu dans le info link pour la balise cuda.

Questions connexes