2011-05-10 4 views
4

Ma question concerne l'appel opencl clGetDeviceInfo avec l'argument CL_DEVICE_LOCAL_MEM_SIZE.information opencl device, quantité de mémoire locale

Renvoie-t-il la quantité par groupe de travail de la mémoire locale ou est-ce la quantité totale de mémoire disponible en local sur le périphérique? Ou autre chose?

Mon GPU est un Nvidia GeForce 9800 GT et la valeur retournée est 16K pour l'appel ci-dessus.

Merci d'avance!

+0

C'est par groupe de travail. –

Répondre

6

C'est pour unité de calcul. La mémoire locale est utilisée par tous les groupes de travail exécutés sur l'unité de calcul. Un seul groupe ne peut pas dépasser cette taille, car il doit être exécuté sur une seule unité de calcul. Par exemple, dans votre cas, si chaque groupe de travail nécessite 8 Ko de mémoire locale, au plus deux groupes de travail peuvent être planifiés en même temps sur chaque unité de calcul.

2

CL_DEVICE_LOCAL_MEM_SIZE est la quantité maximale de mémoire locale disponible par groupe de travail. Dans le contexte de votre carte NVIDIA, il s'agit de la quantité de mémoire partagée par multiprocesseur - dans ce cas 16 Ko qui peut être consommée par un ou plusieurs groupes de travail qui s'exécuteront sur le multiprocesseur.

Questions connexes