Altivec et Xcode 2

aranaudaranaud Membre
20:26 modifié dans API AppKit #1
Dans un programme, j'utilise Altivec pour une petite partie de celui-ci.

Or, depuis mon passage à  Xcode 2, la partie codée en Altivec ne fonctionne plus. La seul différence avec avant est une recompilation avec Xcode 2.  :crackboom:-

Réponses

  • ChachaChacha Membre
    mai 2005 modifié #2
    Salut,

    J'attendais, avant d'écrire cette réponse, d'avoir retrouvé le document d'Apple, publié après la sortie de Tiger, référençant bugs connus et incompatibilités.
    Notamment, dans la librairie vDSP.h, j'avais déjà  souffert de la fonction vsub(), dont l'ordre des arguments a changé au cours des différentes mises à Â  jour du système.
    Si ton code ne marche plus, c'est peut-être dû à  un tel problème.

    Je suis toujours en quête pour retrouver la page dont je parle.


    +
    Chacha

    [edit]
    Une première piste :
    http://developer.apple.com/hardware/ve/errata.html
    [/edit]
  • aranaudaranaud Membre
    20:26 modifié #3
    Merci.
    Je regarde ça. À croire que sa les amusent chez Apple de modifier les règles.
  • wiskywisky Membre
    20:26 modifié #4
    c'est peut être pour faite réécrire du code et mieux l'optimiser ;)
  • aranaudaranaud Membre
    novembre 2005 modifié #5
    Peut-être mais quand on ne sait pas se qui a changé.  :crackboom:-
    Bas, de tous façon avec l'arrivé des processeurs Intel, je crois que je vais laisser tomber Altivec.
  • AliGatorAliGator Membre, Modérateur
    20:26 modifié #6
    On avait pas parlé d'un framework Apple dédié à  l'accélération graphique ?

    Avec des méthodes qui encapsuleraient des appels à  Altivec directement si besoin, mais qui avait l'avantage d'être portable, autrement dit si tu utilises directement ce framework (AccelerationKit je crois ?) ça fera toujours utiliser des appels à  AlitiVec sur processeur PPC, mais au moment du passage à  Intel le framework fera des appels aux méthodes d'accélération graphique propres au proc Intel (SSE/SSE2, non ?)

    Donc tu peux te tourner vers ce AccelerationKit, ça ne te fera pas abandonner AltiVec, en tout cas tu utiliseras toujours ses performances, mais pas de soucis lors du portage en UB :)
  • aranaudaranaud Membre
    20:26 modifié #7
    C'est pas pour des images que je l'utilise mais pour du codage de donner.
  • AliGatorAliGator Membre, Modérateur
    20:26 modifié #8
    Au temps pour moi*, j'aurais pas dû écrire "pour l'accélération graphique" mais "pour l'accélération vectorielle"
    AltiVec tout comme l'AccelerateKit sont dédiés à  l'utilisation des fonctionnalités vectorielles du processeur. Que leur utilisation soit pour du graphisme (fort usage de vectoriel dans ce domaine pour les calculs et traitement d'image, certes) ou pour autre chose (calculs vectoriels, matriciels...)...

    Enfin je n'ai jamais utilisé ni l'un ni l'autre mais comme il me semble que l'AccelerateKit n'est qu'un framework faisant des appels à  AltiVec (enfin... sur architecture PPC), il n'est pas dédié à  l'image uniquement, me trompé-je ?

    L'intérêt de l'AccelerateKit est j'imagine de pouvoir utiliser des méthodes qui encapsulent des appels à  des fonctions vectorielles, qui seront des appels à  AltiVec si tu es sous PPC et à  SSE/SSE2 si tu es sous Intel. Alors que si tu fais directement appel à  des fonctions AltiVec, lors du passage sous Intel avec SSE, t'es cuit ;)
  • aranaudaranaud Membre
    20:26 modifié #9
    dans 1132225255:

    Enfin je n'ai jamais utilisé ni l'un ni l'autre mais comme il me semble que l'AccelerateKit n'est qu'un framework faisant des appels à  AltiVec (enfin... sur architecture PPC), il n'est pas dédié à  l'image uniquement, me trompé-je ?

    Je vais regarder çà . Je suppose que l'on ne s'occupe plus du types de processeur ensuite : G3, G4 ou intel et que l'optimisation pour les G5 se fait tous seul.

    dans 1132225255:

    Alors que si tu fais directement appel à  des fonctions AltiVec, lors du passage sous Intel avec SSE, t'es cuit ;)

    ça, je se sais, c'est pourquoi je n'écarte pas l'éventualité d'abandonner AltiVec.
  • Eddy58Eddy58 Membre
    20:26 modifié #10
    dans 1132225255:

    Enfin je n'ai jamais utilisé ni l'un ni l'autre mais comme il me semble que l'AccelerateKit n'est qu'un framework faisant des appels à  AltiVec (enfin... sur architecture PPC), il n'est pas dédié à  l'image uniquement, me trompé-je ?

    L'Accelerate framework n'est pas seulement dédié au traitement d'image, c'est en faites une compilation de plusieurs librairies spécialisées dans leur domaine. Voir cette doc.:)
  • aranaudaranaud Membre
    20:26 modifié #11
    Tien, il semblerai que Rosetta supporte l'Altivec.
    Rosetta supporte l'Altivec ? (macbidouille)
Connectez-vous ou Inscrivez-vous pour répondre.