L'avantage d'un processeur PPC récent comme le PPC-750 (G4) ou le PPC-970 (G5) c'est son unité vectorielle (Altivec).
Elle est vraiment très puissante par rapport aux processeurs X86....mais je me pose une petite question sur sa prise en compte sous GNU/Linux.
Autant je suis certain que OSX utilise à fond cette unité autant j'ai de gros doutes pour les distribs Linux.
Pour utiliser GNU/Linux sur un PPC y'a pas 36 choix :
- Yellow Dog n'évoque nulle part sur son site une quelconque optimisation Altivec
- Debian propose des paquets PPC et donc je pense que c'est le plus petit dénominateur sans prise en compte d'Altivec
- Gentoo propose de compiler ses paquets mais existe-il du code vectoriel Altivec dans le source ?
Il faudrait quoi pour une prise en compte correcte ? que les libs multimedia genre Gstreamer soit optimisées ? et le kernel ça compte ?
Est-ce que c'est envisageable des codes du genre :
IF PPC-Altivec
THEN code_vectoriel_de_la_mort_qui_tue
ELSE code_classique_tout_lent
# GCC?
Posté par Sylvain Briole (site web personnel) . Évalué à 2.
[^] # Re: GCC?
Posté par kolter (site web personnel, Mastodon) . Évalué à 3.
un thread sur la ML de gcc en parle : http://gcc.gnu.org/ml/gcc/2003-04/threads.html#00656(...)
en le parcourant en travers on découvre les options à passer à gcc pour le gérer.... après tu peux recompiler tous ce qui te chante.....
M.
[^] # Re: GCC?
Posté par patrick_g (site web personnel) . Évalué à 2.
c'est exactement ce que je demande : est-ce que ce code existe sous linux ou non ?
avec un beau powerbook qui tourne sous un OSX super-optimisé avec pleins d'applis super-optimisées c'est quoi l'avantage de passer sous GNU/Linux pour un néophyte ? (outre la liberté)
[^] # Re: GCC?
Posté par DiZ . Évalué à -1.
>super-optimisées...
Heureusement que c'est "super-optimisé" parce que ca deviendrait encore plus inutilisable
[^] # Re: GCC?
Posté par Sylvain Briole (site web personnel) . Évalué à 1.
En effet : ou alors compiler avec aut' chose que GCC.
Puisque tu penses que le compilo de BSD de MacOSX supporte l'Activec, pourquoi ne pas tenter de compiler dans un premier temps avec lui pour tester?
[^] # Re: GCC?
Posté par Christophe Fergeau . Évalué à 4.
[^] # Re: GCC?
Posté par Loïs Taulelle ࿋ (site web personnel) . Évalué à 1.
Avoir la même distribution sur toutes tes machines ?
(j'ai du Sparc32, Sparc64, x86-32 et PPC, partout du Debian,
je reste en terrain connu)
Proverbe Alien : Sauvez la terre ? Mangez des humains !
[^] # Tout a fait thierry (tm)
Posté par TheBreton . Évalué à 1.
http://www.findsabrina.org/altivec/(...)
un point de depart pour patcher le gcc3.3 de yellow dog pour la prise en charge de l'altivec.
une recompil de l'appli en question pour la prise en compte et hop...
recompiler le kernel directement est une mauvaise(idée pour moi) car je crois qu'il faut le patcher d'abord
# optimisations altivec sous Linux
Posté par Colin Leroy (site web personnel) . Évalué à 4.
Pour utiliser l'altivec il faut un noyau qui le supporte (il le supporte, faut juste le cocher, mais je crois que le pmac_defconfig l'a précoché).
Ensuite, il faut passer des arguments à gcc, genre "-maltivec -mabi=altivec".
Enfin, il faut que le code source compilé contienne ces optimisations en assembleur. En effet gcc ne peut pas générer du code altivec "tout seul", il faut le lui faire. FFmpeg, par exemple, a des bouts de source optimisés altivec (voir http://www1.mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/ppc/?(...) ).
Pour MacOS X, il me semble que c'est pareil, une appli doit implémenter de l'assembleur Altivec pour en profiter.
[^] # Re: optimisations altivec sous Linux
Posté par twisla (site web personnel) . Évalué à 1.
"altivec Adds support for optimizations for G4 and G5/ppc970 processors "
[^] # Re: optimisations altivec sous Linux
Posté par patrick_g (site web personnel) . Évalué à 2.
en gros y'a quasi rien qui est prévu sur le plan des optimisations en assembleur dans les sources....
c'est lourd quand même je trouve car en passant sous nux on abandonne volontairement l'intégration et le coté "bien léché et bien intégré" de OSX....si en plus on perds en performance et on n'utilise plus que 50 % de son CPU ça fait mal !
[^] # Re: optimisations altivec sous Linux
Posté par TheBreton . Évalué à 2.
Il suffit juste que quelqu'un se penche la dessus et se bouge un peut pour faire la chose.
Forcement, si personne ne se bouge cela ne se feras pas.
sur le dev x86 de nombreuse optimisation et utilisation de particularité en asm sont faite. au possesseur de G3/4 de faire pareille dans le kernel tree ou dans gcc.
[^] # Re: optimisations altivec sous Linux
Posté par patrick_g (site web personnel) . Évalué à 1.
OSX optimisé : OUI
OSX déja installé : OUI
OSX bien intégré : OUI
Linux optimisé :NON
Linux déja installé :NON
Linux bien intégré :NON
Faut avoir vraiment la foi en saint Stallman pour switcher je trouve....
Je sais bien que l'install c'est pas la faute des devs libres mais l'intégration et l'optimisation si.
[^] # Re: optimisations altivec sous Linux
Posté par cedric . Évalué à 1.
[^] # Re: optimisations altivec sous Linux
Posté par Colin Leroy (site web personnel) . Évalué à 2.
[^] # Re: optimisations altivec sous Linux
Posté par patrick_g (site web personnel) . Évalué à 2.
[^] # Re: optimisations altivec sous Linux
Posté par Christophe Fergeau . Évalué à 4.
Faut pas rêver non plus et trop écouter apple. altivec (tout comme sse2 d'ailleurs) sur des algos très spécifiques (en particulier tout ce qui est traitement du signal, d'image, de matrices, ...) améliorera grandement les performances, mais c'est beaucoup moins versatile qu'un vrai proc et dans beaucoup de cas ça ne sert à rien.
[^] # Re: optimisations altivec sous Linux
Posté par fmaz fmaz . Évalué à 2.
D'après ce que j'ai compris, les noyaux macOS X sont des noyaux hybrides. C'est à dire qu'ils sont entre les micro-noyaux genre hurd et les noyaux monoblocs à la linux.
Toujours d'après ce que j'ai compris un micro noyau, c'est propre, c'est modulaire mais c'est lent car à chaque appel système, il y a beaucoup plus de changements de contexte que dans un noyau monobloc.
Bref au boulot, j'ai un superbe mac G4 mais je trouve qu'il rame. L'interface est rapide mais il est beaucoup plus lent que mon portable intel+linux. Je n'ai pas eu le courage de le passer sous linux pour juger de l'impact de la conception noyau.
Donc si tu fais l'essai, je suis intéressé pas d'éventuels retours.
[^] # Re: optimisations altivec sous Linux
Posté par Sylvain Briole (site web personnel) . Évalué à 1.
Et c'est normal : normalement c'est le boulot du compilo ce genre de choses.
La seule partie assembleur qui doit être contenue dans le noyau, AMHA, c'est ce dont le noyau a besoin pour démarrer ou alors les pilotes de périphériques qui ne peuvent pas être codés autrement.
Le gros intérêt de déléguer ce genre de choses au compilo' réside dans le fait que ce dernier fera une optimisation globale, automatisée, dès qu'il verra que c'est possible, sur le code source. Alors que l'insertion sous forme "pragma" dans le code source du noyau impose au développeur de revoir tout le noyau (je ne sais pas si tu as vu la quantité de sources...) pour voir où c'est implémentable (francais?)....
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.