Efficient Implementation of Particle Filters in Application-Specific Instruction-Set Processor

Qifeng Gan

Thèse de doctorat (2013)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 2MB •

Résumé

Cette thèse considère le problème de l'implémentation de filtres particulaires (particle filters PFs) dans des processeurs à jeu d'instructions spécialisé (Application-Specific Instruction-set Processors ASIPs). Considérant la diversité et la complexité des PFs, leur implémentation requiert une grande efficacité dans les calculs et de la flexibilité dans leur conception. La conception de ASIPs peut se faire avec un niveau intéressant de flexibilité. Notre recherche se concentre donc sur l'amélioration du débit des PFs dans un environnement de conception de ASIP. Une approche générale est tout d'abord proposée pour caractériser la complexité computationnelle des PFs. Puisque les PFs peuvent être utilisés dans une vaste gamme d'applications, nous utilisons deux types de blocs afin de distinguer les propriétés des PFs. Le premier type est spécifique à l'application et le deuxième type est spécifique à l'algorithme. Selon les résultats de profilage, nous avons identifié que les blocs du calcul de la probabilité et du rééchantillonnage sont les goulots d'étranglement principaux des blocs spécifiques à l'algorithme. Nous explorons l'optimisation de ces deux blocs aux niveaux algorithmique et architectural. Le niveau algorithmique offre un grand potentiel d'accélération et d'amélioration du débit. Notre travail débute donc à ce niveau par l'analyse de la complexité des blocs du calcul de la probabilité et du rééchantillonnage, puis continue avec leur simplification et modification. Nous avons simplifié le bloc du calcul de la probabilité en proposant un mécanisme de quantification uniforme, l'algorithme UQLE. Les résultats démontrent une amélioration significative d'une implémentation logicielle, sans perte de précision. Le pire cas de l'algorithme UQLE implémenté en logiciel à virgule fixe avec 32 niveaux de quantification atteint une accélération moyenne de 23.7× par rapport à l'implémentation logicielle de l'algorithme ELE. Nous proposons aussi deux nouveaux algorithmes de rééchantillonnage pour remplacer l'algorithme séquentiel de rééchantillonnage systématique (SR) dans les PFs. Ce sont l'algorithme SR reformulé et l'algorithme SR parallèle (PSR). L'algorithme SR reformulé combine un groupe de boucles en une boucle unique afin de faciliter sa parallélisation dans un ASIP. L'algorithme PSR rend les itérations indépendantes, permettant ainsi à l'algorithme de rééchantillonnage de s'exécuter en parallèle. De plus, l'algorithme PSR a une complexité computationnelle plus faible que l'algorithme SR. Du point de vue architectural, les ASIPs offrent un grand potentiel pour l'implémentation de PFs parce qu'ils présentent un bon équilibre entre l'efficacité computationnelle et la flexibilité de conception. Ils permettent des améliorations considérables en débit par l'inclusion d'instructions spécialisées, tout en conservant la facilité relative de programmation de processeurs à usage général. Après avoir identifié les goulots d'étranglement de PFs dans les blocs spécifiques à l'algorithme, nous avons généré des instructions spécialisées pour les algorithmes UQLE, SR reformulé et PSR. Le débit a été significativement amélioré par rapport à une implémentation purement logicielle tournant sur un processeur à usage général. L'implémentation de l'algorithme UQLE avec instruction spécialisée avec 32 intervalles atteint une accélération de 34× par rapport au pire cas de son implémentation logicielle, avec 3.75 K portes logiques additionnelles. Nous avons produit une implémentation de l'algorithme SR reformulé, avec quatre poids calculés en parallèle et huit catégories définies par des bornes uniformément distribuées qui sont comparées simultanément. Elle atteint une accélération de 23.9× par rapport à l'algorithme SR séquentiel dans un processeur à usage général. Le surcoût est limité à 54 K portes logiques additionnelles. Pour l'algorithme PSR, nous avons conçu quatre instructions spécialisées configurées pour supporter quatre poids entrés en parallèle. Elles mènent à une accélération de 53.4× par rapport à une implémentation de l'algorithme SR en virgule flottante sur un processeur à usage général, avec un surcoût de 47.3 K portes logiques additionnelles. Finalement, nous avons considéré une application du suivi vidéo et implémenté dans un ASIP un algorithme de FP basé sur un histogramme. Nous avons identifié le calcul de l'histogramme comme étant le goulot principal des blocs spécifiques à l'application. Nous avons donc proposé une architecture de calcul d'histogramme à réseau parallèle (PAHA) pour ASIPs. Les résultats d'implémentation démontrent qu'un PAHA à 16 voies atteint une accélération de 43.75× par rapport à une implémentation logicielle sur un processeur à usage général.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:1169
ORCID
Date du dépôt:
23 oct. 2013 13:36
Dernière modification:
14 oct. 2026 10:37
Citer en APA 7:
Gan, Q. (2013). Efficient Implementation of Particle Filters in Application-Specific Instruction-Set Processor [Thèse de doctorat, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/1169/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document