Les "stall" ne sont plus un si gros problème à cause de l'énergie, Intel est obligé de diminuer la fréquence quand les instructions simd 512 bits sont utilisées.
Du coup autant faire 3 instructions/cycle continu non ?
Cela ne suffit pas quand un simple load te prend 80 cycles.
J'ai pas tout compris , mais je ne pense pas que l'espace commentaire (pour un article sur mon SDK sur la Neo Geo) soit aussi le plus adapté pour expliquer tout en détails.
C'est pas faux. L'idée est d'avoir des unités de calcul qui ne se limite pas à 2 entrées.
Les boucles sont déroulées sous x86 aussi. As tu mesuré du code réellement plus lent -o3 qu'en -o2 ?
Concernant le cpu, je pensais surtout à définir l'isa comme 64 bits. Mais avec 4 lectures et 2 écritures de registres, tu peux faire ainsi 2 instructions classiques ou des trucs beaucoup moins ("load load", MACC,…) qui se ferait avec 2 ou 3 instructions habituellement.
Attention aux bypass explicit, c'est un mauvais plan si tu veux garder une compatibilité binaire et changer d'architecture.
En 2000, l'ilp moyen était donné autour de 2.4. Donc arriver à 3 est déjà bien. Tu peux augmenter l'ilp en faisant des instructions étudiées pour diminuer les dépendances read after write.
VLIW c'est surtout le dsp c6x de TI, avec ces 8 instructions. C'était utile dans les grosses boucles type fftw ou du filtrage.
2, 3 ou 4 instructions, c'est plus LIW. Cela n'est pas vraiment "very large".
Pour la gestion de boucle, les compilateurs les déroulent jusqu'à 16 fois pour augmenter le parallélisme et le ratio du code utile vs le code de gestion.
Le gros avantage des vecteurs risc v est l'augmentation facile du parallélisme. Tu n'es pas obligé de changer d'isa pour gérer 4,8 ou 16 float en meme temps.
C'est quoi le problème avec les vecteurs variables risc v ?
C'est très rare d'avoir 3 instructions/cycles
Que veux-tu dire par la ? Les intel ont 3 ALU par exemple.
Vliw c'est en general, 8 instructions d'un coup. EPIC me rappelle l'itanium avec ses bundles d'instructions par paquets de 3 6 ou 9. Ils n'ont pas réussi à monter en fréquence.
Super projet de cpu ! Cela ressemble un peu à ce que l'on voulait faire pour le fcpu.
Avez vous pensez à faire un mode d'isa 64 bit qui regroupe les 2 instructions 32 bits.
Cela permet de faire des d = a*b+c ou des d = a+b+c au minimum. Ou encore,cela offre des immediats de 32 bits. Cela remplace 2 ou 3 instructions et sans latence.
Tu ne donnes pas vraiment d'exemples. Les solutions techno n'ont jamais prétendu être instantané. La fission puis la fusion nucléaire pourrait résoudre une grosse part des problèmes de CO2, une fois présente, cela sera une histoire de cout.
Concernant la paix, la bombe H a justement évité une confrontation USA/Russie. La guerre est devenu l'ennemi elle-même, on essaye toujours de rester sous un certain niveau pour éviter l'engrenage. L'AK47 a fait bien plus de mort que la bombe atomique au final.
Est-ce que la limitation de compilation d'un seul .h a été levé ?
Disons qu'avoir l'AST entier de tout le code pour optimiser à haut niveau peut être intéressant et plus rapide. A l'époque, les .o ont été créer car c'était simplement impossible à faire avec la RAM disponnible.
non, je propose que l'on puisse lancer un
gcc *.c -o toto.exe
De la même façon qu'aujourd'hui sauf que le système ne passe pas par les .o intermédiaire ou autre.
En gros, chaque fichier est gardé en interne sous forme d'AST puis mixer pour faire un gros exe. Le compilateur fonctionnerait en "close world". Cela permet plein d'optimisation.
sur un compilo tu lis un .c qui include dedans les fichiers qui vont avec, tu produit le .o. Et tu recommences pour chaque .c. Ensuite, tu as assemble tous les .o.
L'idée, dans le cas d'un Jumbo Build, est de filer tous les fichiers .c concerner en une fois. Ainsi, les include sont lu et parsés une seul fois. Les templates générés une seul fois, et le LTO a beaucoup moins de boulot à faire ensuite.
Au lieu de concaténer les fichiers ensemble, on les fait lire par le même exe en respectant la sémantique du langage au lieu de se contenter d'inventer un gros fichier.
[^] # Re: BookMyName
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Gandi, passe de « no bullshit » à « bait and switch » ?. Évalué à 6.
Je parlais d avoir une redirection du style *@toto.com vers nom@gmailcom.
J utilise ça depuis longtemps.
"La première sécurité est la liberté"
[^] # Re: BookMyName
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Gandi, passe de « no bullshit » à « bait and switch » ?. Évalué à 6.
Il gere le catch all pour la redirection mail ?
"La première sécurité est la liberté"
# c etait mieux à vent ?!
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Suggestion : supprimer complètement les notes du site. Évalué à 3.
Ton 2 n'a jamais existé en 20 ans et serait facilement attraper par lamoderation.
Yon 3 est réel et a nécessité pas mal de modification (pertinent/inutile, limite).
Le 4 est comique c'est justement pour éviter les accusations de cabales et diminuer la pression sur la modération que le système a été mis en place.
"La première sécurité est la liberté"
[^] # Re: Est-ce vraiment un système d'auto-modération ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Suggestion : supprimer complètement les notes du site. Évalué à 7.
+1 -1 a justement été remplacé par pertinent / inutile.
"La première sécurité est la liberté"
# ce n etait pas mieux avant
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Suggestion : supprimer complètement les notes du site. Évalué à 10. Dernière modification le 10 juin 2023 à 11:51.
Cela se voit que tu n'étais pas là avant la notation.
Le niveau des commentaires est en moyenne bien meilleur et les comportements problèmatiques quasi absent.
C'est le mythe de la solution parfaite.
"La première sécurité est la liberté"
[^] # Re: Plutôt cool
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Linus Torvalds proclame sa wokeness . Évalué à 10.
Il a fait quoi RMS ?
"La première sécurité est la liberté"
[^] # Re: Simulation
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Une simulation de drone de combat qui tourne mal. Évalué à 5.
"We suck at classical programming because computers stupidly do what they're told to do, with unintended consequences.
We suck at AI because AIs smartly do what they're trained to do, with unintended consequences." - ( @gro_tsen 2 juin 2023)
"La première sécurité est la liberté"
[^] # Re: Simulation
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Une simulation de drone de combat qui tourne mal. Évalué à 3.
Quelle différence tu fais avec un missile ?
"La première sécurité est la liberté"
[^] # Re: Hein ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Une simulation de drone de combat qui tourne mal. Évalué à 1.
Les militaires détestent ça. Il veulent du human in the loop pour tirer.
"La première sécurité est la liberté"
# c était un scenario pas une ia
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Une simulation de drone de combat qui tourne mal. Évalué à 10.
https://twitter.com/mark_riedl/status/1664458561307439106
"La première sécurité est la liberté"
[^] # Re: altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 3.
Les "stall" ne sont plus un si gros problème à cause de l'énergie, Intel est obligé de diminuer la fréquence quand les instructions simd 512 bits sont utilisées.
Cela ne suffit pas quand un simple load te prend 80 cycles.
C'est pas faux. L'idée est d'avoir des unités de calcul qui ne se limite pas à 2 entrées.
"La première sécurité est la liberté"
[^] # Re: altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 3.
Si tu as 4 lectures regitres tu peux avoir une des ALU à 4 entrée par exemple.
Ajouter un adder à un multiplieur ce n'est pas grand chose en taille non plus.
Tu peux aussi inventer un concept d'ISA compatible après recompilation mais avec des éléments d'architectures fixes.
Intel arrive a avoir 3 ou 4 instructions par cycle, en ayant une pointe à plus de 12 !!
"La première sécurité est la liberté"
[^] # Re: altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 3.
Les boucles sont déroulées sous x86 aussi. As tu mesuré du code réellement plus lent -o3 qu'en -o2 ?
Concernant le cpu, je pensais surtout à définir l'isa comme 64 bits. Mais avec 4 lectures et 2 écritures de registres, tu peux faire ainsi 2 instructions classiques ou des trucs beaucoup moins ("load load", MACC,…) qui se ferait avec 2 ou 3 instructions habituellement.
Attention aux bypass explicit, c'est un mauvais plan si tu veux garder une compatibilité binaire et changer d'architecture.
"La première sécurité est la liberté"
[^] # Re: altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 3.
En 2000, l'ilp moyen était donné autour de 2.4. Donc arriver à 3 est déjà bien. Tu peux augmenter l'ilp en faisant des instructions étudiées pour diminuer les dépendances read after write.
VLIW c'est surtout le dsp c6x de TI, avec ces 8 instructions. C'était utile dans les grosses boucles type fftw ou du filtrage.
2, 3 ou 4 instructions, c'est plus LIW. Cela n'est pas vraiment "very large".
Pour la gestion de boucle, les compilateurs les déroulent jusqu'à 16 fois pour augmenter le parallélisme et le ratio du code utile vs le code de gestion.
Le gros avantage des vecteurs risc v est l'augmentation facile du parallélisme. Tu n'es pas obligé de changer d'isa pour gérer 4,8 ou 16 float en meme temps.
"La première sécurité est la liberté"
[^] # Re: altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 3.
C'est quoi le problème avec les vecteurs variables risc v ?
Que veux-tu dire par la ? Les intel ont 3 ALU par exemple.
Vliw c'est en general, 8 instructions d'un coup. EPIC me rappelle l'itanium avec ses bundles d'instructions par paquets de 3 6 ou 9. Ils n'ont pas réussi à monter en fréquence.
"La première sécurité est la liberté"
[^] # Re: altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 3.
Au niveau idée, il y a aussi les vecteurs façon risc v vraiment superieur au SIMD.
L'idée du mode 64 bits est d'arriver à avoir l'équivalent de 3 instructions dans la place de 2.
Quel discord ?
"La première sécurité est la liberté"
# altairx
Posté par Nicolas Boulay (site web personnel) . En réponse à la dépêche Entretien avec Kannagi à propos de NGDK. Évalué à 4.
https://github.com/Kannagi/AltairX
Super projet de cpu ! Cela ressemble un peu à ce que l'on voulait faire pour le fcpu.
Avez vous pensez à faire un mode d'isa 64 bit qui regroupe les 2 instructions 32 bits.
Cela permet de faire des d = a*b+c ou des d = a+b+c au minimum. Ou encore,cela offre des immediats de 32 bits. Cela remplace 2 ou 3 instructions et sans latence.
"La première sécurité est la liberté"
# ghdl
Posté par Nicolas Boulay (site web personnel) . En réponse au message par ou commencer pour "jouer" avec les FPGA et ce genre de circuit programmables ?. Évalué à 4.
Pour un compilateur vhdl :
https://fr.m.wikipedia.org/wiki/GHDL
"La première sécurité est la liberté"
[^] # Re: C'est quoi le problème ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le vocable « intelligence artificielle » vs synthétiseur de texte ?. Évalué à 0.
Tu ne donnes pas vraiment d'exemples. Les solutions techno n'ont jamais prétendu être instantané. La fission puis la fusion nucléaire pourrait résoudre une grosse part des problèmes de CO2, une fois présente, cela sera une histoire de cout.
Concernant la paix, la bombe H a justement évité une confrontation USA/Russie. La guerre est devenu l'ennemi elle-même, on essaye toujours de rester sous un certain niveau pour éviter l'engrenage. L'AK47 a fait bien plus de mort que la bombe atomique au final.
"La première sécurité est la liberté"
[^] # Re: « Celui qui Sait ! »™ (Re: C’est quoi le problème)
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le vocable « intelligence artificielle » vs synthétiseur de texte ?. Évalué à 2.
Si tous les rapports du giec sont avalé par GPT, tu peux poser des questions comme une requête de base de donnée. C'est utile aussi.
"La première sécurité est la liberté"
[^] # Re: C'est quoi le problème ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le vocable « intelligence artificielle » vs synthétiseur de texte ?. Évalué à 0.
Que recouvre le solutionnisme technologique ? Je sais que cette insulte vient du coté écolo/décroissant.
La technologie a toujours été une solution à un problème. Cela a souvent marché. As-tu des contre exemple ?
"La première sécurité est la liberté"
[^] # Re: compilateur ?
Posté par Nicolas Boulay (site web personnel) . En réponse au lien Comment les "jumbo build" ont bavé dans les sources de Firefox. Évalué à 3.
Est-ce que la limitation de compilation d'un seul .h a été levé ?
Disons qu'avoir l'AST entier de tout le code pour optimiser à haut niveau peut être intéressant et plus rapide. A l'époque, les .o ont été créer car c'était simplement impossible à faire avec la RAM disponnible.
"La première sécurité est la liberté"
[^] # Re: il n'y a pas que le problème des sites à clôturer
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Vie numérique et mort physique. Évalué à 3.
Il faut au minimum les points d'entrée : url/login/mot de passe. On imagine que niveau technique, elle doit pouvoir se faire aider.
"La première sécurité est la liberté"
[^] # Re: compilateur ?
Posté par Nicolas Boulay (site web personnel) . En réponse au lien Comment les "jumbo build" ont bavé dans les sources de Firefox. Évalué à 2.
non, je propose que l'on puisse lancer un
gcc *.c -o toto.exe
De la même façon qu'aujourd'hui sauf que le système ne passe pas par les .o intermédiaire ou autre.
En gros, chaque fichier est gardé en interne sous forme d'AST puis mixer pour faire un gros exe. Le compilateur fonctionnerait en "close world". Cela permet plein d'optimisation.
J'imagine que go fonctionne comme cela.
"La première sécurité est la liberté"
[^] # Re: compilateur ?
Posté par Nicolas Boulay (site web personnel) . En réponse au lien Comment les "jumbo build" ont bavé dans les sources de Firefox. Évalué à 2.
sur un compilo tu lis un .c qui include dedans les fichiers qui vont avec, tu produit le .o. Et tu recommences pour chaque .c. Ensuite, tu as assemble tous les .o.
L'idée, dans le cas d'un Jumbo Build, est de filer tous les fichiers .c concerner en une fois. Ainsi, les include sont lu et parsés une seul fois. Les templates générés une seul fois, et le LTO a beaucoup moins de boulot à faire ensuite.
Au lieu de concaténer les fichiers ensemble, on les fait lire par le même exe en respectant la sémantique du langage au lieu de se contenter d'inventer un gros fichier.
"La première sécurité est la liberté"