lasher a écrit 2742 commentaires

  • [^] # Re: Apparament c'est la licence qui vous intéresse...?

    Posté par  . En réponse au journal [HS] BD : Le guide Balazar du mauvais sorcier. Évalué à 1.

    Oui c'est ça, et quelqu'un qui n'a jamais écrit de logiciel me semble tout de même mal placé pour décider de détail de licence, vu qu'il n'a pas expérimenté la relation d'un développeur à son oeuvre par lui-même. \o/

    Ce n'est certainement pas comparable. Un logiciel, quoi qu'on en dise, a un but « utilitaire » ou dans le pire des cas « récréatif » (pour un jeu, par exemple).

    Lorsque j'écris une nouvelle, il s'agit de ma sensibilité et de mon rapport au monde que j'expose aux yeux des autres. J'ai une certaine vision des personnages que je mets en scène, et je n'ai pas nécessairement envie que des inconnus s'approprient ceux-ci en leur faisant faire des choses qui me semblent totalement en dehors de la personnalité que je leur ai inventé. Plus exactement, quelqu'un qui reprendrait une de mes nouvelles et qui en changerait le dénouement m'énerverait assez. C'est sans doute très égoïste et très égocentrique, mais si je n'ai aucun problème avec quelqu'un écrivant une "suite" à une histoire qu'il n'a pas écrite, j'en ai bien plus avec des gens qui en changeraient son contenu.

    Par contre, la diffusion d'oeuvres ne me pose pas de problème outre mesure. Pour rappel, le droit d'auteur (avec Beaumarchais, tout ça) a été justement créé non pas contre la copie faite par les particuliers, mais contre celle des éditeurs se faisant du beurre sur le dos des artistes -- ce que la clause -NC veut justement préserver.

    Bref. Je ne pense pas qu'on puisse appliquer les licences libres du logiciel aux oeuvres d'art -- du moins pas aussi facilement que ça. À mon sens, lorsqu'on peint, qu'on écrit, qu'on sculpte, etc., il y a plus qu'un simple travail. Il y a une part de soi qu'on inscrit dans l'oeuvre, bien plus que pour un logiciel. J'admire beaucoup ceux qui permettent à tout le monde de modifier leur propre oeuvre, mais honnêtement, j'en serais parfaitement incapable, car ce serait altérer cette part de moi-même d'une certaine manière.
  • [^] # Re: AIX - Mais quel avenir ?

    Posté par  . En réponse au journal AIX - Mais quel avenir ?. Évalué à 3.

    Parlons d'abord de l'Itanium: Bien que les premières versions de l'Itanium étaient effectivement des bouses, les versions actuelles n'ont rien à envier aux processeurs PowerPC par exemple

    Je bosse sur Itanium 2 en permanence, je me permets donc de répondre. La première version de l'Itanium (Merced) était effectivement une sorte de "beta", et n'a été sortie à mon avis qu'à cause des délais qu'Intel et HP devaient respecter. On oublie. L'Itanium 2 est une excellente machine selon moi, et l'architecture de son processeur est très intéressante. Mais si l'Itanium 2 est une excellente machine pour le calcul flottant, pour le calcul entier c'est une toute autre histoire. Selon moi, le calcul scientifique bénéficie vraiment de cette machine (avec le bon compilateur on atteint 90-95% des perfs crête), alors que les serveurs d'application, bien plus orientés calcul entier (càd : parcours de graphes, avec des indirections partout, etc) y perdent. Soit dit en passant, je bosses sur du Linux, et pas de l'AIX. Concernant les POWER d'IBM, si, l'Itanium doit leur envier le calcul entier. :) Enfin, tukwila devait être gravé en 45 nm avec du quad-core hyperthreadé, ce sera finalement du 65 nm (mais en quad HTT, avec du HTT qui fonctionne vraiment, pas comme sur Montecito où on est obligé de le désactiver dans pas mal de cas d'utilisation).
  • [^] # Re: Cray

    Posté par  . En réponse au journal Top500 : La rétrospective des 15 ans.. Évalué à 5.

    En pratique, les Blue Gene sont des machines NUMA donc en mémoire distribuée ( http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access ). Ce genre de machine est bien connu des chercheurs et numériciens, car c'est avec ça qu'ils ont dû composer pendant des décénies (les systèmes à mémoire partagée sont relativement récents).

    Un supercalculateur est un ordinateur spécialisé au même titre qu'une console de jeu selon moi, et doit donc être programmé correctement; je ne vois pas ce qui est choquant là-dedans. Les « applications de la vraie vie », ce sont des simulations météorologiques, tout un tas de simulations qui concernent le nucléaire (Department Of Energy, Commissariat à l'Énergie Atomique), la sismologie, et de façon générale tout ce qui concerne la modélisation de phénomènes physiques de grande envergure.

    Bref, effectivement, Linpack est rigolo comme outil de mesure de performance brute (il n'y a presque pas de communication entre les coeurs de calcul, donc effectivement, les machines d'IBM ont l'avantage du coup), mais il existe tout un tas d'autres applications (ScaLapack par exemple) qui permettent de résoudre un ensemble non négligeable de problèmes liés à des systèmes d'équations linéaires (dont se servent les numériciens tous les jours).

    Bottom line : quelle que soit la machine de calcul, elle sert vraiment, et est vraiment utilisée. Le gros problème provient surtout de l'allocation des noeuds de calculs. Certains calculs ne nécessitent que la moitié d'un noeud, d'autres plusieurs noeuds à la fois, etc. Faire un ordonnanceur de batches qui soit efficace pour boucher les trous sans faire perdre trop de performance globalement est une tâche ardue.
  • [^] # Re: Les mauvaises décisions

    Posté par  . En réponse à la dépêche LLVM 2.2 : Un concurrent pour GCC ?. Évalué à 3.

    [ Rajout d'un printf pour rendre le code "propriétaire"]
    Tu oublies un truc : Nessus était en GPL, pas en BSD. Les boites et "consultants" qui ont fait ça ont été dans l'illégalité la plus totale. Ce qui montre bien que GPL ou BSD, du moment qu'il n'y a pas de trace, les boites sans scrupules violent la licence libre, quelle qu'elle soit.
  • [^] # Re: Performances ?

    Posté par  . En réponse à la dépêche LLVM 2.2 : Un concurrent pour GCC ?. Évalué à 2.

    Il ne faut pas oublier que l'archi x86 (32 ou 64 bits) comprend tout plein de mécanismes hardware qui font que du code pas très optimisé tourne au final pas si mal. Par exemple sur architecture Core, on a des prefetchers hardware au niveau des caches, un cache de micro-instructions (bon ok, tout petit, mais quand meme), une exécution dans le désordre des instructions ... Bref, le compilateur est beaucoup soulagé par une architecture qui fait beaucoup de choses sans qu'on lui demande.
  • [^] # Re: C'est pas un peu prétentieux

    Posté par  . En réponse à la dépêche William Gibson en signature à Paris !. Évalué à 2.

    Ah ben justement, Stephenson, avec Snow Crash et surtout Cryptonomicon (je passe sous silence l'excellent Diamond Age), a bien annoncé l'évolution du cyberpunk vers une littérature de plus en plus proche de notre époque. D'ailleurs, Virtual Light est clairement un hommage à Snow Crash selon moi, dans le sens où Gibson se place dans un monde bien moins technologique, beaucoup plus proche de notre réalité, tout comme Snow Crash l'avait fait avant.

    J'avais d'ailleurs lu dans un magazine il y a une dizaine d'années, et qui présentait le style cyberpunk que Gibson avait déclaré : « j'ai vu le futur du Cyberpunk, et il s'appelle Neal Stephenson ».

    Pour moi Gibson a posé les fondations du Cyberpunk, et Stephenson incarne la sophistication du style.
  • [^] # Re: perles

    Posté par  . En réponse au journal Le plagiat sur internet. Évalué à 4.

    J'imagine bien l'état de nos cartes bleues aujourd'hui, et de la crypto en général, ou des générateurs pseudo-aléatoires, si on se disait systématiquement "à quoi ça peut me servir de trouver le prochain nombre premier ?" ou bien "franchement, trouver les nouvelles décimales de PI, ça sert à rien. Bon, on arrête"...
  • [^] # Re: en effet, pas qu'en Angleterre

    Posté par  . En réponse au journal Le plagiat sur internet. Évalué à 1.

    J'ai eu un prof qui nous disait que « Je vous rassure, contrairement à d'autres profs, je note de 0 à 20... Enfin, non, de 1 à 20, parce que le 0 nécessite une justification auprès du jury de fin de semestre. »
  • [^] # Re: guerre du Liban ....

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 2.

    « [Le Hezbollah] a reussi a rassembler quasiment un million de libanais dans les rues de Beyrouth peu apres la mort de Rafic Hariri. 1 million sur les 3 millions et demi d'habitants. Trouves moi un parti francais capable d'amener 20 millions de personnes a Paris pour une manif... »

    Ce n'est pas une comparaison juste. Il y a un effet d'échelle (et si tu as fait de la programmation massivement parallèle, tu sais bien que faire un algo parallèle sur 4 processeurs, ce n'est pas pareil du tout que sur 16 ou 32 procs ! :-) ). Jusqu'à présent, même si je ne suis pas forcément d'accord avec ce que tu racontes, tu fais preuve d'assez peu de mauvaise foi, mais ton exemple, là, est de la mauvaise foi caractérisée.

    Dire que le Hezbollah a réussi à faire venir 1 million de personnes dans la rue est assez éloquent, pas la peine d'en rajouter.
  • [^] # Re: guerre du Liban ....

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 2.

    Tu veux dire comme la vidéo où l'on voit un civil palestinien se faire tuer par l'armée israélienne. 2 semaines après on apprend que c'était un tir amis des palestiniens ?

    Si tu parles du petit qui envoyait des pierres aux soldats israéliens et qui s'est pris une balle, la conclusion a été, pour autant que je me souvienne, "on ne sait pas à quel camp appartient la balle".
  • [^] # Re: Bémol

    Posté par  . En réponse au journal Sun publie les spec. du Niagara 2. Évalué à 3.

    Parce que du point de vue compilation, et architecture à proprement parler, je trouve que c'est une bonne machine. Maintenant, c'est vrai qu'en calcul entier, c'est une bouse. Mais pour comparaison, là où un Bi-Xeon Core 2 @2 GHz fait en moyenne du 5-6 GFLOPS pour les meilleures perfs mono-coeur (sur 8 GFLOPS théoriques), un Itanium 2 peut faire du 6.2 GFLOPS (sur 6.4 théoriques), soit dans près de 90% de la performance crête. Je me dis que ça pourrait être une excellente voie à explorer par la suite (vivent les VLIW !)
  • [^] # Re: Bémol

    Posté par  . En réponse au journal Sun publie les spec. du Niagara 2. Évalué à 5.

    Euh, l'Itanium est une archi morte hein. D'ici deux à trois ans, elle n'existera sans doute malheureusement plus (et en tout cas sera sans doute confinée à quelques clusters pour faire du calcul scientifique).
  • [^] # Re: guerre du Liban ....

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 4.

    Dans l'absolu, c'est évidemment une bonne idée. Maintenant, je vois deux objections :

    1) On n'a pas une pierre en face, mais un groupe de personnes, qui ne font pas que réagir (ils sont proactifs). Croire qu'en arrêtant de les titiller ils vont eux-mêmes arrêter d'attaquer est naïf, je pense.

    2) Pour que la « pierre » se calme, il faut la laisser bouger encore un peu -- au niveau des populations, ça signifie réussir à expliquer et faire accepter à l'un des deux peuples qu'il va falloir accepter de se faire tirer dessus quelques temps, avec les blessés et les morts que cela implique, sans exercer de représailles. Tout le monde ne s'appelle pas Gandhi.
  • [^] # Re: Alain Soral

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 2.

    Ça n'a rien à voir. Dire que quelqu'un est raciste a une connotation de « haine de l'étranger de l'intérieur » (« l'étranger » en question correspondant à « tout ce qui n'est pas issu de la même culture que moi »).

    Préciser « antisémite » permet pour moi de mieux qualifier la nature de cette peur/haine de l'autre. Tu ne te sens peut-être pas responsable de ce qui s'est passé en 40 (et ça se comprend bien), mais il existe encore des gens pour dire que les juifs sont déicides, qu'ils aiment l'argent, ...; tout comme il existe des gens pour dire que les arabes sont menteurs et voleurs, que les roux puent (mais bon, ça c'est vrai [2]), etc.

    « Mais dans ce cas là, on devrait énoncer toutes les exceptions »
    Il ne s'agit pas pour moi d'exception mais de précision (cf ma diatribe juste au-dessus).

    Dernière petite chose :
    « Tu te sens peut-être coupable de ce qui s'est passé en 40, mais pas moi. »

    Bon, faudrait arrêter un peu avec 40. La persécution faite aux juifs ce n'est pas QUE en 40 (et en fait surtout pas en 40, vu que rien n'était encore bien méchant pour les juifs -- au moins en France). Les juifs ont été persécutés durant des siècles, et l'antisémitisme qui sévissait durant la première moitié du XXè siècle n'en est que le résultat. Ça ne veut pas dire qu'il faut se flageller encore et toujours, ça veut dire qu'il y aura une part de responsabilité transmise aux peuples d'Europe pendant encore un bon moment, tout comme cela devrait exister pour les populations réduites en esclavage jusqu'à il n'y a pas si longtemps. Un peu de culpabilisation nous ferait les pieds, et nous permettrait peut-être de penser un peu plus à notre prochain.

    Enfin, ce n'est que mon avis de culpabilisé notoire.

    [1] Même si en pratique on devrait dire « anti-juif », puisque les habitants du Moyen-Orient font partie des peuples sémites, après tout. Mais bon, l'usage du mot a changé ... Je sais que la majorité d'entre vous le savent, mais je suis adepte de l'argumentation défensive. ;-)

    [2] oui, je sais --> [ ]
  • [^] # Re: Alain Soral

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 3.

    Tiens, dans la première citation, peux-tu me dire exactement où se trouve le racisme spécifiquement ? Le mot « nègre » ne peut être utilisé, car à l'époque on ne disait pas « noir ». Sa position sur l'esclavage, bien que détestable, n'est pas non plus une indication de son racisme.

    Bon, toute mauvaise foi mise à part, la fin de la citation relève bien du racisme selon moi (la partie sur la supériorité d'un peuple sur un autre). :-)

    « Je ne me prononce pas sur ses idées ou autres. Après tout je n'ai jamais vraiment aimé voltaire, ni les classiques en général. »

    C'est dommage, il s'agit quand même de penseurs qui ont permis au moins 2 révolutions (en Amérique, et en France). Bon, ensuite on a le droit à Marx qui explique que Robespierre n'était pas dans l'erreur, et Lénine qui lui emboite le pas et va jusqu'au bout de la terreur rouge, mais bon ... :-)
  • [^] # Re: guerre du Liban ....

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 2.

    Bon, je connais bien ce genre de débat, j'y ai droit régulièrement. J'ai eu des disputes très violentes avec de très bons amis lorsque l'intifada a repris. Bref, rien ne change.

    Je pense que pBpG a mal formulé son premier post, car tu continues de t'y référer, mais je trouve qu'il a très bien explicité son argumentation par la suite (après, être d'accord ou pas, c'est autre chose) : si la communauté internationale ne fait rien -- à cause de l'histoire de l'Europe et des juifs ; à cause des intérêts financiers ; à cause des populations juives installées en Occident et qui ont de la famille en Israël ; etc. ; bref, si personne « d'extérieur » ne fait rien, le Liban a un poids économique et « social » bien moindre qu'Israël, et on pourrait être tenté de croire qu'il y aurait bombardement unilatéral.

    « Non, mais ceux qui disent que c'est regrettable que des israéliens ne sont pas morts parce que ça leur aurait appris, oui. »

    Tu t'échauffes pour rien. Il n'y a rien de raciste dans sa prose. Le racisme suppose qu'on parle de ... « races ». Aux dernières nouvelles, il y a encore tout un tas d'arabes en Israël et pas seulement des juifs, et dire qu'on estime que viser des cibles civiles ne serait que juste retour des choses n'a absolument rien de raciste. Je trouve l'idée idiote, mais pas raciste pour deux sous. Si la situation avait été la même avec deux autres pays différents, il aurait très certainement formulé les mêmes idées. De ce que je comprends, c'est qu'étant donné sa vision des faits (« le Hezbollah a toujours privilégié les cibles militaires, contrairement à Israël qui vise aussi les civils, et ne vise les civils que lorsqu'Israël l'a précédemment fait »), et devant l'inégalité des relations entre la communauté internationale et ces deux pays, alors le Liban devrait se battre avec les dernières armes qui lui restent : attaquer les civils.

    « Il y a une grande différence entre critiquer ce qu'un état fait et de regretter qu'il n'y ait pas eu mort de civils. »

    C'est vrai. Ça n'a pas empêché les USA d'envoyer une bombe atomique sur Hiroshima et Nagasaki. Si pour Nagasaki, je ne suis pas tout à fait persuadé de l'utilité de la chose, pour Hiroshima, on sait que l'empereur de l'époque ne voulait pas s'avouer vaincu, et voulait encore recruter des hommes, ce qui aurait sans doute prolongé la guerre pendant plusieurs mois, avec les abus, les blessés et les morts (dans chaque camp) que cela implique. Du coup, il y a eu un choix terrible à faire : massacrer une population civile (car il s'agit bien d'un massacre) en masse, ou bien continuer une guerre « traditionnelle » (je mets des guillemets parce que les règles de la guerre n'avaient déjà plus grand chose à voir avec les précédentes ...).

    « Non, mais ceux qui disent que c'est regrettable que des israéliens ne sont pas morts parce que ça leur aurait appris, oui. »

    Pourtant c'est l'attitude de nombre d'israéliens dont on peut retrouver les témoignages épars sur le net. Vis à vis de la population palestinienne, ça a été l'attitude du gouvernement, largement soutenu par sa population (on fout deux-trois « baffes » aux palestiniens, ça fait 200-300 morts et blessés, on espère que cette fois ils auront compris qu'on est les plus forts, car il n'y a que « ça » qu'ils comprennent, etc.).

    Je me garderai bien de parler de la guerre qu'il y a eu au Liban, car je ne suis pas assez informé ; par contre, parler de l'attitude d'Israël, et défendre la position de pBpG, même si je ne suis pas d'accord avec lui, je peux en toute connaissance de cause.
  • [^] # Re: guerre du Liban ....

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 2.

    « La désinformation etc... surtout pour les israéliens (le mossad est un service secret très réputé) faut pas croire que ça arrive que dans les films ;) »

    Tu oublies quand même de nuancer en disant que les journaux d'investigation existent aussi en Israël, qu'il existe une presse « d'opposition » là-bas, etc. La désinformation existe dans tous les pays bien sûr (démocratiques ou pas), mais bizarrement, j'ai l'impression qu'Israël n'est pas un pays moins manipulé que les USA quelque part -- et clairement moins que les pays soumis à un régime totalitaire. Après bien sûr, tout dépend d'à quel point tu considères les étatsuniens comme manipulés. ;-)
  • [^] # Re: Alain Soral

    Posté par  . En réponse au journal L'effroyable imposture 2. Évalué à 2.

    Antisémite plutôt non ? Et de façon générale, je pense que parler des idées de penseurs qui ont vécu plusieurs siècles avant notre ère et qui ne sont plus considérées comme pertinentes de nos jours relève de l'anachronisme.
  • [^] # Re: Quelques infos

    Posté par  . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 3.

    J'ai fait le test avec icc. Voilà ce qui en résulte :

    code :


    /* elim.c */
    double elim(double a, double b) {
    __double tmp;
    __tmp = a+b-a;
    __return tmp;
    }

    /* elim2.c */
    double elim2(double a, double b) {
    __double tmp;
    __tmp = (a+b)-a;
    __return tmp;
    }



    ; code généré par icc quelle que soit la version
    ; xmm0 = a, xmm1 = b
    __subsd xmm0, xmm0
    __addsd xmm1, xmm0
    __ret

    ; code généré par gcc
    ; elim2() :
    __addsd %xmm0, %xmm1
    __subsd %xmm0, %xmm1
    __movapd %xmm1, %xmm0
    __ret

    ; elim()
    __movl %esi, %eax
    ret


    Comme quoi, sur des cas simples, les compilateurs se débrouillent ...
  • [^] # Re: complément d'information sur M. Moshe Bar

    Posté par  . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 2.

    Je me suis mal exprimé. Ce que je voulais dire, c'est que la taille fixe des instructions permet certaines micro-optimisations précieuses dans les cas [1] où la performance est primordiale.

    [1] rares, je l'admets.
  • [^] # Re: complément d'information sur M. Moshe Bar

    Posté par  . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 2.

    « Alors je comprends bien que la comparaison type1/type2 est très à la mode (surtout dans les équipes marketing), mais elle devient obsolète, un peu comme la différence RISC/CISC il y a quelques années »

    Euh ... Le CISC pose encore pas mal de problèmes pour les programmeurs de bibliothèques de performance... Même s'il y a du RISC derrière les instructions CISC des x86 modernes, ça n'empêche pas le fait que les instructions sont de taille variable, et donc provoquent l'insertion de bulles dans le pipeline à cause du décodeur d'instruction qui est incapable de savoir correctement à l'avance jusqu'à quel point il va devoir décoder, si l'instruction est déjà dans le cache de micro-code, etc...

    Au moins en RISC, les instructions font 32 ou 64 bits, et puis c'est tout. Idem sur les VLIW. Bref, CISC reste un gros boulet qu'on se traîne.
  • [^] # Re: Quelques infos

    Posté par  . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 3.

    « si tu fais "c=a+b-a" en C, avec des flottants, le compilateur fera vraiment a+b-a. il ne cherchera pas à simplifier. »

    Non. Ce genre de comportement (éliminer les 'a') est totalement dépendant du compilateur. Par exemple, avec la plâtrée de transformations optimisantes qu'on trouve dans icc par exemple, je ne suis pas certain que ce que tu affirmes soit vrai (je vais tester demain, je te tiendrai au courant :-) ).

    En fait tout dépend de l'ordre dans lequel les transformations ont été effectuées : une fois toutes les fausses dépendances éliminées (grâce à SSA ou autre), on peut très bien couper les branches inutiles de l'AST, et examiner plus en détail les expressions arithmétiques de chaque noeud restant de l'arbre.

    Évidemment, sur des cas bien plus complexes (car « cachés »), l'optimisation n'aura pas forcément lieu.

    « Et même si le CPU effectue plusieurs opération en parallèle, il ne réordonne JAMAIS les instructions, »

    Si. Typiquement sur les x86, les instructions sont exécutées dans le désordre du moment qu'il n'y a pas de dépendance de donnée (les dépendances WAR dont parlait nicO) et que les unités fonctionnelles sont disponibles. Ceci évidemment sans parler de la spéculation sur les branchements, qui provoquent le vidage du pipeline lorsque la machine a mal spéculé.

    « il "délivre" les instructions dans le même ordre que celui avec lequel elles arrivent. »

    Non, il y a un Reorder Buffer (ROB) qui se charge de remettre le résultat des instructions dans l'ordre pour garder la sémantique du programme, mais avant ça, les instructions peuvent parfaitement avoir été exécutées dans un ordre différent.
  • [^] # Re: Quelques infos

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

    Qu'entends-tu par « interdit » ? Le compilateur comprend parfaitement ce que tu veux dire lorsqu'il est écrit

    res = (a + b) + (c + d)

    Tu n'as aucun moyen de savoir si (a+b) sera effectué avant (c + d), mais sinon, le compilateur « comprend » les priorités. Par contre, si par une analyse statique quelconque il voit que les parenthèses sont inutiles, et qu'il pourrait s'arranger différemment, il ne va pas se gêner.

    Le vrai problème de l'ordre d'évaluation se pose plutôt pour des choses du genre

    res = f1() + f2() + f3() + f4();

    (en supposant que les f*() sont définies dans une unité de compilation différente)

    Dans ce cas-là, si toi, programmeur, tu demandes un ordre spécifique en parenthésant, je ne suis pas certain que le compilateur s'amuse toujours à changer l'ordre des opérations ...
  • [^] # Re: plop again

    Posté par  . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 3.

    « 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". »

    Euh. Pour moi, SSE et x87 n'ont pas du tout la même finalité. En SSE, tu manipules des blocs de 128 bits, sur lesquels tu effectues des opérations « vectorielles ». Donc en pratique, ça donne 4 multiplications simple précision faites en une seule fois ou bien 2 double précision. Mais en réalité, les mêmes instructions SSE servent aussi au calcul entier. À charge du processeur de savoir retrouver ses petits.

    Un co-processeur arithmétique « quelconque » est, lui, chargé « spécifiquement » de régler les problèmes liés aux flottants -- et donc intégrer des fonctions mathématiques câblées en dur ne semble pas déraisonnable. À mon avis, avec l'approche d'AMD (intégration future de GPU de plus en plus près des CPU, jusqu'au point de partager des unités fonctionnelles ou des registres/mémoires), et de façon générale la « généralisation » des tâches des GPU, on va tout bêtement redécouvrir les joies des « coprocesseurs arithmétiques » version carte à enficher dans un port PCI-E...
  • [^] # Re: Quelques infos

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

    « 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. »


    Non. Enfin, je trouve que tu as mal formulé. Suivant le langage, tu as des certitudes ou pas concernant l'évalutation des opérandes. Par exemple, avec C, tu n'as aucune certitude quant à l'ordre d'évaluation de res = a + b + c +d. En Java, il est spécifié que les opérandes sont évalués de gauche à droite.

    Maintenant évidemment, « dans le doute », tu peux parenthéser. Mais normalement, l'utilisation de transformations optimisantes dans les compilateurs est justement censer t'éviter de tout faire à la main.

    Typiquement, avec la mise sous forme SSA, les fausses dépendances (WAW, RAR, WAR) peuvent être éliminées, et les opérations indépendantes mises en valeur et réordonnancées -- et ce, quel que soit l'ordre souhaité par le programmeur à la base. Tout ceci sans parler des processeurs qui exécutent les instructions dans le désordre, bien entendu.