Derniers journaux de ehoebadoag :
- [19/05@19:47] Proposition de news
- [18/05@21:40] Fedora Core 2
- [17/05@20:54] Communiqué de Mandrake sur les brevets logiciels en Europe
- [16/05@18:23] FC2 dispo via bittorrent
- [13/05@00:33] FC2 (Tettnang)
- [12/05@15:08] Interview Mandrake
- [11/05@18:53] Tout fout le camp
- [08/05@08:58] Red Hat magazine 3
- [15/04@04:25] LA Manif
- [14/04@17:43] Mandrakelinux 10.0 Official est disponible
- [10/04@11:08] XFree86 a des supporters.
- [04/04@02:16] Changer d'air
- [01/04@07:32] Ça bouge chez KDE.
- [31/03@03:16] cryptoloop est mort, vive dm-crypt
Journal : SSA dans gcc
Posté par 007 () le 20 mai 2004http://lwn.net/Articles/84888/(...)
Il y a un gros "bouleversement" actuellement dans gcc (pour gcc 3.5). L'introduction d'un nouvel optimisateur dans gcc.
Le merge avec la "mainline" a été fait récemment 13/05 :
http://gcc.gnu.org/ml/gcc/2004-05/msg00679.html(...)
* From: Diego Novillo <dnovillo at redhat dot com>
* To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
* Date: Thu, 13 May 2004 03:18:51 -0400
* Subject: tree-ssa-20020619-branch merged into mainline
* Organization: Red Hat Canada
I am glad to announce that Tree SSA has been merged into mainline. The
branch is now closed and mainline is, once again, open for business.
I guess the first thing I want to say is Thanks. These last 4 years
have certainly been fun and interesting. I appreciate all the work both
in testing and implementation that many folks have put into making Tree
SSA possible. The project is now officially over, but this was just the
first step. With the basic framework now in mainline we can now start
doing interesting things with it.
Putain, 4 ans...
SSA for Trees :
http://gcc.gnu.org/projects/tree-ssa/(...)
> Lire le journal (12 commentaires, moyenne: 1,9).
[+] Déjà vu :-)
Je me disais bien que j'avais déjà vu ça :
http://updates.redhat.com/enterprise/3AS/en/os/SRPMS/gcc-ssa-3.5ssa(...)
-
[^]Re: Déjà vu :-)
Posté par Gregory Auzanneau (page perso, ) le 20/05/2004 à 09:16. (lien). Évalué à 8.Je te conseille plutot à ce moment là cet excellent site avec une représentation imagée des changement entres les gcc 3.3 3.4 et 3.5 :
http://www.onversity.com/cgi-bin/progactu/actu_aff.cgi?Eudo=bgteob&(...)
Bonne journée.-
[^]Re: Déjà vu :-)
-
SSA l'anti-C
2 choses à noter
1) cette représentation est connue depuis assez longtemps mais nécessite d'utiliser un algo alakon pour la créer.
2) cette représentation permet de ramener un programme impératif à une forme fonctionnelle, qui permet plus facilement les transformations de graphe.
C'est quoi ?
c'est peut-être idiot comme question mais mon ami google n'a pas pu la satisfaire à mon goût :
c'est quoi "Tree SSA" ?, ça sert à quoi ? J'ai cru comprendre que c'est une optimisation de gcc mais pratiquement, comment ça s'utilise ? Quels sont les résultats ?
Merci !
-
[^]Re: C'est quoi ?
Posté par 007 () le 20/05/2004 à 09:28. (lien). Évalué à 1.> c'est peut-être idiot
Oui.
Relis le journal :
http://lwn.net/Articles/84888/(...)
http://gcc.gnu.org/projects/tree-ssa/(...)-
[^]Re: C'est quoi ?
-
-
[^]Re: C'est quoi ?
Posté par alenvers () le 20/05/2004 à 16:45. (lien). Évalué à 5.Le Single Static Assignment est une représentation d'un programme dans laquelle chaque variable ne se voit assigner une valeur une seule fois.
Par exmple, soit le programme :
a = 1
b = a
a = b + 4
c = a
Donne en SSA :
a1 = 1
b1 = a1
a2 = b1 + 4
c1 = a2
Cette forme permet de rendre la relation entre les définitions et les utilisations de variables explicite.
Les avantages d'une telle forme sont :
- Beaucoups d'optimisations qui se font en temps quadratique deviennent linéaires (éliminations de redondances partielles, propagations conditionnelles des constantes, ...) ;
- Les algorithmes s'exprimment de manière plus simple ;
- ...-
[^]Re: C'est quoi ?
Posté par IntraveineuZ (page perso, ) le 21/05/2004 à 10:25. (lien). Évalué à 1.Merci pour ton éclaircissement !
N'y aurait-il pas un bon site en ce qui concerne ces subtilités algorithmiques, etc ?
Je suis étudiant en informatique à Bruxelles et parfois un peu frustré qu'on ne nous apprend pas ce genre de choses qui le mériteraient bien !-
[^]Re: C'est quoi ?
Posté par alenvers () le 21/05/2004 à 11:05. (lien). Évalué à 1.>N'y aurait-il pas un bon site en ce qui concerne ces subtilités
>algorithmiques, etc ?
T'es à l'ULB ? Parce que c'est la que j'ai appris cela... Il y a mon mémoire aussi.
Sur mon ex-page de recherche (plus mise à jour depuis au moins 2000) :
Table des matières
http://www.ulb.ac.be/di/ssd/apiron/msthesis/toc.pdf(...)
Introduction
http://www.ulb.ac.be/di/ssd/apiron/msthesis/intro.pdf(...)
Bibliographie
http://www.ulb.ac.be/di/ssd/apiron/msthesis/bib.pdf(...)
Je peux envoyer tout si je le retrouve, suffit de demander.-
[^]Re: C'est quoi ?
Posté par IntraveineuZ (page perso, ) le 21/05/2004 à 12:56. (lien). Évalué à 1.oui je suis à l'ULB (2ieme candidature)
effectivement, on voit surement cette technique au cours de Compilo mais c'est pour l'année prochaine...
merci !-
[^]Re: C'est quoi ?
Posté par alenvers () le 21/05/2004 à 15:05. (lien). Évalué à 1.Au cours de compilo, tu ne verra pas ça ; - ) Le premier cours est plutot axé théorie des langages (et pas des compilos) : grammaires, etc.
Les livres de références sont :
- le dragon book (http://www.amazon.com/exec/obidos/tg/detail/-/0201100886/103-294489(...)) : orienté fort vers la pratique et recettes de cuisines (à lire en premier) ;
- J. E. Hopcroft, J. D. Ullman : "Introduction to automata theory, languages, and computation." Addison Wesley, 1979. [Loc. : B.M.I., B.U.] , une grande partie de ce que demande T. Massart vient de là ;
- Je préfère nettement (au dragon book) "Crafting a compiler with C" de Fisher et Leblanc qui offre un développement plus formel et tout est mieux expliqué ;
Pour ce qui est de l'optimistation de code, dans les livres précédents tu ne trouveras qu'une introduction...
Je te conseille avant de te lancer la dedans d'augmenter tes connaissances en math et notament en théorie de l'ordre et des treillis. Doignon (le prof de Math de de 1er si c encore lui) est un expert dans le domaine, tu pourras emprunter cher lui le livre : "Introduction to lattices and order" de davey et Priestley qui donne une bonne intro (Y a mon mémoire qui donne une petite intro mais peut-être un peu trop succint).
Pour ce qui est de l'optimisation plus avancée, il y a les livres de Wolf donnés en référence dans la biblio de mon mémoire.
Pour le SSA, lors de la rédaction de mon mémoire, il n'y avait aucun ouvrage (a ma connaissance) reprenant tous les domaines abordés. Les articles publiés à l'ACM sont une vrai mine dans le domaine de l'optimisation.
PS : N'hésite pas à prendre le 2ème cours de licence (optionnel) en compilo, il est très sympa... Je pense que maintenant c'est J. Goossens qui le donne. J'ai donné les TP de compilo pendant 3 ans avec lui.
-
-
-
-

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.