EMBU-2020-S-07 – Offre de stage : Optimisation des bibliothèques de calcul mathématiques sur processeur MPPA®

Kalray est une entreprise leader du développement des processeurs « massivement parallèles ».

Le MPPA® est un processeur « manycore » dont l’architecture révolutionnaire présente plusieurs centaines de cœurs fonctionnant en parallèle et délivrant à fois haute performance, faible consommation et faible latence. Cette architecture est particulièrement efficace pour l’accélération des « Data Centers » ainsi que pour les applications embarquées critiques du futur, par exemple celles des voitures autonomes.

Nos clients et partenaires à travers le monde sont les leaders de leur industrie.

Kalray développe également des cartes électroniques basées sur le MPPA® ainsi qu’un Kit de développement logiciel (SDK) et les outils logiciels permettant à nos clients de développer leurs propres applications.

Kalray, c’est un environnement de start-up, avec une communauté unie et un fort esprit d’entre-aide.

 

CONTEXTE DU STAGE

Au sein de l’équipe Embarqué (EMBU), plusieurs services et bibliothèques (libraries) sont développés et intégrés dans Kalray Acceleration Framework (KAF) pour faciliter la programmation sur MPPA®. Parmi ces services, les bibliothèques de calcul d’algèbre linéaire (BLAS, LAPACK, Eigen) et de traitement de signal (FFT) sont en cours de développement et optimisation afin d’exploiter au maximum la capacité de calcul de MPPA®.

Nous cherchons, pour un stage de 6 mois ou projet de fin d’études, un(e) candidat(e) intéressé(e) par le calcul parallèle et l’optimisation de code (profiling, vectorisation etc.) pour renforcer notre équipe et améliorer la performance de nos produits.

 

MISSIONS ET OBJECTIFS DU STAGE

  • Proposer et optimiser des kernels de calcul dans nos bibliothèques mathématiques
  • Portage et test des bibliothèques open-source (LAPACK, Eigen, FFTW) sur le processeur MPPA® en proof-of-concept
  • Vérification de l’exactitude du calcul. Mettre en place l’intégration continue dans l’environnement Kalray, rapport suivi de performance
  • Identifier des goulots d’étranglement de performance, analyser et proposer des solutions d’optimisation
  • Optimisation de code en employant plusieurs techniques (communication asynchrone, vectorisation SIMD, cache-blocking, register-blocking, software-pipeling)
  • Documentation, développement en cycle de V, reporting hebdomadaire
  • Utilisation des outils standard du domaine (OpenCL, OpenMP, Pthreads, compilateur GCC/LLVM, assembleur

Suivant la durée du stage, nous adapterons le périmètre des bibliothèques ciblées

 

CANDIDAT

Etudiant(e) en 4e / 5e année d’école d’ingénieur ou Master universitaire, en informatique industrielle ou embarqué, vous disposez des compétences suivantes :

  • Maitrise du langage C/C++, rigoureux et autonome
  • Motivation en programmation bas-niveau et écriture de code en assembleur
  • Connaissance des langages de programmation parallèle : CUDA, OpenCL, OpenMP, Pthreads etc. (vous aideront beaucoup pendant le stage)
  • Seraient un plus : Connaissance des outils de build (Makefile, CMake, autoconf etc.), Connaissance des langages de script (bash, ruby, python)

 


Date de démarrage : A définir selon vos disponibilités

Durée du stage : 6 mois ou PFE

Localisation : Kalray, 180 avenue de l’Europe, 38330 Montbonnot-Saint-Martin (ligne bus C1 – Arrêt Baudonnière)

Stage rémunéré

    Your Name (required)

    Your Email (required)

    Job reference number (required)

    Your CV (required - 1MB max.)

    Your cover letter (required - 1MB max.)

         By completing and sending this form, you consent to your data being collected by authorized Kalray personnel to process your request. For more information, please consult our privacy policy on personal data protection.

    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

    Read about Kalray’s privacy policy and personal data protection here.