Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Première version du chapitre sur les tâches sérielles #4

Merged
merged 16 commits into from
Feb 21, 2025

Conversation

ofisette
Copy link
Collaborator

Le code pour l’exercice n’est pas encore là, mais ce sera le même que précédemment avec en plus un Makefile pour faciliter la compilation.

@ofisette ofisette requested a review from plstonge February 20, 2025 22:10
Copy link
Contributor

@plstonge plstonge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Première section : entre parenthèses, j'aurais mis "voir la figure ci-dessous"
  • Aujourd'hui, j'ai réalisé que le gestionnaire des tâches de Windows affichait un pourcentage sur la puissance totale de l'ordinateur. Ainsi, sur un système à 4 cœurs, un processus à 100% afficherait une valeur de 25%. Pour bien interpréter cette valeur, il faut connaître sa machine. Or, mon laptop a 2 cœurs "performants" multi-threads et 8 cœurs "économes"; je ne sais même pas comment interpréter un pourcentage dans le task manager. Je sais juste que si je dépasse 12.5% de manière continue, alors j'utilise plus d'un cœur.
    • Il existe aussi un "moniteur de ressources". Celui-là permet enfin de voir l'utilisation détaillée par processus et par cœur CPU. Sauf que je ne comprends pas comment ça fonctionne : je sélectionne un processus lourd, mais je n'ai pas l'impression que les graphiques s'ajustent pour ce processus seulement. Donc, je n'ai pas tendance à vouloir recommander cet outil.

Je vais continuer de lire la suite demain matin.

@ofisette
Copy link
Collaborator Author

J’ai corrigé la référence à la figure. Je n’ai pas Windows alors je te fais confiance si tu veux changer quelque chose au sujet de son gestionnaire de tâches.

@plstonge
Copy link
Contributor

plstonge commented Feb 21, 2025

Voilà, j'ai changé l'image du gestionnaire de tâches et j'ai rajouté du texte pour permettre son interprétation.

Je continue ma lecture...

@plstonge
Copy link
Contributor

Autre commentaires :

  • J'accroche un peu sur le compte def-alice dans les scripts. Je crains que les étudiants pensent pouvoir mettre leur nom d'usager avec def- devant, alors que c'est celui du parrain-marraine. Sur le Magic Castle, c'est def-sponsor00. Dans l'exemple, tu pourrais mettre def-prof.
  • Le chemin vers les exercices devrait passer par ~/cq-formation-cip201-main sur le Magic Castle. Ensuite, devrions-nous tout mettre dans un sous répertoire scripts, avec les scripts à la racine de ce répertoire et les codes dans des sous-répertoires? Je ne suis pas certain de ce qui est le mieux.
  • Il y a un certain risque à lancer un programme sur une login de Magic Castle. Certes, le calcul de Fibo devrait se faire avec une faible consommation de mémoire, mais cela risque quand même de surcharger le nœud frontal quand tout le monde va faire le test en même temps. Si bien que lancer top sera probablement impossible. Au mieux, on aura des mesures plus basses que 100% à cause de la surcharge du nœud.
    • Ça vaut peut-être la peine de demander d'utiliser salloc, sauf qu'il faut demander au moins 2 cœurs pour vraiment valider que le code est sériel. Et ensuite, il faut vérifier que le groupe est bien de retour sur login1, sinon on va manquer de ressources.

C'est tout. Le reste me semble très bien.

@ofisette
Copy link
Collaborator Author

J’ai tout corrigé. J’essayais d’éviter le nœud de calcul pour le suivi dans le premier exercise pour simplifier et introduire les choses progressivement, mais je n’ai pas tenu compte des limitations de MagicCastle. On y va pour salloc . Avec une limite de temps de 10 minutes, on s’assure que tout le monde sera bientôt de retour sur le nœud de connexion…

Pour les exercises : un exercise, un répertoire. Séparer les scripts ou les données complexifie l’exercice et on ne ferait pas ça non plus dans le cadre de nos recherches.

@plstonge
Copy link
Contributor

Je vais donc devoir réviser la structure d'une de mes branches.

Concernant la présente branche, je suppose qu'il manque encore les fichiers d'exercice avant de merger dans main?

@ofisette
Copy link
Collaborator Author

Oui, je dois ajouter les fichiers de l’exercise. Si je crée un répertoire à la racine du dépôt, par exemple exercices, sera-t-il accessible dans MagicCastle à $HOME/cq-formation-cip201/exercices ?

@plstonge
Copy link
Contributor

plstonge commented Feb 21, 2025

Magic Castle extrait un fichier Zip provenant de GitHub. Or, dans le Zip, GitHub ajoute le nom de la branche au bout du nom du dépôt. Ainsi, le répertoire serait :
$HOME/cq-formation-cip201-main/exercices

Et ça serait accessible par ce chemin dans MC.

@plstonge
Copy link
Contributor

Y aura-t-il un répertoire exercises pour des versions anglaises? À part de refaire les codes en double, on aurait un frein avec l'auto-complétion Bash : ça bloquerait à exerci.

@ofisette
Copy link
Collaborator Author

Je ne pensais pas traduire les noms de fichiers et de répertoire. Ça mènerait à beaucoup de duplication de code. Si je comprends, le répertoire $HOME/cq-formation-cip201-main contiendrait donc des répertoires images, fr, en. Si c’est le cas, il faudrait probablement déplacer tout ça dans un sous-répertoire doc ou documentation ou website.

@ofisette
Copy link
Collaborator Author

Est-ce qu’on peut simplifier la remarque sur l’analyse du programme python parallèle avec le Gestionnaire de tâches Windows ? À ce point, les participants n’ont pas vu OMP_NUM_THREADS ou les programmes multi-fils. Est-ce que ce serait suffisant de dire que l’utilisation de plus d’un cœur démontre que le programme est parallèle plutôt que sériel ?

@plstonge
Copy link
Contributor

Oui, on peut remplacer la dernière phrase par :

Si le programme avait été exécuté en mode sériel, on verrait un pourcentage d’environ 10%, soit 100% / 10 cœurs.

@ofisette
Copy link
Collaborator Author

Oui, c’est encore mieux de donner le pourcentage qui aurait été observé ! Je pense qu’on est prêt à fusionner.

@plstonge
Copy link
Contributor

  • Le titre de section "Exercise" devrait être "Exercice" avec un "c".
  • L'objectif devrait aussi avoir "exercices" dans la phrase.
  • Le chemin vers fibo devrait être ~/cq-formation-cip201-main/exercices/fibonacci-serial
  • Point 7: Si vous n'êtes pas déjà de retour sur ``login1``, terminez votre tâche .... Malgré cela, on risque d'avoir une variété de gens encore sur le nœud de calcul, d'autres sur login1 et d'autres sur monordi. Il faudra juste faire attention.

Je pense que ça devrait être bon après ces correctifs.

@ofisette
Copy link
Collaborator Author

C’est « exercise » en français, « exercice » en anglais. Le reste est appliqué. Pour les nœuds, il faudra gérer ça. Si c’est le bordel, on pourra penser à supprimer la distinction monordi vs login1, qui n’est importante que pour les exercises de CIP101 après tout.

@plstonge plstonge merged commit 663cede into main Feb 21, 2025
@plstonge plstonge deleted the ofisette-tâches-sérielles branch February 21, 2025 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants