Booz Allen Hamilton
Qualcomm
Ingénieur Compilateur Machine Learning
À propos du poste
Société : Qualcomm Technologies, Inc. Poste
Domaine : Groupe Ingénierie, Groupe Ingénierie > Ingénierie Machine Learning
Niveaux et lieux
Cette description de poste couvre plusieurs niveaux, de débutant à expérimenté. Notre équipe est un bon endroit pour les développeurs de compilateurs ayant des diplômes supérieurs, et nous avons un mentorat solide et donnons rapidement des responsabilités substantielles aux ingénieurs débutants.
Nous recherchons des candidats pour rejoindre nos équipes à New York, Austin, San Diego et Raleigh, NC. Pour les candidats expérimentés, nous pouvons envisager des arrangements de travail à distance.
Qualcomm est un employeur garantissant l'égalité des chances. Si vous êtes une personne handicapée et que vous avez besoin d'un aménagement pendant le processus de candidature/embauche, soyez assuré que Qualcomm s'engage à fournir un processus accessible. Vous pouvez envoyer un e-mail à disability-accomodations@qualcomm.com ou appeler le numéro gratuit de Qualcomm indiqué ici. Sur demande, Qualcomm fournira des aménagements raisonnables pour aider les personnes handicapées à participer au processus d'embauche. Qualcomm s'engage également à rendre notre lieu de travail accessible aux personnes handicapées. (Gardez à l'esprit que cette adresse e-mail est utilisée pour fournir des aménagements raisonnables aux personnes handicapées. Nous ne répondrons pas ici aux demandes de mise à jour des candidatures ou aux demandes de renseignements sur les CV).
À tous les agences de staffing et de recrutement : Notre site Carrières est uniquement destiné aux personnes recherchant un emploi chez Qualcomm. Les agences de staffing et de recrutement et les personnes représentées par une agence ne sont pas autorisées à utiliser ce site ni à soumettre des profils, des candidatures ou des CV, et toute soumission sera considérée comme non sollicitée. Qualcomm n'accepte pas les CV ou les candidatures non sollicités des agences. Veuillez ne pas transmettre de CV à notre alias d'emploi, aux employés de Qualcomm ou à tout autre lieu de l'entreprise. Qualcomm n'est pas responsable des frais liés aux CV/candidatures non sollicités.
Employeur EEO : Qualcomm est un employeur garantissant l'égalité des chances ; tous les candidats qualifiés recevront une considération pour l'emploi sans distinction de race, de couleur, de religion, de sexe, d'orientation sexuelle, d'identité de genre, d'origine nationale, de handicap, de statut d'ancien combattant ou de toute autre classification protégée.
Qualcomm attend de ses employés qu'ils respectent toutes les politiques et procédures applicables, y compris, mais sans s'y limiter, les exigences de sécurité et autres exigences relatives à la protection des informations confidentielles de la société et d'autres informations confidentielles et/ou propriétaires, dans la mesure où ces exigences sont autorisées par la loi applicable.
Si vous souhaitez plus d'informations sur ce rôle, veuillez contacter Qualcomm Careers.
Résumé général
Si vous êtes intéressé par l'avancement et l'application des mathématiques, de la théorie des langages de programmation, des algorithmes avancés et de l'IA générative à l'optimisation de programmes pour les accélérateurs de machine learning de pointe, alors vous voulez vraiment nous parler !
L'unité Compiler Labs du département AI Software de Qualcomm recherche des ingénieurs compilateurs ML pour rejoindre notre équipe. Nous travaillons tactiquement sur l'amélioration des compilateurs ML existants et stratégiquement sur le développement de compilateurs ML nouveaux et innovants.
La mise en correspondance des algorithmes ML avec les accélérateurs ML est actuellement l'un des problèmes les plus intéressants et les plus difficiles dans le domaine des compilateurs. Nos cibles de compilateurs incluent le processeur de signaux neuronaux Hexagon de Qualcomm, les GPU Adreno, les accélérateurs ML basse consommation et les accélérateurs CPU.
Ce qui rend ce travail passionnant en ce moment
La complexité des architectures ML modernes exige des compilateurs à plusieurs niveaux et une nouvelle réflexion sur l'ordre des phases. L'optimisation polyédrale est directement pertinente pour les nids de boucles imparfaits profondément imbriqués qui caractérisent l'IA générative — et le modèle d'exécution implicite rapproche les techniques polyédrales des concepts de flux de données et de spéculation structurée. Les algorithmes évitant la communication issus du calcul haute performance sont de plus en plus pertinents. Nous faisons progresser les compilateurs et les représentations intermédiaires qui se généralisent proprement à travers les nouvelles innovations dans les algorithmes de modèles ML, afin que notre travail s'accumule plutôt que de redémarrer. Nous travaillons sur la vérification de la correction des programmes construits autour d'opérateurs neuronaux quantifiés. Et nous contribuons à la convergence des dialectes open-source dans les écosystèmes LLVM et MLIR — nous avons rendu open-source notre compilateur Hexagon-MLIR et nous le développons activement pour les flux Triton et Torch-MLIR.
L'IA générative fait partie du travail
L'IA générative remodèle le développement des compilateurs lui-même — à la fois comme un outil qui accélère la façon dont les ingénieurs construisent des compilateurs, et comme une capacité qui vit à l'intérieur des compilateurs. Les langages spécifiques au domaine sont une cible particulièrement forte pour les outils d'IA en compilation, car la compression, l'abstraction et la structure que fournissent les DSL donnent aux modèles d'IA le bon niveau de représentation pour opérer. Nous nous attendons à ce que nos ingénieurs soient compétents pour intégrer l'IA générative dans le flux de travail de développement des compilateurs et dans les compilateurs eux-mêmes.
Notre approche technique
Notre approche met l'accent sur des représentations puissantes pour modéliser précisément et de manière compacte les programmes et les défis d'optimisation, et utilise des mathématiques et des algorithmes avancés pour effectuer les optimisations. Nous sommes également solides dans l'utilisation des technologies de compilateurs « old school » telles qu'elles s'appliquent aux défis ML contemporains, et dans l'ingénierie logicielle méticuleuse pour produire de beaux compilateurs. Nous sommes désireux de voir nos compilateurs utilisés et d'avoir un impact important sur les activités de Qualcomm.
Responsabilités
- Travailler sur une large gamme de compilateurs ML
- Améliorer les capacités d'optimisation des compilateurs ML par l'analyse de benchmarks et le profilage
- Innover de nouveaux algorithmes de compilateurs et d'optimisation ML
- Intégrer l'IA générative dans le flux de travail de développement des compilateurs et dans les compilateurs eux-mêmes
- Soumettre des algorithmes de compilateurs aux projets de compilateurs open-source
- Rédiger des publications de recherche et représenter l'entreprise lors de conférences et de forums industriels
- Pour les niveaux seniors — diriger et gérer des projets tout en effectuant un travail technique substantiel
Requis
- Expérience en développement de compilateurs et en architecture informatique
- Expérience en ML
- Un diplôme en informatique ou en mathématiques appliquées
- Expérience en ingénierie logicielle
- Solide capacité intellectuelle, motivation et un solide historique de réalisations
- Excellentes compétences en communication orale et écrite
Qualifications minimales
- Licence (Bachelor's degree) en informatique, ingénierie, systèmes d'information ou domaine connexe et 8+ années d'expérience en ingénierie matérielle, ingénierie logicielle, ingénierie des systèmes ou expérience professionnelle connexe.
OU
- Master en informatique, ingénierie, systèmes d'information ou domaine connexe et 7+ années d'expérience en ingénierie matérielle, ingénierie logicielle, ingénierie des systèmes ou expérience professionnelle connexe.
OU
- Doctorat en informatique, ingénierie, systèmes d'information ou domaine connexe et 6+ années d'expérience en ingénierie matérielle, ingénierie logicielle, ingénierie des systèmes ou expérience professionnelle connexe.
Souhaitable
- Expérience avec MLIR, dialectes MLIR (LinAlg, Affine), PyTorch 2.0, TVM, Triton, et/ou LLVM
- Expérience dans l'intégration de l'IA générative dans le flux de travail de développement des compilateurs (génération de code assistée par IA, analyse assistée par IA, refactoring et revue assistés par IA)
- Expérience dans la conception ou l'extension de DSL comme cibles pour la synthèse de programmes pilotée par l'IA
- Expérience en applications ML et en optimisation ML
- Expérience en architecture ML
- Expérience en calcul haute performance, y compris les algorithmes évitant la communication
- Expérience en optimisation de compilateurs polyédraux
- Expérience en transformation de boucles et en vectorisation
- Expérience en programmation GPU, programmation parallèle
- Expérience générale en optimisation
Fourchette de salaire et autres rémunérations et avantages sociaux
223 600,00 $ - 335 400,00 $
L'échelle de salaire ci-dessus reflète l'échelle de salaire large, du minimum au maximum, pour ce code d'emploi pour le lieu pour lequel il a été publié. Plus important encore, veuillez noter que le salaire n'est qu'une composante de la rémunération totale chez Qualcomm. Nous offrons également un programme de bonus discrétionnaire annuel compétitif et la possibilité d'octroi de RSU annuelles (les employés bénéficiant de plans d'incitation à la vente ne sont pas éligibles à notre bonus annuel). De plus, notre ensemble d'avantages sociaux très compétitif est conçu pour soutenir votre succès au travail, à la maison et dans vos loisirs. Votre recruteur sera heureux de discuter de tout ce que Qualcomm a à offrir — et vous pouvez consulter plus de détails sur nos avantages sociaux aux États-Unis sur ce lien.
