Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 254 890

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Développeurs, pourquoi ne pas utiliser l'Altivec ?

Développeurs, pourquoi ne pas utiliser l'Altivec ?#1578

7Contributeur(s)
K-LalexthelliersinisrusLiocortobigdan
3 Modérateur(s)
K-LElwoodcorto
K-L K-Licon_post
Une question comme ça :

Je remaque que très peu de programmes utilisent l'Altivec des G4 et PA6T. Pourquoi ?

J'ai trouvé ces liens assez intéressants :

http://penguinppc.org/dev/
http://www.ibm.com/developerworks/power/library/pa-unrollav1/
http://www.ibm.com/developerworks/power/library/pa-unrollav2/
http://www.ibm.com/developerworks/power/library/pa-unrollav3/
http://www.amiga-ng.org/resources/OptimizeForAltivec.pdf

Pareil pour le fameux OnChipMem du 460 (bien que plus récemment mis à disposition et que les essais de Corto n'ont pas été concluants).

Avant on optimisait pour les chipsets propriétaires de l'Amiga, pourquoi ne pas continuer ? (Je ne parle même pas du XMOS vu que je n'ai pas vraiment l'impression qu'il va avoir un jour une quelconque utilité).
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE

Message édité par : K-L / 23-06-2013 18:42
alex alexicon_post
Citation : K-L Je ne parle même pas du XMOS vu que je n'ai pas vraiment l'impression qu'il va avoir un jour une quelconque utilité


Pourtant la carte Xorro est disponible chez AmigaKit depuis quelques temps déjà : http://amigakit.leamancomputing.com/catalog/product_info.php?manufacturers_id=43&products_id=1135

Il ne manque que des gens pour trouver des applications à cette possibilité... Il y a des gens qui ont annoncé avoir des projets mais rien de bien transcendant : émulateur de chip SID, interface de débogage asynchrone qui ne ralenti pas l'exécution du soft... A mon avis il ne faut pas s'attendre à des applications hyper pointues car le processeur n'est pas un foudre de guerre en calcul pur, il est bon dans les IO, je pense par exemple que l'on pourrait se monter un système domotique piloté par le X1000 ce serait parfait.

Citation : K-L Je remaque que très peu de programmes utilisent l'Altivec des G4 et PA6T. Pourquoi ?


Certainement pour la même raison que l'on n'a principalement que des portages de soft au lieu d'avoir des softs originaux : le manque de ressources humaines et temporelles... De plus pour pouvoir être optimiser et utiliser à plein ces technos il faut les maitriser hors le PPC n'est encore disponible que dans des niches bien déterminées du coup peu de gens maitrise encore cet art de par leur profession et l'apprendre ne leur donnerait pas d'avantage professionnel (ce peut être une motivation pour passer de son temps libre à bouquiner cette techno)
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM

Message édité par : alex / 24-06-2013 11:06
Message édité par : alex / 24-06-2013 11:06
thellier thelliericon_post
Réponse courte:
Quand j'avais un PegII l'altivec étais pas supporté à cette époque...
Maintenant que j'ai une Sam440 elle a pas d'altivec...

Réponse longue:
Quand on compile un prog C standard avec "juste" les options altivec (comme on ferait une compil -m68060) alors ça fait rien ==> il faut vraiment utiliser les instructions altivec
Mais si on ajoute une routine en ASM altivec dans (disons) Microbe3D alors je peut pas la tester du tout sur ma Sam = aucune garantie qu'elle marche :-/

Sinon c vrai que (en théorie) l'altivec c'est super mais dans des domaines très limités qui demandent beaucoup de calculs
Même des calculs très simples en bénéficient dès lors qu'ils sont fait en masse (genre conversion d'une video YUV vers RGB)

Alain



Message édité par : thellier / 24-06-2013 11:52
thellier thelliericon_post
Ton document
http://www.amiga-ng.org/resources/OptimizeForAltivec.pdf
est particuliérement impressionnant : je le sauvegarde dans un coin

Voici un exemple simple de prog Altivec pour faire du YUV vers RGB (=conversion d'une image video)
à recompiler/tester sur Amiga PPC
https://github.com/fungos/seed/blob/master/contrib/oggplay/ppc/oggplay_yuv2rgb_altivec.c

Les structures en parametres sont définies ainsi

struct _OggPlayYUVChannels
structure holds pointers to y, u, v channels

unsigned char * ptru U channel.
unsigned char * ptrv V channel.
unsigned char * ptry Y channel.
int uv_height the height of the U/V plane
int uv_width the width of the U/V plane
int y_height the height of the Y plane
int y_width the width of the Y plane

struct _OggPlayRGBChannels
structure holds pointers to RGB packets

unsigned char * ptro the RGB stream in the requested packaging format
int rgb_height height of the RGB frame
int rgb_width width of the RGB frame
sinisrus sinisrusicon_post
par ce qu'on peux pas avec RxMui... ;-)
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
Lio Lioicon_post
il me semble me rappeler un sujet sur AW.net ou Amigans.net qui indiquait que DVplayer utilisait l'altivec ainsi que certaines fonctions du système.
A1G4/Radeon9000PRO/1Go RAM; X5000/RadeonR7-250x/2Go RAM; AOS4.1FE
K-L K-Licon_post
DvPlayer utilise en effet l'Altivec et la dernière avcodec.library de Diego a aussi une version compilée pour l'Altivec (il a simplement compilé pour l'Altivec mais n'a pas travaillé la bibliothèque avec des fonctions spécifiques), il y a un léger gain (j'étais le beta testeur à l'époque).

FFmpeg utilise aussi l'Altivec, ainsi que MPlayer (dommage que nos versions soient moisies même avec ça).

D'après ce que j'ai compris, MiniGL possède aussi quelques fonctions utilisant le Velocity Engine (ou VMX ou Altivec :-) ).

Enfin, TimberWolf RC-2 possède une libcairo optimisée pour l'Altivec (quand TW RC-3 est sorti, il fallait copier cette bibliothèques pour remplacer celle fournie).
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
thellier thelliericon_post
D'après les vieilles sources de MiniGL que j'ai sur mon disque
avec une recherche *.c contenant "altivec.h" je trouve que MiniGL
utilise Altivec dans 2 fonctions
-La multiplication de matrices
-La transformation de vecteurs par une matrice
C'est effectivement là où Altivec est le plus utile :-)

Dans les sources de Aros avec la même recherche:
libaften (c'est quoi ?)
pixman
libavcodec
SDL

Alain


alex alexicon_post
Citation : thellier?
Dans les sources de Aros avec la même recherche:
libaften (c'est quoi ?)


"Aften is an audio encoder which generates compressed audio streams based on ATSC A/52 specification. This type of audio is also known as AC-3 or Dolby? Digital and is one of the audio codecs used in DVD-Video content." source: http://aften.sourceforge.net/

Citation : thellier?

Ton document
http://www.amiga-ng.org/resources/OptimizeForAltivec.pdf
est particuliérement impressionnant : je le sauvegarde dans un coin

Je viens d'y jeter un rapide coup d'oeil moi aussi et effectivement c'est intéressant...
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
corto cortoicon_post
Si AltiVec n'est pas plus utilisé c'est qu'il demande de se former pour pouvoir l'utiliser. On ne peut pas compiler avec l'option AltiVec et hop, obtenir un-programme-qui-fonce.

Une autre barrière, c'est que ça n'est pas magique et ce n'est pas parce qu'un programme rame qu'utiliser AltiVec va lui donner des ailes. Il faudrait un moyen de déterminer quels programmes ou bibliothèques pourraient en bénéficier.

Les outils, mes amis, les outils !

AltiVec est passionnant, j'adorerai m'y pencher plus !
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme