Le Forum de l'Alliance Francophone

Nouvelles:

  • Projet du Mois FB: Primegrid

Auteur Sujet: PrimeGrid  (Lu 591389 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2600
  •   
Réponse #3150 le: 19 April 2024 à 08:13
OK donc à priori la rapidité de calcul et facteur chance. Soit. C'est noté :kookoo:.


Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3151 le: 23 April 2024 à 11:40
Pour ceux qui veulent optimiser a mort PG:

https://www.primegrid.com/forum_thread.php?id=10184#161176

Je resume;
1- désactiver l'hyper threading dans le BIOS pour ne laisser que des coeurs physiques dispo  :siflotte: :siflotte:
2- regarder la quantité de cache L3 de votre CPU sur chaque machine (cpu-z ou google)
3- regarder la quantité de cache utilisée par chaque projet/sous projet (FFT size) dans les pref PG
4- diviser la quantité de cache de votre CPU par la quantité de cache requise par le projet/sous-projet que vous avez choisi => vous obtenez le nb d'UT max calculables en // sur votre CPU
5- créez une profil de préférence PG pour cette machine et ce projet et appliquez le
6- recommencez pour chaque paire machine/projet different

Après plusieurs semaines d'essais divers et variés, je dois bien reconnaître qu'il y a un bug dans les explications ci-dessus.
En théorie, cela devrait marcher.

MAIS...

La théorie :

Ma cahce L3 est de 256 MB.
Or, Seventeen or Bust (SOB) doit consommer 33 Mega de cache par tâche.
256/33 = 7.75.
Donc en théorie, je devrais pouvoir faire tourner 7 tâches en parallèle de manière optimale.
Avec 126 threads (j'en garde deux pour gérer le GPU), je dois donc mettre 126/7 = 18 threads par tâche.

La réalité suite à mes essais :

Dès que je dépasse les 2 tâches simultanées au lieu de 7, tout ralentit très fortement : les temps de calcul doublent quasiment !
Ensuite, quand je fais tourner 2 tâches, que je mette 60 threads par tâche, 30 threads, 16 threads ou 12 threads par tâche, à très peu de choses près, il me faut 2 jours de calcul par tâche !
C'est complètement dingue !
Au final, je lance donc 2 tâches sur 12 threads chacune.
Cela fait autant de travail par jour que si je lançais les deux tâches sur 60 threads chacune (ou que si je lançais 7 tâches sur 18 threads chacune).
Et en prime, je lance NumberFields sur mes 100 threads restants, ce qui ne modifie pas mes temps de Calcul sur SOB.

En résumé :

Je n'ai pas réussi à obtenir plus de points par jour sur SOB quelle que soit la combinaison, à 20 000 points par jour près.
La combinaison optimale est 2 tâches sur 12 threads sur mon CPU.
Je fais ainsi environ 120 000 points par jour sur SOB.
En prime, je lance 100 threads sur NumberFields, ce qui ne change rien à mon score SOB et je fais 300 000 points par jour en plus sur ce deuxième projet.

Il aurait été dommage de lancer mes 7 tâches SOB en parallèle sur 18 threads chacune pour ne faire aussi que 120 000 points par jour sur SOB, mais 0 points sur NumberFields !

C'est pour cela que je passe des jours à chercher les combinaisons idéales.
Après tout ce travail, je peux maintenant laisser tourner quelques semaines ou mois  : tout est optimal !



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne JeromeC

  • CàA
  • Boinc'eur devant l'éternel
  • *****
  • Messages: 31363
  •   
Réponse #3152 le: 23 April 2024 à 12:02
On admettra que c'est quand même un projet casse-bonbons. Ou alors il faut fermer les yeux et accepter de sous-utiliser sa/ses config.

A quoi bon prendre la vie au sérieux, puisque de toute façon nous n’en sortirons pas vivants ? (Alphonse Allais)



Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3153 le: 23 April 2024 à 12:08
Oui, il est casse-bonbons.
Mais là, j'ai justement trouvé le moyen de le faire tourner sans sous-utiliser ma config.
Mais quel boulot !



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2600
  •   
Réponse #3154 le: 23 April 2024 à 12:24
C'est important de connaître le nombre de cache L3 par CPU physique (as-tu un seul CPU physique de 256MB de cache L3 et 128 cœurs HT désactivé donc :??:). Le fait que ça fonctionne avec deux tâches en parallèle et qu'ensuite cela ralentit est bizarre en effet ! Ça mériterait un petit post chez PG, tu ne dois pas être le seul à avoir ton matériel, il serait intéressant d'avoir quelqu'un d'autre avec ce CPU.


Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3155 le: 23 April 2024 à 14:41
Mon CPU est : AMD Ryzen™ Threadripper™ 3990X
C'est là que je suis allé voir le cache L3 : https://www.amd.com/fr/support/downloads/drivers.html/processors/ryzen-threadripper/ryzen-threadripper-3000-series/amd-ryzen-threadripper-3990x.html
Mais est-ce que ça a un rapport avec l'hyperthreading ?
Je n'ai fait aucune manip pour ne laisser que les CPUs physiques dans le BIOS.
J'avais déjà essayé par le passé, je n'avais pas réussi à faire cela !

En fait, c'est vrai : il me manque l'étape 1 de la manipulation en 6 étapes de zOU !

 :desole:



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2600
  •   
Réponse #3156 le: 23 April 2024 à 18:36
C'est important en effet.

Ton CPU est un 64 cœurs physiques et le CCD est de 8x 8 cœurs, donc tu as en réalité 8 CPU à 8 cœurs physiques, cela revient donc à 32MB de cache L3 par CPU (256MB total / 8CPU) [mon avis, à vérifier sur les Threadripper :??:]

Donc avec une app à 32MB de cache L3 (ex : SOB = 32768Ko = 32Mo), cela signifie une UT max par CPU, donc à fond :
-> 8 UT en parallèle
-> 8 threads par UT

Et donc HT désactivé ou 50% de CPU utilisé dans Boinc (+ script d'affinité CPU pour ne pas qu'il y ai de bougeotte).
« Modifié: 23 April 2024 à 18:40 par Maeda »



Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3157 le: 23 April 2024 à 19:57
J'ai essayé 8 threads par UT avec 7 UT.
Je suis aussi performant avec 2 UTs à 12 threads, c'est-à-dire que je calcule autant d'UTs par jour des deux manières !!!
Qui peut m'expliquer une telle différence entre la théorie et la réalité ?



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne [AF] Xenon

  • Boinc'eur Junior
  • **
  • Messages: 198
  •   
Réponse #3158 le: 24 April 2024 à 02:09
Mon CPU est : AMD Ryzen™ Threadripper™ 3990X
C'est là que je suis allé voir le cache L3 : https://www.amd.com/fr/support/downloads/drivers.html/processors/ryzen-threadripper/ryzen-threadripper-3000-series/amd-ryzen-threadripper-3990x.html
Mais est-ce que ça a un rapport avec l'hyperthreading ?
Je n'ai fait aucune manip pour ne laisser que les CPUs physiques dans le BIOS.
J'avais déjà essayé par le passé, je n'avais pas réussi à faire cela !

En fait, c'est vrai : il me manque l'étape 1 de la manipulation en 6 étapes de zOU !

 :desole:

L'Hyperthreading (HT) est la technologie utilisée par Intel.
Pour AMD son équivalent se nomme SMT (Simultaneous multithreading)
Pour Primegrid on parle de multithreading (MT) et non d'hyperthreading ou de SMT. Cela revient à faire calculer uniquement les cores physiques et non les cœurs logiques, d’où les conseils de désactiver dans le BIOS le HT ou le SMT.

Attention désactiver dans BOINC 50% des processeurs sur un processeur en HT ou SMT ne désactive pas forcement les cores logiques, par exemple pour un procésseur en 128 threads cela revient à utiliser 64 threads qui peuvent être 64 threads pour 64 cores  (1 thread par core) ou 64 threds pour 32 cores (donc en HT ou SMT 2 thread par core).



Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3159 le: 24 April 2024 à 08:57
Merci pour toutes vos explications.
Je ferai d'autres tests.
Si cela devait fonctionner, je vous tiendrai au courant.

 :jap:



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne toTOW

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 4539
  •   
    • FAH-Addict.net
    • E-mail
Réponse #3160 le: 26 April 2024 à 20:25
Mon CPU est : AMD Ryzen™ Threadripper™ 3990X
C'est là que je suis allé voir le cache L3 : https://www.amd.com/fr/support/downloads/drivers.html/processors/ryzen-threadripper/ryzen-threadripper-3000-series/amd-ryzen-threadripper-3990x.html
Mais est-ce que ça a un rapport avec l'hyperthreading ?
Je n'ai fait aucune manip pour ne laisser que les CPUs physiques dans le BIOS.
J'avais déjà essayé par le passé, je n'avais pas réussi à faire cela !

En fait, c'est vrai : il me manque l'étape 1 de la manipulation en 6 étapes de zOU !

 :desole:
Ton CPU est en réalité un assemblage de 4 CPUs plus petits (les CCD). Essaye en ne faisant tourner que 4 WU sur 32 threads en même temps (voire seulement 16 threads pour pas utiliser les cores logiques).

Et je te conseille aussi d'utiliser un outil (type Process Lasso) pour bloquer chaque unité sur un seul CCD pour éviter de devoir en permanence transférer le contenu du cache d'un CPU vers un autre et de perdre des cycles de calculs à faire ça

FAH-Addict, première source d'information francophone sur le projet Folding@Home.


Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3161 le: 26 April 2024 à 20:53
Ton CPU est en réalité un assemblage de 4 CPUs plus petits (les CCD). Essaye en ne faisant tourner que 4 WU sur 32 threads en même temps (voire seulement 16 threads pour pas utiliser les cores logiques).

J'ai déjà essayé tout cela  : ça ralentit les calculs !


Et je te conseille aussi d'utiliser un outil (type Process Lasso) pour bloquer chaque unité sur un seul CCD pour éviter de devoir en permanence transférer le contenu du cache d'un CPU vers un autre et de perdre des cycles de calculs à faire ça

Je suis sous Linux.

Merci à toi pour tes idées.



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2600
  •   
Réponse #3162 le: 27 April 2024 à 09:24
Pour Linux, j'ai ça en script d'affinité (je l'exécute à chaque boot via cron) :
#!/bin/bash
while : ; do
(pgrep _llr\|sllr2) | while read; do
taskset -a -pc 8-15,24-31 $REPLY
if read; then
taskset -a -pc 0-7,16-23 $REPLY
fi
done
sleep 50
done
Les chiffres des taskset sont à ajuster (pas plus de détails, il faut que je retrouve le thread sur PrimeGrid mais le deuxième taskset doit correspondre au premier CCD [j'en ai 2]). J'ai 32 threads (max cœurs logiques de mon CPU).


Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3163 le: 27 April 2024 à 11:17
Merci à vous, mais je dois bien reconnaître que tout ceci dépasse mes compétences.
Je ne pige franchement pas le contenu des lignes pour Linux !
Je procède empiriquement pour trouver une combinaison performante.
Le désavantage est que ça me prend parfois plusieurs jours pour faire les essais.
Surtout pour SOB, là, c'était le pire cas de figure.
L'avantage, c'est que je suis certain de trouver une combinaison qui fonctionne bien, car la pratique ne suit pas toujours la théorie.
Je vais laisser tourner comme cela pour le moment, car je vais avoir moins de temps pour faire des tests.

Cela explique aussi que j'ai un tel mal pour faire les raids, les sprints et tous ces trucs.
Une fois que j'ai passé des jours à trouver une combinaison entre projets qui fonctionne, je reste dessus quelques semaines, voire mois pour rentabiliser.



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2600
  •   
Réponse #3164 le: 27 April 2024 à 18:24
Note bien tes réglages une fois que les test sont concluants pour ne pas refaire ces (longs) tests :D.
Si tu veux te prendre le moins possible la tête (et que tu n'as pas de GPU qui tourne), coupe l'hyperthread dans le BIOS, ainsi pas besoin de script d'affinité et la théorie devrait être proche de la pratique sans faire trop de tests.


Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3165 le: 28 April 2024 à 10:16
Si, si, j'ai des GPUs qui tournent !
Et même deux sur la même machine.

Merci à vous pour votre aide !



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne Antares

  • Intel I7 12700 CG Zotac 4060TI CM Gigabite B760 I7 3.6 Ghz 12700K WC Be Quiet Pure Loop 2 ventilos SSD 1To Ram DDR4 32 go 3200
  • Méchant modo
  • Boinc'eur devant l'éternel
  • ******
  • Messages: 7288
  •   
    • E-mail
Réponse #3166 le: 11 May 2024 à 20:41
Ça veut dire quoi?
J'ai trouvé un truc?

"Chère chercheuse ou cher chercheur d'AP,

Nous vous félicitons ! Nos archives indiquent qu'un ordinateur enregistré par vos soins a trouvé une progression arithmétique unique de nombres premiers de longueur 20. Cet ordinateur est affecté au projet AP27. Comme les nombres premiers trouvés dans ce sous-projet ne sont pas assez grands pour être signalés dans la liste des 5000 premiers, votre séquence AP20 est visible immédiatement.

Unité de travail 1111354772 : 401228760432289081+336318668*23#*n pour n=0..19

Vous pouvez sélectionner la longueur minimale de l'AP pour laquelle vous souhaitez recevoir ces notifications dans vos préférences PrimeGrid.

Si vous avez des questions ou des préoccupations, n'hésitez pas à nous contacter et nous résoudrons certainement tous les problèmes.

Encore une fois, félicitations pour votre trouvaille ! Nous vous remercions de votre participation à PrimeGrid.

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées,
L'équipe PrimeGrid"

Traduit avec DeepL.com (version gratuite)

Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors le visage pâle réalisera que l'argent ne se mange pas.

Sitting Bull



Hors ligne [AF] Kalianthys

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 1291
  •   
    • Astrophotographe
Réponse #3167 le: 11 May 2024 à 20:46
Ca veut dire que tu a trouvé un AP20 ( très courant d'en trouver avec le matériel d'aujourd'hui).

Bravo.





Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3168 le: 11 May 2024 à 20:50
Pour être précis, si cela t'intéresse, tu as trouvé 20 nombres premiers entre lesquels il y a exactement le même écart.

Le plus petit est :
401228760432289081.
Vient ensuite :
401228760432289081+336318668*23#*1
Puis :
401228760432289081+336318668*23#*2
...
...
...
Le plus grand est :
401228760432289081+336318668*23#*19

23# est une quantité qui vaut le produit de tous les nombres premiers de 2 à 23, c'est-à-dire que :
23# = 2*3*5*7*11*13*17*19*23

 :kookoo:



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne Antares

  • Intel I7 12700 CG Zotac 4060TI CM Gigabite B760 I7 3.6 Ghz 12700K WC Be Quiet Pure Loop 2 ventilos SSD 1To Ram DDR4 32 go 3200
  • Méchant modo
  • Boinc'eur devant l'éternel
  • ******
  • Messages: 7288
  •   
    • E-mail
Réponse #3169 le: 12 May 2024 à 08:03
Trop compliqué pour mon cerveau qui n'est pas matheux... :cpopossib: :electric: :D

Laisser tourner sans chercher à comprendre...

Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors le visage pâle réalisera que l'argent ne se mange pas.

Sitting Bull



Hors ligne kasur

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3169
  •   
    • E-mail
Réponse #3170 le: 12 May 2024 à 12:27
Pour être précis, si cela t'intéresse, tu as trouvé 20 nombres premiers entre lesquels il y a exactement le même écart.

Le plus petit est :
401228760432289081.
Vient ensuite :
401228760432289081+336318668*23#*1
Puis :
401228760432289081+336318668*23#*2
...
...
...
Le plus grand est :
401228760432289081+336318668*23#*19

23# est une quantité qui vaut le produit de tous les nombres premiers de 2 à 23, c'est-à-dire que :
23# = 2*3*5*7*11*13*17*19*23

 :kookoo:

Toujours un plaisir de comprendre un peu ce qu'on fait  :jap:


et 194 SETI@home classic workunits (4 764 hours) :p


Hors ligne JeromeC

  • CàA
  • Boinc'eur devant l'éternel
  • *****
  • Messages: 31363
  •   
Réponse #3171 le: 12 May 2024 à 20:42
Dites les pros, en farfouillant sous linux sur le VPS OVH que j'utilise avec 4 threads AMD EPYC-Milan Processor [Family 25 Model 1 Stepping 1] (AMD EPYC-Milan (4) @ 2.295GHz) je découvre ceci

Caches (sum of all):     
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    2 MiB (4 instances)
  L3:                    128 MiB (4 instances)  :miam:

Est-ce que ça veut dire qu'au lieu de laisser une tâche 4t ça vaudrait le coup d'en faire 4 en parallèle ?

A quoi bon prendre la vie au sérieux, puisque de toute façon nous n’en sortirons pas vivants ? (Alphonse Allais)



Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2600
  •   
Réponse #3172 le: 12 May 2024 à 21:01
J'émets un gros doute sur le 128Mo de cache L3 pour un CPU ayant 4 threads, mais oui si tu veux optimiser en utilisant tout le cache L3, ça serait bien d'avoir 4 UT en parallèle, mais avec un thread et un processeur @2.3GHz, je doute que ce soit très rapide.


Hors ligne [AF>Amis des Lapins] Jean-Luc

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 3433
  •   
    • Le calcul partagé en atsronomie sous BOINC
    • E-mail
Réponse #3173 le: 12 May 2024 à 21:02
j'essaierais déjà avec deux tâches !



Rédacteur d'un article sur BOINC, adresse :
http://www.astrocaw.eu/?p=605
Créateur d'un site actif de recherche sur les suites aliquotes :
http://www.aliquotes.com/


Hors ligne JeromeC

  • CàA
  • Boinc'eur devant l'éternel
  • *****
  • Messages: 31363
  •   
Réponse #3174 le: 13 May 2024 à 09:30
C'est un serveur pro (VPS) donc j'imagine que le setup / type de CPU n'a pas grand chose à à voir avec une machine perso ?

D'aileurs j'ai probablement "un bout d'un CPU beaucoup plus gros" (genre 128 threads ou quoi) mais la commande linux que j'ai utilisé ne sait que voir "le grand tout" ? j'ai ptet qu'un ptit bout de cache alloué aussi, si jamais ils peuvent / savent faire cela ?

Je vais voir si j'essaye 2 à la fois, mais bon, il finit quand le pentathlon déjà ?

A quoi bon prendre la vie au sérieux, puisque de toute façon nous n’en sortirons pas vivants ? (Alphonse Allais)