Stage Projet de fin d’études – Profiling logiciel sur processeur RISC-V

Allegro_light1
Our Company

Créée en 2003, Allegro DVT est une entreprise internationale en forte croissance. Son expertise est mondialement reconnue dans le domaine de la vidéo numérique sur le marché des semi-conducteurs. Les équipes sont basées en France, en Chine, aux Etats-Unis, à Chypre, en Arménie et au Royaume-Uni. 

Le savoir-faire d’Allegro DVT est notamment présent dans les caméras de voitures, les jeux vidéo, les téléphones portables, les montres connectées, les caméras de surveillance, etc… 

Les acteurs majeurs de la micro-électronique, de l’industrie automobile et les acteurs dans le secteur de diffusion et streaming vidéo comptent parmi ses clients. Ses produits sont des leviers d’attractivité pour les marchés émergents tels que l’IA, les véhicules autonomes, la robotique et la santé. 

Chez Allegro DVT vous trouverez des projets innovants, variés et passionnants !

Contexte 

Les normes d’encodage vidéo sont de plus en plus complexes. Cette complexité nécessite le développement de décodeurs matériels dédiés afin de pouvoir décoder des vidéos en temps réel, avec un facteur de consommation énergétique optimal. Toutefois, une partie de l’encodage et du décodage vidéo doit être réalisée via des opérations logicielles et nécessite donc l’utilisation d’un processeur. De même, la plupart des usages nécessitent l’utilisation de frameworks et d’applications tierces.

Par ailleurs, de nouveaux cas d’applications, tel que l’intelligence artificielle, requièrent de traiter des résolutions assez faibles mais à des framerates beaucoup plus élevés (plusieurs milliers d’images par seconde), ce qui mobilise des ressources processeurs de manière très importante.

Les performances logicielles sont donc devenues un facteur limitant pour atteindre des performances plus élevées.

Pour pallier cela, Allegro DVT propose à ses clients de rajouter un ou plusieurs processeurs de type RISC-V. Cela permet ainsi au système de dédier des cœurs au traitement de la vidéo (gestion de l’allocation mémoire, parsing des headers, …).

L’analyse des performances du système nécessite d’identifier précisément le temps d’exécution des différents blocs logiciels intervenant dans la chaîne de décodage vidéo. Cette démarche permet de mesurer les limitations du système et d’identifier les améliorations potentielles.

Au-delà des performances du processeur, l’architecture mémoire joue un rôle déterminant dans l’efficacité globale du système. Les plateformes embarquées combinent généralement plusieurs technologies de mémoire présentant des compromis différents :

  • SRAM, offrant une très faible latence et des performances élevées mais avec une capacité limitée et un coût silicium important,
  • DDR, offrant une grande capacité de stockage à un coût réduit mais avec une latence et une bande passante plus contraignantes.

 

L’identification des données critiques et leur placement optimal dans la hiérarchie mémoire constituent un levier majeur pour améliorer les performances des applications vidéo embarquées.

Le stage vise à analyser conjointement le comportement logiciel et les accès mémoire afin de proposer des optimisations permettant d’améliorer les performances des décodeurs vidéo sur architectures RISC-V

Job Tasks

Intégré au sein de l’équipe « Logicielle IP », votre mission principale consistera à évaluer les performances maximales atteignables par les logiciels de contrôle des décodeurs vidéo sur processeur RISC-V. Pour cela, vous serez amenés à articuler votre travail autour de plusieurs axes :

  • Instrumenter le logiciel afin de mesurer précisément les temps d’exécution des principales fonctions,
  • Caractériser les accès mémoire générés par les différents composants logiciels,
  • Identifier les structures de données critiques du point de vue de la latence et de la bande passante,
  • Étudier différentes stratégies de répartition des allocations mémoire entre SRAM et DDR,
  • Quantifier l’impact des choix d’architecture mémoire sur les performances globales du système.

 

Ce stage adressera différents aspects techniques :

  • Découverte des environnements de développement et de simulation sur carte FPGA,
  • Instrumentation du code source (C/C++),
  • Mise en place de l’automatisation des tests de performance,
  • Mesurer les performances des principaux traitements exécutés sur le processeur RISC-V dans différentes configurations,
  • Proposer des lignes directrices pour le dimensionnement mémoire de futurs SoC selon les gains obtenus par rapport à une taille de SRAM
Profile

Nous recherchons des étudiant(e)s en 3ème année d’école d’ingénieurs en informatique, systèmes embarqués ou équivalent.

 

Informations pratiques

Stage basé à Montbonnot-Saint-Martin (Inovallée) accessible avec le bus C1.

Rémunération : 1.200 € bruts mensuels + chèques déjeuners 9,5 €/jour avec prise en charge de 60% par

l’employeur + remboursement 50% des transports en commun.

Pour plus d’informations ou pour postuler à ce stage, veuillez SVP adresser votre CV à hr@allegrodvt.com

Send an application for this job