Quelle est la valeur maximale du nombre de bloc possible dans CUDA?
Théoriquement, vous pouvez avoir 65535 blocs par diamension de la grille, jusqu'à 65535 * 65535 * 65535.
Ma question est: Si vous appelez d'un noyau, comme ce kernel<<< BLOCKS,THREADS >>>()
(sans dim3 objets), quel est le nombre maximal disponible pour les BLOCS ?
Dans une application de la mienne, je l'ai mis à 192000 et semblait aller bien... Le problème est que le noyau que j'ai utilisé en modifie le contenu d'un tableau énorme, si bien que j'ai vérifié certaines parties du tableau et semble très bien, je ne peux pas être sûr que le noyau se comportait étrangement à d'autres parties.
Pour l'enregistrement j'ai un 2.1 GPU GTX 500 ti.
OriginalL'auteur STE | 2012-03-23
Vous devez vous connecter pour publier un commentaire.
À calculer la capacité 3.0 ou supérieur, vous pouvez avoir jusqu'à 2^32 - 1 blocs dans le x-dimension, et à la plupart des 65535 blocs dans le y et z dimensions. Voir Le Tableau H. 1. Support de la fonction pour Calculer la Capacité de la CUDA C Guide De Programmation De La Version 9.1.
Comme Pavan a souligné, si vous ne fournissez pas un dim3 pour la grille de configuration, vous devrez utiliser uniquement les x-dimension, d'où la par la dimension limite s'applique ici.
Je sais que vous pouvez utiliser jusqu'à que nombre de blocs par dimension, je l'ai écrit à ma question. La chose est, quand vous appelez un noyau de la façon dont je l'ai montré, quel est le nombre maximum de blocs? est-ce que 65535 65535^3?
Bon, Pavan merci! Savons-nous ce qui se passe si vous placez des blocs de plus que ce qui est disponible? Parce qu'il semble très bien fonctionner
êtes-vous d'attraper les erreurs ? cudaGetErrorString(cudaGetLastError()) après le lancement du noyau sera de retour Invalide "configuration de lancement" ou quelque chose du genre
OriginalL'auteur perreal
Dans le cas où quelqu'un les terres, ici, basé sur une recherche Google (comme je viens de le faire):
Nvidia changé la spécification depuis que cette question a été posée. Avec calcul de la capacité 3.0 et le plus récent, le x-Dimension d'une grille de fil blocs est autorisé à être jusqu'à 2'147'483'647 ou 2^31 - 1.
Voir la: Spécification Technique
OriginalL'auteur Marco
65535 dans une seule dimension. Voici la complète table
OriginalL'auteur jwdmsd
J'ai vérifié manuellement sur mon portable (MX130), le programme se bloque lors de l' #blocs > 678*1024+651. Chaque bloc avec 1 fil, l'Ajout d'un unique plus le bloc donne Erreur de segmentation. Kernel code n'a pas de réseau, structure linéaire.
OriginalL'auteur Varun