KaminariNoHime a écrit 3 commentaires

  • [^] # Re: Pendant ce temps

    Posté par  (courriel) . En réponse au journal De développeur à orchestrateur, comment l'IA a changé ma vie. Évalué à 2 (+2/-0).

    +1.

    En plus de ce que tu écris, j'ai tendance à jeter un oeil à la sortie en assembleur avec les intrinsics. On apprend parfois des trucs interessants, mais aussi on trouve de mauvais ajustements (c'est très rare mais le dernier en tête était qu'entre deux gros blocs de calculs type FMA, le compilo a introduit des not, du move et des and. Et en remplaçant le not et and par un andnot en assembleur inline, j'ai obtenu un +10%*).

    • : Je pense que le gain provient d'un meilleur usage des ports cpu (une réduction de la contentation des ports).
  • [^] # Re: Pendant ce temps

    Posté par  (courriel) . En réponse au journal De développeur à orchestrateur, comment l'IA a changé ma vie. Évalué à 2 (+2/-0).

    J'ai personnellement la même expérience avec Claude. Et clairement je rejoins un commentaire plus bas, il y a une nette corrélation (et une causalité évidente) entre l'adoration de l'IA et son niveau de compétence.

    Mais ma réponse à ce message est surtout pour exprimer ma surprise de savoir qu'il existe encore des boîtes dans lesquelles ce genre d'optimisation arcanique en AVX2 (tu précises pas si c'est à l'aide du compilateur, d'intrinsics ou directement via de l'assembleur (inlined ou lié)) est considéré comme utile et accepté d'être réalisé. Cool de savoir que ça existe encore.

  • [^] # Re: La méthode

    Posté par  (courriel) . En réponse au journal Barrières mémoire et buffers circulaires - Un résultat inattendu. Évalué à 5. Dernière modification le 04 octobre 2025 à 21:44.

    Le cas de "poursuite" existe réellement. J'ai un client qui doit souhaite détecter des déformations mécaniques de pièces mécaniques. Le système d'acquisition repose sur 6 caméras dont les sorties sont déposées dans un buffer circulaire pour un modèle producteur-consommateur. Et on arrive très rapidement à cette situation de remplissage rapide et dé-remplissage rapide.

    On s'attend à ce que les accès mémoires soient sources de bottleneck que ce soit en lecture et écriture. Avec du NUMA, il faut prêter attention à ce que les accès mémoires demandaient par un processeur soit associés avec "ses" barettes de RAM. Dans le cas contraire, il doit aller chercher l'information à l'autre processeur (cas d'une machine à deux sockets ou plus) ou de l'autre ensemble de cores (cas de chiplets ayant un ring pour communiquer) pour obtenir celle-ci, et donc un stall significatif.