Nicolas Boulay a écrit 16043 commentaires

  • [^] # Re: Autre expérience

    Posté par  (site web personnel) . En réponse au journal Le changement de password pue du rond. Évalué à 10.

    oui mais c'est 100% la faute du management/de l'IT, si l'infrastructure ne tient pas compte des besoins de ses utilisateurs !

    "La première sécurité est la liberté"

  • [^] # Re: Ecrire du code avec des flottants

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Pour le processeur, c'est le "Flush to zero":

    C'est uniquement ça ? Il me semblait que cela pouvait aller bien plus loin. Par exemple, les règles d'arrondies un peu assouplie (moins/pas de garde bit).

    A moins que le mode dont tu parles, c'est le fonctionnement sur x86 ?

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 1.

    Ne confonds pas la norme et la toutouille des compilos.

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    C'est exactement ça :)

    (a+b)-a
    se comprend
    ((a+b) & 0xFFFFFFFF - a) & 0xFFFFFFFF

    Or c'est différent de b & 0xFFFFFFFF selon la valeur de a et de b.

    "La première sécurité est la liberté"

  • [^] # Re: moué

    Posté par  (site web personnel) . En réponse au journal Avec Free, tout est possible !. Évalué à 8.

    Vivement les class action, il y a des proces qui manquent !

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Oui mais c'est en violation de la spec du C.

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    icc est connu pour inclure --fast-math dans -o2, ce que ne ce permet pas gcc.

    Sinon, on semble dire la même chose. Quand il y a execution en parrallèle on ne peut plus vraiment parler d'ordre. Le flot d'instruction est déterminé par leur liaison par les registres et par les accès à la mémoire.

    "La première sécurité est la liberté"

  • [^] # Re: Calcul par intervalle

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Si on fournis au codeur un moyen d'estimer la précision, et/ou d'optimiser en lui garantissant la précision qu'il demande, je ne pense pas qu'il nous en veulent beaucoup...

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Il pourrait mais il ne le fait pas.

    a+b+c+d équivaux à (((a+b)+c)+d)

    C'est à vérifier mais je suis sur à 90% que le compilo C ne doit pas y toucher.

    Car a+b+c+d veut en fait dire :
    trunc<32>(trunc<32>(trunc<32>(a+b)+c)+d)

    Ce qui est non équivalent à :
    trunc<32>(trunc<32>(a+b)+trunc<32>(c+d))

    "La première sécurité est la liberté"

  • [^] # Re: plop again

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 1.

    "Mais en réalité, les mêmes instructions SSE servent aussi au calcul entier. "

    euh, non il me semble pas.

    Le SSE2 à ajouter les doubles. SSE3 a définit des opérations binaire sur le vecteurs 128 bits. Je ne pense pas qu'il y est des opérations entières.

    Le SSE2 introduit aussi des opérations flottantes scalaires.

    "La première sécurité est la liberté"

  • [^] # Re: Calcul par intervalle

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    La question général, c'est plus sur la méthode actuellement utilisé pour avoir un code correct sachant la difficulté de départ.

    Le but est évidement de rafiner tout ça pour trouver un modèle propre pour Lisaac.

    "La première sécurité est la liberté"

  • [^] # Re: plop again

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Effectuer une premiere estimation en precision simple, puis affiner en precision double.

    Pour la mise au point du calcul, j'imagine pas à l'utilisation ? Sinon, je ne vois pas l'interet de faire 2x ce calcul.

    Comme les processeurs ne supportent generalement pas ces dernieres (et encore parfois meme pas la division), le resultat s'obtient par une serie de calcul

    C'est encore la supériorité de la fpu x87 par rapport à SSE. Le x87 contient toute la trigo en hardware, contrairement à SSE. D'ailleurs, AMD était connu pour avoir une implémentation x87 musclé par rapport au processeur Intel qui favorisait plutot le SSE. Cela se voyait dans certain tests "scientifiques".

    Une etude de l'erreur est effectuee. Mais auparavant, on effectue une etude de stabilite: quel est la variation du resultat si l'on ajoute sur l'une des donnees en entree une petite valeur (epsilon).

    Cela revient à une étude d'interval, non ?

    Reussir a prouver l'implementation de son calcul, c'est deja pas mal. On repasse generalement plus tard pour reduire la precision.

    - Je trouve l'algo
    - Je prouve qu'il est stable numériquement
    - Je regarde les cas bizarre par expérimentation
    - si cela roule en double, j'essais de passer à la vecorisation ou au float 32 bits ?

    J'ai bon ?

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 4.

    En C, c'est parfaitement interdit de toucher à l'ordre des opérations même en entier. Le problème se pose avec les overflows possibles.

    J'avais fais un paquet de tests, il y a quelques années et gcc ne faisait rien du tout dans ce domaine.

    Tout ceci sans parler des processeurs qui exécutent les instructions dans le désordre, bien entendu.

    Sauf avec les dépendances RAW où tu ne peux rien faire du tout !

    "La première sécurité est la liberté"

  • [^] # Re: Calcul par intervalle

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Cela marche toujours cette approche ? On ne risque pas de tomber rapidement dans un [-infini;+infini] ?

    J'imagine que cela peut arriver vite dans un 1/(a-b), avec a et b proche.

    "La première sécurité est la liberté"

  • [^] # Re: Ecrire du code avec des flottants

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    ça au moins, c'est complet :)

    Je peux résumé par :
    "On veut de la répétabilité, et parfois on veut une idée précise de la précision." ?

    Par contre, concernant les arrondis, l'utilisation de fonction explicite ou des mode de fpu influe sur quoi ? Uniquement la vitesse ? Ou il existe encore des subtilités ?

    Comment utilises-t-on les modes "fast" ? En général, ces modes sont taxés de mal calculer. Je crois que l'itanium en a un. Les cartes graphiques utilisent aussi ces modes.

    Si j'ai bien compris, il ne détecte pas les NaN dans le pipelines flottant pour éviter de gérer des interruptions en plein milieu. Mais si j'ai bien compris d'autres interventions, cela n'est génant que pour la detection d'errreur et non pour le fonctionnement nominal. J'ai bon ?

    "La première sécurité est la liberté"

  • [^] # Re: plop again

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 4.

    vu les nombres que tu manipules dans ton exemple, est-ce que tu ne cherches pas plutôt à faire du "fixed point", ce qui revient à faire des calculs entiers.

    Si tu prends tout tes nombres et que tu les multiplies par 16, tu as 4 bits après la virgules.

    "La première sécurité est la liberté"

  • [^] # Re: plop again

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Un autre truc qui ralentit monstrueusement le code c'est les nombres denormalisés, tous ceux qui font du traitement du signal avec des filtres récursifs en font l'experience un jour ou l'autre.

    Quand est-ce qu'arrive ses nombres ? Je croyais que les fpu IEEE754 normalisait le nombre tout seul comme des grands.

    "La première sécurité est la liberté"

  • [^] # Re: Et les bibliothèques ?

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.

    Je ne vois pas bien comment ta bibliothèque peut écrire des équations à ta place.

    Imagines n'importe quel filtre numérique.

    "La première sécurité est la liberté"

  • [^] # Re: plop again

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 10.

    Je ne comprends pas trop. Les gros systèmes type IBM utilise des formats infini entier justement pour ne jamais avoir de problème. Le support est même hardware.

    "La première sécurité est la liberté"

  • [^] # Re: Quelques infos

    Posté par  (site web personnel) . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 4.

    c'est très pénible de calculer en virgule fixe

    Je ne connais pas bien le domaine mais comme il existe des calculs en "entier infini", il existe aussi des calculs en flottant infini.

    Je ne vois pas en quoi l'ordre change la vitesse.

    Par ce que a+b+c+d sera plus lent que (a+b)+(c+d) car tu enlèves une dépendance read-after-write.

    Au passage, les derniers gcc vectorisent tout seul !

    Enfin, si on l'aide beaucoup beaucoup beaucoup...

    Sachez que GCC ne modifient pas les calculs sur les flottants car justement l'ordre des opérandes joue énormément sur la précision du résultat. Il ne pas simplifier x*2.0/2.0 par exemple.

    C'est le cas par défaut. Mais cela n'est plus vrai avec l'option --fast-math.


    D'ailleurs comment choisi-t-on d'utiliser un type d'arrondi plutôt qu'un autre ?

    Selon le résultat attendu ?


    C'est choix par équation ou par opération ?

    Les gérer ? Comment ça ? Il suffit de vérifier à la fin qu'on n'a pas de NaN, -INF ou INF je pense. Si on sait ce qu'on fait, on ne trimballe pas de NaN.

    Par exemple, "<" définit tous les comportements à avoir avec NaN < NaN, NaN < nombre, etc... Ce qui est tellement lent qu'il existe des intrasecs pour faire un test qui se fout des NAN. Je me demandais donc quelle était l'utilité. En gros, le but est de faire de la détection d'errreurs ?

    "La première sécurité est la liberté"

  • [^] # Re: Oui mais bon

    Posté par  (site web personnel) . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 5.

    Cela serait interressant de voir les perfs d'un serveur type apache par rapport au solution habituelles de load balacing super couteux.

    Est-ce que les disques dures sont aussi partagé l'est la RAM ?

    Bref par rapport au autres technos, ou cela se situe-t-il ?

    "La première sécurité est la liberté"

  • [^] # Re: facile

    Posté par  (site web personnel) . En réponse au message Remplacement DD portable. Évalué à 3.

    J'avais eu un soucis d'épaisseur de disque, c'était pour un ultra portable. Le nouveau disque était un poil plus gros et cela déformait un peu la coque plastique.

    "La première sécurité est la liberté"

  • [^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.

    Posté par  (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 2.

    D'ailleurs, cela n'est pas free qui proposait une connection minimal gratuite contre l'installation de la fibre dans les immeubles ?

    Il y a peut-être moins de client finaux potentiel qu'ailleurs mais la mairie peut peut-être compenser le cout des travaux.

    "La première sécurité est la liberté"

  • [^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.

    Posté par  (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 2.

    A base de wifi jouable ?

    Oula. Si tu as plus d'une dizaine de connection, sur un seul AP situé au sous sol de l'immeuble, je ne vois pas comment les ondes vont passer.

    Les 2 solutions en parrallèle peuvent être fait. Le cable ethernet, c'est quand même plus fiable.

    "La première sécurité est la liberté"

  • [^] # Re: Les ordinosaures, c'est vieux; LTSP c'est mieux.

    Posté par  (site web personnel) . En réponse au journal Vos solutions contre la fracture numérique. Évalué à 2.

    Dans ce cas, il te faut la salle pour la formation, et la distrib pour équiper des ordinateurs récupérés (si ils ne sont pas trop vieux...).

    D'ailleurs, est-ce qu'il serait légal d'avoir une connection internet haut débit à partager entre un immeuble ? (l'association étant responsable)

    Il faut "juste" cablé l'immeuble en ethernet et avoir un peu de QoS.

    "La première sécurité est la liberté"