OverviewAs a Principal Software Engineer - Performance Tooling on the team, you will have the opportunity to work on multiple levels of the AI software stack, including the fundamental abstractions, programming models, compilers, runtimes, libraries and application programming interfaces (APIs) to enable large scale training and inferencing of models. You will benchmark OpenAI and other LLM models for performance on graphics processing units (GPUs) and Microsoft hardware, debug and optimize performance, monitor performance and enable these models to be deployed in the shortest amount of time and the least amount of hardware possible helping achieve Microsoft Azure's capex goals.
Responsibilities- Work across multiple layers of the AI software stack (abstractions, programming models, compilers, runtimes, libraries, and APIs) to enable large-scale model training and inference.
- Benchmark OpenAI and other LLMs for performance on Graphic Processing Units (GPUs) and Microsoft hardware.
- Debug, profile, and optimize performance for training/inference workloads on CPUs (Central Processing Units)/GPUs.
- Monitor performance regressions and drive continuous improvements to reduce time-to-deploy and hardware footprint.
- Collaborate across teams of researchers and engineers to deliver scalable, production-ready AI performance improvements.
QualificationsRequired/Minimum Qualifications:• Bachelor's Degree in Computer Science or related technical field AND 6+ years technical engineering experience with coding in languages including, but not limited to, C++, or Python OR equivalent experience.
Other Requirements:• Ability to meet Microsoft, customer and/or government security screening requirements are required for this role. This includes passing the Microsoft Cloud background check upon hire/transfer and every two years thereafter.
Preferred/Additional Qualifications:- Master's Degree in Computer Science or related technical field AND 12+ years technical engineering experience with coding in languages including, but not limited to, C++, or Python
- OR Bachelor's Degree in Computer Science or related technical field AND 15+ years technical engineering experience with coding in languages including, but not limited to, C++, or Python
- OR equivalent experience.
- 4+ years' practical experience working on high performance applications and performance debugging and optimization on CPUs/GPUs.
- Experience in DNN/LLM inference and experience in one or more DL frameworks such as PyTorch, Tensorflow, or ONNX Runtime and familiarity with CUDA, ROCm, Triton.
- Technical background and solid foundation in software engineering principles, computer architecture, GPU architecture, hardware neural net acceleration.
- Experience in end-to-end performance analysis and optimization of state of the art LLMs and HPC applications, including proficiency using GPU profiling tools.
- Cross-team collaboration skills and the desire to collaborate in a team of researchers and developers.
- Ability to independently lead projects.
#AIInfra
Software Engineering IC5 - The typical base pay range for this role across the U.S. is USD $142,800.00 - $274,800.00 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $188,000.00 - $304,200.00 per year.
Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here:
https://careers.microsoft.com/us/en/us-corporate-pay
Software Engineering IC6 - The typical base pay range for this role across the U.S. is USD $165,600.00 - $296,400.00 per year. There is a different range applicable to specific work locations, within the San Francisco Bay area and New York City metropolitan area, and the base pay range for this role in those locations is USD $220,800.00 - $331,200.00 per year.
Certain roles may be eligible for benefits and other compensation. Find additional benefits and pay information here:
https://careers.microsoft.com/us/en/us-corporate-pay
This position will be open for a minimum of 5 days, with applications accepted on an ongoing basis until the position is filled.