Un morceau de code qui prend bien plus d'une minute en ligne de commande a été fait en un rien de temps secondes dans NVIDIA Visual Profiler (en exécutant le même .exe). La question naturelle est donc de savoir pourquoi ? Y a-t-il un problème avec la ligne de commande, ou est-ce que Visual Profiler fait quelque chose de différent et n'exécute pas vraiment tout comme sur la ligne de commande ?
J'utilise CUBLAS, Thrust et cuRAND.
Par ailleurs, j'ai constaté très récemment un ralentissement notable du code compilé sur ma machine, même du vieux code qui s'exécutait rapidement auparavant, d'où mes soupçons.
Mise à jour :
- J'ai vérifié que le sortie calculée en ligne de commande et Visual Profiler est identique - c'est-à-dire que tout le code requis a été exécuté dans les deux cas.
- GPU-shark a indiqué que mon état de performance était inchangé à P0 quand je suis passé de la ligne de commande à Visual Profiler.
- Cependant, Utilisation du GPU a été signalé à 0.0% lorsqu'il est exécuté avec Visual Profiler mais est monté jusqu'à 98% en cas de fuite ligne de commande .
- De plus, loin Moins de mémoire est utilisée avec Visual Profiler . Lorsqu'il est exécuté en ligne de commande, le gestionnaire de tâches indique une utilisation de 650 à 700 Mo de mémoire (avec des pics au premier démarrage).
cudaFree(0)
appel). Dans Visual Profiler, ce chiffre descend à ~100MB.