2012-03-02 23 views
9

Alcuni carichi di lavoro di tipo DSP sembrano mostrare un miglioramento delle prestazioni molto significativo sui processori Intel x86 x86_64, quando sono collegati alla libreria Intel IPP.Esiste un equivalente ARM di Intel IPP?

Ti chiedi se c'è qualcosa di simile sul lato ARM? Soprattutto quello potrebbe funzionare su ARM9, ARM11 e Cortex-A8/A9 (non necessariamente con lo stesso livello di incremento delle prestazioni).

Infine, questa domanda seguente potrebbe non essere corretta/accettabile qui, quindi i mods possono essere gentili di lasciare un commento e posso modificarlo.

Ho cercato di leggere il contratto di licenza di IPP, ma non è chiaro se la licenza IPP commerciale su Linux, vendendo per US $ 199 + tasse, dà diritto a una singola copia personale (ma per un possibile uso commerciale) della biblioteca, o si può collegare la loro applicazione a questa biblioteca e venderla per guadagno commerciale? O ha bisogno di un diverso tipo di licenza? Non è possibile trovare un posto nel sito Intel per porre questa domanda (niente come Vendite di contatto)!

risposta

6

Ci sono diverse risposte alla tua domanda, a seconda di come la si guarda.

Intel IPP è una libreria con molte funzioni preconfigurate per svolgere attività comuni come le trasformate veloci di Fourier e così via. ci sono librerie specifiche nella comunità open source che fare lo stesso, guarda:

e molti altri. Non tutte queste librerie sono ottimizzate per i vari core ARM.

Il secondo punto della tua domanda è perché desideri qualcosa che funzioni su core ARM molto diversi. Su Cortex Un processore di famiglia, si dispone delle istruzioni (facoltative!) ARM NEON SIMD che (come MMX/SSE/AltiVec) possono acquisire contemporaneamente un set di dati e applicarvi diverse operazioni. Ciò riduce la quantità di istruzioni necessarie per elaborare una quantità di dati. La famiglia ARM11xx ha qualcosa di simile ma molto più limitato chiamato VFP3. Alla famiglia ARM9xx mancano davvero questo tipo di ottimizzazioni. Oltre a ciò, l'architettura ARM ha Thumb e Thumb2 che possono risultare in un codice più piccolo e più veloce.

Il risultato finale è che le librerie ottimizzate che funzionano realmente su una moltitudine di core ARM, dovranno avere diverse implementazioni dello stesso algoritmo per carichi di lavoro diversi. Ciò aumenterà le dimensioni della libreria. Sei disposto a pagare quel prezzo?

4

Su iOS è disponibile la struttura accelerata ottimizzata per ARM che utilizza SIMD, se disponibile. Consulta la documentazione di Apple here.

+0

Interessante. Non ne ho mai sentito parlare. Sicuramente merita di essere guardato. –

8

C'è anche ARM sponsored progetto open source Ne10 che inizialmente copre un piccolo insieme di funzioni di manipolazione di aritmetica a virgola mobile, vettoriale e matrice.

+0

Grazie per la soffiata! Sembra interessante. – icarus74

Problemi correlati