0Pricing
CUDA Academy · Leçon

Mesurer votre premier gain de vitesse

Comparez le GPU et le CPU sur la même tâche.

Mesurer votre premier gain de vitesse est une leçon CUDA Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CUDA Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CUDA Academy comprend 4 leçons au total.

Mesurer maintenant le gain

Votre noyau est correct ; la question intéressante est donc de savoir combien il est plus rapide que le CPU. La mesure transforme une supposition en valeur réelle. ⏱️

Chronométrer la référence CPU

Commencez par une référence équitable : chronométrez la même addition dans une simple boucle CPU. Vous avez besoin d’un élément de comparaison pour le GPU.

Ne pas mal utiliser l’horloge

Évitez de chronométrer autour d’un cudaMemcpy dont vous avez oublié d’attendre la fin. Le lancement est asynchrone, et les chronomètres naïfs peuvent donc afficher des valeurs absurdes.

Utiliser les événements CUDA

L’outil adapté est une paire d’objets cudaEvent. Ils enregistrent directement les horodatages du GPU sur le périphérique afin de mesurer précisément le temps d’exécution du noyau.

cudaEvent_t start, stop;
cudaEventCreate(&start);
cudaEventCreate(&stop);

Encadrer le noyau

Enregistrez start juste avant le lancement et l’arrêt juste après. Les événements sont placés dans la file du flux avec votre noyau.

cudaEventRecord(start);
vecAdd<<<blocks, threads>>>(d_A, d_B, d_C, n);
cudaEventRecord(stop);

Attendre, puis lire

Appelez cudaEventSynchronize sur l’arrêt afin que le CPU attende le GPU. Ce n’est qu’ensuite que le temps écoulé peut être lu.

cudaEventSynchronize(stop);
float ms = 0;
cudaEventElapsedTime(&ms, start, stop);

Effectuer une mise en route

Le tout premier lancement inclut des coûts de configuration initiaux. Effectuez un lancement de mise en route avant la mesure afin que ces coûts ne faussent pas votre valeur.

Faire la moyenne de plusieurs exécutions

Un seul échantillon est instable : mesurez donc le noyau plusieurs fois et calculez la moyenne. Des valeurs stables rendent vos affirmations sur l’accélération fiables.

Compter les copies

Soyez honnête sur ce que vous mesurez. Le temps du noyau seul paraît impressionnant, mais le gain réel doit aussi inclure les transferts PCIe.

Calculer l’accélération

L’accélération correspond simplement au temps CPU divisé par le temps GPU. Avec un petit tableau, le GPU peut même être plus lent une fois les copies prises en compte.

float speedup = cpu_ms / gpu_ms;

Les grands tableaux gagnent davantage

Le GPU donne le meilleur de lui-même lorsqu’il y a suffisamment de travail pour masquer le coût des transferts. Augmentez n et observez l’accélération progresser à mesure que le parallélisme devient dominant. 📈

Vérification rapide

Quel outil fournit une mesure précise du temps d’exécution d’un noyau GPU ?

Récapitulatif

Vous avez mesuré votre première accélération avec les événements CUDA : mise en route, encadrement du noyau, synchronisation, puis division du temps CPU par le temps GPU. Des problèmes plus grands, des gains plus importants. 🎉

Questions Fréquemment Posées

La leçon « Mesurer votre premier gain de vitesse » est-elle gratuite ?

Oui — le texte complet de « Mesurer votre premier gain de vitesse » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CUDA Academy, passe à CoddyKit PRO. Le cours CUDA Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mesurer votre premier gain de vitesse » ?

Comparez le GPU et le CPU sur la même tâche. Tu pratiques CUDA Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer CUDA Academy ?

Aucune expérience préalable n'est requise. CUDA Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Mesurer votre premier gain de vitesse » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon CUDA Academy ?

Oui. Chaque leçon CUDA Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Le noyau d’addition de vecteurs
  2. Câbler la partie hôte
  3. Vérifier le résultat sur le CPU
  4. Mesurer votre premier gain de vitesse
← Retour à CUDA Academy