SanMar- External
Graphcore
Ingénieur principal en tests système et diagnostics
À propos de nous
Graphcore est l'un des principaux innovateurs mondiaux dans le domaine du calcul pour l'intelligence artificielle.
L'entreprise développe du matériel, des logiciels et une infrastructure système qui permettront les prochaines avancées majeures en IA et favoriseront l'adoption généralisée de solutions d'IA dans tous les secteurs.
En tant que membre du groupe SoftBank, Graphcore fait partie d'une famille d'entreprises d'élite responsables de certaines des technologies les plus transformatrices au monde. Ensemble, elles partagent une vision audacieuse : permettre l'émergence d'une superintelligence artificielle et garantir que ses avantages soient accessibles à tous.
Pourquoi rejoindre Graphcore ?
Ce rôle offre une opportunité unique de travailler à l'intersection de l'architecture matérielle, des diagnostics et de l'ingénierie logicielle, tout en aidant à définir la manière dont les systèmes d'IA de nouvelle génération sont validés.
Plutôt que de maintenir un framework de validation existant, vous développerez les diagnostics spécialisés et les outils de stress qui rendent ce framework précieux. Votre travail influencera directement la qualité du matériel, la mise en service du silicium et la fiabilité à long terme de la plateforme pour la future infrastructure d'IA.
Responsabilités et missions
Nous recherchons un ingénieur principal en tests système et diagnostics hautement qualifié pour développer, étendre et intégrer des outils spécialisés de validation de silicium et de diagnostic pour les SoC d'IA de nouvelle génération.
Contrairement aux rôles de validation traditionnels axés sur l'exécution de plans de test, ce poste consiste à développer les logiciels de diagnostic et les outils de stress qui exposent les défaillances matérielles, caractérisent le comportement du silicium et améliorent l'observabilité de la plateforme tout au long de la phase de mise en service (bring-up) et de validation.
Vous travaillerez en étroite collaboration avec les ingénieurs d'Arm pour comprendre et étendre les technologies de diagnostic existantes tout en développant des capacités spécifiques à Graphcore pour le futur matériel d'IA.
Résumé du rôle
Vous travaillerez avec les technologies de diagnostic existantes développées par Arm et les étendrez pour prendre en charge le silicium d'IA de nouvelle génération de Graphcore.
Vous serez responsable du développement de diagnostics au niveau du système et d'outils de stress qui s'intègrent à un framework existant pour détecter les problèmes d'intégrité des données, de correction computationnelle, de performance et de fiabilité sur les CPU, les accélérateurs d'IA, la mémoire, le stockage, le PCIe, le firmware, le BMC et d'autres composants de la plateforme. Les exemples incluent les tests de corruption silencieuse des données (SDC), les outils de stress pour les transitoires de puissance et les diagnostics de plateforme, avec des opportunités de développer de nouveaux diagnostics à mesure que les capacités matérielles futures évoluent.
Ce rôle nécessite une collaboration étroite avec les architectes matériels, les ingénieurs firmware, les ingénieurs de validation et les équipes de diagnostic pour comprendre les nouvelles capacités matérielles et les traduire en logiciels de diagnostic réutilisables.
Responsabilités
- Apprendre et étendre les outils de diagnostic Arm existants pour prendre en charge la plateforme d'IA de Graphcore.
- Développer des logiciels spécialisés de diagnostic et de test de stress pour le CPU, la mémoire, l'interconnexion, le PCIe et d'autres composants système.
- Créer des utilitaires de validation réutilisables qui s'intègrent dans le framework de validation existant.
- Développer des outils qui exposent les défaillances matérielles intermittentes, y compris la corruption silencieuse des données, les problèmes liés au timing et l'instabilité matérielle.
- Concevoir des applications de diagnostic configurables prenant en charge plusieurs révisions de silicium, plateformes et environnements d'exécution.
- Développer l'automatisation pour l'exécution des diagnostics dans les environnements de validation à l'échelle du serveur et du rack.
- Concevoir des diagnostics basés sur la configuration prenant en charge la paramétrisation évolutive et la variation de la charge de travail.
- Collaborer avec les architectes matériels pour comprendre les nouvelles capacités matérielles et identifier les diagnostics manquants.
- Travailler en étroite collaboration avec les équipes firmware et de validation pour améliorer l'observabilité matérielle.
- Déboguer les interactions de bas niveau entre le matériel, le firmware, le système d'exploitation et les pilotes.
- Analyser les résultats des diagnostics et améliorer les méthodologies d'isolation des pannes.
- Développer des logiciels permettant aux ingénieurs de reproduire et d'étudier les défaillances matérielles complexes.
- Contribuer à des bibliothèques et utilitaires réutilisables qui améliorent la productivité de l'ingénierie au sein des différentes équipes de validation.
Profil du candidat
Essentiel
- Licence ou Master en informatique, génie informatique, génie électrique ou discipline technique connexe.
- Solide expérience dans le développement de diagnostics matériels, de logiciels de validation système, d'outils de validation de firmware ou de logiciels système de bas niveau.
- Solides compétences en développement logiciel en Python et C/C++.
- Solide expérience des systèmes Linux.
- Solide compréhension de l'architecture des plateformes serveurs modernes, y compris la manière dont le CPU, la mémoire, le PCIe, le stockage, la mise en réseau, le firmware, le système d'exploitation et les pilotes de périphériques interagissent au sein d'un système complet.
- Expérience dans le débogage des interactions matériel/logiciel à travers plusieurs couches de la plateforme.
- Expérience dans le développement de diagnostics, de tests de stress ou de logiciels de validation matérielle.
- Expérience avec les plateformes serveurs, les systèmes embarqués ou la validation de SoC.
- Solides compétences analytiques et de débogage.
- Expérience de collaboration entre les équipes matérielles, firmware, logicielles et de validation.
- Excellentes compétences en communication et en résolution de problèmes.
Qualifications préférées
Souhaitable
Qualifications préférées
- Plateformes serveurs basées sur Arm
- Accélérateurs d'IA ou systèmes de calcul haute performance
- Tests de corruption silencieuse des données (SDC)
- Tests de stress matériel
- Analyse des transitoires de puissance
- Méthodologies d'injection de fautes matérielles
- Validation de firmware
- Mise en service (bring-up) de silicium
- Caractérisation des performances
- Télémétrie et observabilité matérielle
- Firmware BMC ou gestion de serveurs
- Technologies RAS (Fiabilité, Disponibilité, Maintenabilité)
- Validation à travers les sous-systèmes :
- Mise à l'échelle du CPU et comportement du cache
- Bande passante mémoire (DDR/HBM), latence et effets NUMA
- Contention d'interconnexion sous charge multi-cœur
- Débit PCIe/E-S, latence et scénarios multi-périphériques
- Validation des E-S haute vitesse
À quoi ressemble le succès
Les candidats retenus devront :
- Étendre les technologies de diagnostic existantes pour prendre en charge le nouveau matériel Graphcore.
- Développer de nouveaux outils de diagnostic pour les capacités matérielles émergentes.
- Construire des composants logiciels réutilisables qui s'intègrent parfaitement au framework de validation existant.
- Améliorer l'observabilité matérielle et l'isolation des causes profondes.
- Détecter et caractériser les défaillances matérielles intermittentes que les techniques de validation traditionnelles ne peuvent pas exposer.
- Fournir des diagnostics configurables qui s'adaptent à plusieurs plateformes et révisions de silicium.
- Travailler efficacement avec les équipes matérielles, firmware, de validation et de diagnostic pour améliorer continuellement la qualité de la plateforme.
Avantages aux États-Unis
En plus d'un salaire compétitif, Graphcore propose un travail flexible et un ensemble complet d'avantages sociaux conçus pour soutenir votre santé, votre bien-être et votre avenir financier. Nos avantages comprennent une couverture médicale, dentaire et ophtalmique, des comptes de dépenses flexibles (FSA), des comptes d'épargne santé (HSA), une assurance invalidité et vie, un plan de retraite 401(k), des avantages liés aux déplacements domicile-travail, des services de bien-être et un programme d'aide aux employés (EAP). Nous accueillons des personnes de tous horizons et expériences ; nous nous engageons à bâtir un environnement de travail inclusif qui fait de Graphcore un lieu idéal pour tous. Nous offrons un processus d'égalité des chances et comprenons qu'il existe des différences visibles et invisibles en chacun de nous. Nous pouvons adopter une approche flexible pour les entretiens et vous encourageons à discuter avec nous si vous avez besoin d'aménagements raisonnables.
