Aller au contenu

Messages recommandés

Posté

Bonsoir,

 

sur mon poste (ubuntu 18.04), j'ai toujours 2 versions de Siril; la première issue des ppa et la seconde, issue de git. Cette dernière se compile très bien mais je me rends compte qu'elle tourne que sur un seul proc alors que la version ppa utilise les 4 dispos (c'est visible sur le monitoring). Pourtant au lancement Siril (les 2 versions) dit bien "log: Calcul parallèle activé : Utilisation de 4 processeur(s).".

 

Qu'est ce que j'ai oublié de faire ?

 

j'ai vérifié, j'ai bien la libpthread...

 

Merci de votre aide.

 

Christian

Posté

SI au lancement le nombre est bon, c'est que le traitement que tu fais nécessite trop de mémoire pour tourner sur plusieurs processeurs. C'est une limitation de la nouvelle version qui sera corrigée à l'avenir, en attendant, si tu souhaites laisser siril dépasser de la RAM tu peux mettre un ratio de mémoire de 2 (ou moins, mais plus que 1) avec la commande setmem.

  • J'aime 1
Posté

c'est ce que je pensais, mais j'ai fait le test avec exactement la même séquence et sur les 2 je lance un alignement... Et comme on peut le voir sur les graphes ci-dessous, dans ma version compilée je n'utilise pas l'ensemble des coeurs. (1ère image) tandis que avec la version ppa, c'est clairement le cas (image 2)..

 

Pour les options de compile, je fais :

export CXXFLAGS="-m64 -Ofast -flto -march=native -funroll-loops"
export CFLAGS="-m64 -Ofast -flto -march=native -funroll-loops"
./autogen.sh
make -j4

Merci pour ton aide.

Capture du 2019-06-09 07-45-58.png

Capture du 2019-06-09 07-47-15.png

Posté

Compares tu le même moment du traitement  ? 

La conversion des images raw est probablement la seule étape encore monocoeur.

Posté

oui, oui vraiment le même moment que j'ai tracé => chargement d'une séquence  => alignement.

 

En effet, j'ai constaté la conversion était mono-proc.

Posté

Bon, je suis reparti de la base; pas d'option d'optimisation... nothing. Et ça ne change rien. J'ai donc regardé les libs linkées dans le binaire et toutes celles qui étaient dans mon /usr/local/lib (j'en compile pas mal moi même) je les ai dégagées une par une. Et j'ai fini par trouvé... C'était cfitsio qui ne devait pas bien être compilée et qui ne permet pas du coup le multithread.

 

J'ai remis tout d'équerre et là, ça tourne bien sur mes 4 procs et la différence est vraiment flagrante (j'ai divisé par 3 le temps de traitement).

 

Merci à vous deux pour votre aide et longue vie à Siril.

Posté

Si fitsio n'est pas compilé avec le support multi-thread il me semble qu'il y a un warning dans siril quelque part, perdu dans le tas de trucs affichés par contre... En tout cas on le détecte et on désactive le calcul parallèle dans ce cas.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.