2010-08-09 5 views
6

Je pense avoir trouvé des gemmes dans l'iPhone OS (iOS 4).

J'ai trouvé qu'il y a des types de données entiers de 128 bits, 256 bits, 512 bits et 1024 bits, fournis par le Accelerate Framework. Il y a aussi la mise en œuvre par Apple des sous-programmes d'algèbre linéaire de base (BLAS), la mise en œuvre par Apple des routines LAPACK (algèbre linéaire) et des routines de traitement du signal numérique (DSP). Je suis tellement excité parce que BLAS et LAPACK sont les meilleures (et les plus célèbres) bibliothèques autant que je sache. (Dans le cas où vous n'avez jamais entendu leurs noms, juste Google et vous comprendrez.) Ils vous permettent de résoudre des équations linéaires simultanées (par exemple A x = b en notation vectorielle/matricielle), faire des multiplications matricielles rapides , et plus. Je suis tout à fait sûr que les bibliothèques sont disponibles à la fois sur Mac PowerPC et Intel. Cependant, lorsque je consulte la documentation "Quoi de neuf dans iOS4" dans Xcode, il est dit que les types de données ne sont "supportés sur aucune architecture". Quand je compare le vecLib Reference for Mac OS X et vecLlib Reference for iOS, j'ai également constaté que les fonctions manquent dans la version iOS.

Ma question est:
Quelqu'un at-il compilé un programme utilisant ces bibliothèques (bignum est mon principal domaine d'intérêt) et de les exécuter avec succès sur un véritable appareil iPhone? (Répondants qui peuvent démontrer leur expérience réelle sur la librarie (s) sont plus appréciées.)

Voici les liens vers la bibliothèque de référence:
Accelerate Framework (iOS Reference Library)
vecLib Reference (Mac OS X Reference Library)
vecLib Reference (iOS Reference Library)

Voici FAQ officielles de BLAS et LAPACK:
BLAS FAQ
LAPACK FAQ

Bignum, algèbre linéaire et traitement du signal numérique sur iPhone OS (iOS 4)

+2

Ce n'est pas une réponse (d'où le commentaire) mais j'ai écrit un wrapper Objective-C autour de bignum d'OpenSSL.Je n'ai pas essayé de le compiler pour iPhone, mais vous pouvez le partager et contribuer: http://github.com/davedelong/CHMath –

+0

Salut, Dave. Merci pour votre vote! '//' Je ne compile pas les librairies BLAS et LAPACK sur l'iPhone, mais il semble que ** APPLE A MIS EN OEUVRE LA MÊME API **, et c'est pourquoi je suis tellement excitée. Veuillez vous reporter aux liens "Bibliothèque de référence" que j'ai publiés ci-dessus. '//' J'utilise beaucoup OpenSSL et j'imagine qu'ils devraient aussi avoir de très bonnes bibliothèques entières! Mais comme je ne suis pas familier avec le lib/API, je ne suis pas sûr qu'ils soient assez faciles à utiliser. J'ai peur des tonnes de travail de baby-sitting avant d'utiliser une bibliothèque. '//' J'ai visité votre projet GitHub et j'entrerai dans plus de détails quand j'ai le temps ~ –

+0

Cette question demande quelque chose de similaire (bien que pas dans un formulaire aussi détaillé): http://stackoverflow.com/questions/3398753/ using-the-apple-fft-and-accelerate-framework –

Répondre

1

Je l'ai fait un peu de travail dans OpenCV basé sur le projet de Yoshimasa Niwa ici:

http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en

Son code actuel builds en utilisant le framework Accelerate (voir les patchs personnalisés).

+0

Merci beaucoup pour votre information ^.^Nice ~ –

2

Même si je ne l'ai pas encore utilisé Accelerate dans une application d'expédition, je ne reçois beaucoup de WWDC 2010 session 202 Apple - « Le cadre Accelerate pour iPhone OS ». Si vous êtes intéressé par ce framework, je vous recommande vivement de regarder cette vidéo.

Bien qu'il soit possible d'utiliser plusieurs de ces fonctions sur l'iPhone, toutes n'ont pas encore été portées. Seuls vDSP, BLAS et LAPACK sont disponibles dans iOS 4.0, même si d'autres utilisateurs pourraient bientôt les rejoindre.

Bien que rédigé pour le Mac, l'article "Taking Advantage of the Accelerate Framework" donne une bonne introduction au framework, en plus des ressources que vous avez énumérées ci-dessus.

+0

Merci pour votre information! C'est exactement pourquoi je suis curieux! Il semble qu'Apple fasse beaucoup de publicité sur le Framework Accelerate, mais il semble aussi qu'il soit en quelque sorte "en construction". J'ai fait quelques tests sur l'iPhone Simulator, et ils semblaient bien aller! Mais, comme d'habitude, d'accord sur le simulateur (qui est basé sur Intel!) Ne veut pas dire d'accord sur le dispositif réel. Comme je ne suis pas encore passé par le processus d'identification d'application (pas encore le temps de comprendre le processus, et je ne suis pas prêt à le faire sans comprendre), j'ai posé cette question ici. Merci pour vos liens! Je vais leur rendre visite quand j'ai le temps. –

+3

Juste pour mettre à jour, dans iOS5.0 Accélérer ramassé vForce et vImage. –

+1

Pour mettre à jour à nouveau, dans iOS 6.0, vMathLib a été ajouté. –