2017-02-01 3 views
1

J'essaie de comprendre où un flux peut m'aider à traiter plusieurs régions d'intérêt sur une image vidéo. Si vous utilisez des fonctions NPP qui supportent un flux, est-ce un cas où l'on lancerait autant de flux que de ROI? Peut-être même créer un thread CPU pour chaque flux? Ou est l'avantage d'utiliser un flux pour traiter toutes les ROI et éventuellement utiliser ce flux unique à partir de plusieurs threads dans le CPU?Avantage de l'utilisation d'un flux CUDA

Répondre

3

Dans CUDA, l'utilisation de flux permet généralement de mieux utiliser le GPU de deux manières. Premièrement, les copies de mémoire entre l'hôte et le périphérique peuvent être superposées par l'exécution du noyau si la copie et l'exécution se produisent dans des flux différents. Deuxièmement, les noyaux individuels s'exécutant dans des flux différents peuvent se chevaucher s'il y a suffisamment de ressources sur le GPU. En outre, la création d'un thread pour chaque ROI dépend de la comparaison entre l'utilisation du GPU et du CPU (le cas échéant). S'il y a beaucoup de traitement sur le CPU et que la CPU ne tient pas compte du calcul GPU, créer plus de threads aide.

Il existe d'autres détails (voir le documentation pour la version actuelle de CUDA) qui limitent le chevauchement des opérations dans les flux. Une copie de mémoire chevauche une exécution de noyau uniquement si la source de mémoire ou la destination dans la RAM est verrouillée par page. Ou, la synchronisation entre les flux se produit lorsque le thread hôte émet des commandes dans le flux par défaut. (Comme CUDA 7 chaque thread a son propre flux par défaut, le traitement des ROI dans différents threads aiderait à nouveau.)

Par conséquent, satisfaisant certaines conditions, il devrait améliorer les performances de votre algorithme si le traitement des ROI se produit dans différents flux vers le haut. à certaine limite (en fonction de la consommation de ressources des noyaux, le ratio de copies de mémoire et de calcul, etc ...)

+0

Merci! Très utile! – AeroClassics

+0

@AeroClassics, si c'est le cas, envisager d'approuver la réponse. – stuhlo