L’exécution de routines de traitement du signal numérique (DSP) en temps réel tel la transformée de Fourier (FFT), le moyennage du signal, le filtrage par réponse impulsionnelle (FIR), la conversion numérique (DDC) et d’autres a traditionnellement exigé l’utilisation de processeurs DSP dédiés, de FPGA ou des circuits intégrés à application spécifique (ASIC).
La taille des processeurs DSP, des FPGA et des ASIC est souvent limitée et nécessitent un développement significatif avec compétences d’ingénierie spécialisées dans des langages particuliers et outils de développement qui sont souvent natifs et propriétaires de la appareil ciblé. Ces solutions sont généralement coûteuses en termes de composants, de suites logicielles requises associées de longs cycles de développement et des ressources d’expert.
Avec l’évolution croissante des ressources de processeur multicœur, les développeurs ont commencé à mettre en œuvre des routines DSP utilisant le CPU hôte. Le principal avantage de la plate-forme CPU hôte est qu’il permet un développement plus rapide en utilisant plus des environnements de programmation plus familiers tels que C; par opposition à plus programmation complexe basée sur le VHDL généralement nécessaire
pour les FPGA. Cependant, un inconvénient est que le processeur de l’hôte peut encore ne pas être assez puissant pour mener des routines de traitement complexes, en particulier pour le temps réel exigences de l’application.
L’utilisation d’une GPU offre le meilleur des deux capacités, une rapidité environnement de développement de programmation familier tel que C et des capacités de calcul plus puissantes que l’hôte pour satisfaire les applications requises en temps réel. Les GPU intègrent beaucoup plus de cœurs avec un bus mémoire haute vitesse pouvant être utilisé efficacement en parallèle pour une manipulation efficace de gros blocs de données.