2012-10-16 4 views
0

Je viens de passer de CUDA 4 à 5 et j'ai installé la version 5.0 de CUDA sur Ubuntu 12.04, mais les performances ont considérablement baissé. Un noyau CUDA particulier qui prenait auparavant 1 seconde prend 6 secondes. Il semble que le nouveau pilote est le coupable puisque lorsque j'ai réinstallé l'ancienne performance du pilote 4 est retrouvé, mais je ne sais pas pourquoi. Quelqu'un at-il rencontré des problèmes similaires?Pilote CUDA 5.0 lent

+0

Les statistiques du compilateur pour ce noyau sont-elles sensiblement différentes entre CUDA 4.0 et CUDA 5.0 (nombre de registres, emplacements de déversements, etc.)? Ajoutez -Xptxas -v à votre ligne de commande nvcc pour voir les statistiques. Comment mesurez-vous le temps d'exécution du noyau? Un moyen simple de le mesurer consiste à exporter CUDA_PROFILE = 1 pour activer le profilage simple, puis inspecter le fichier journal résultant. Cela montrera également l'occupation du noyau. Voyez-vous des différences d'occupation entre les deux versions de CUDA? Quel GPU êtes-vous? – njuffa

+4

En général, cette question nécessite beaucoup plus d'informations pour être responsable. – harrism

Répondre

2

Toutes mes excuses pour prendre si longtemps pour revenir ..

Je trouve que le principal coupable était __threadfence(). Pas bien comprendre son utilisation que j'écrivais quelque chose comme

__threadfence() 
__syncthreads() 

Sur les nouveaux pilotes Cela prenait beaucoup de temps supplémentaire

Je travaille sur GTX680

Merci beaucoup Daniel