At a Glance
- Tasks: Develop cutting-edge algorithms for machine learning and compiler optimisation.
- Company: Join NVIDIA, a leader in innovative technology and deep learning.
- Benefits: Enjoy competitive salary, flexible work options, and opportunities for professional growth.
- Why this job: Be at the forefront of AI technology and make a significant impact.
- Qualifications: MS or PhD in relevant field with strong software engineering skills.
- Other info: Collaborative environment with exciting projects and career advancement potential.
The predicted salary is between 48000 - 72000 £ per year.
NVIDIA is seeking engineers to develop algorithms and optimizations for our inference and compiler stack. You will work at the intersection of large-scale systems, compilers, and deep learning, crafting how neural network workloads map onto future NVIDIA platforms. This is your chance to be part of something outstandingly innovative!
What you’ll be doing:
- Build, develop, and maintain high-performance runtime and compiler components, focusing on end-to-end inference optimization.
- Define and implement mappings of large-scale inference workloads onto NVIDIA’s systems.
- Extend and integrate with NVIDIA’s SW ecosystem, contributing to libraries, tooling, and interfaces that enable seamless deployment of models across platforms.
- Benchmark, profile, and monitor key performance and efficiency metrics to ensure the compiler generates efficient mappings of neural network graphs to our inference hardware.
- Collaborate closely with hardware architects and design teams to feedback software observations, influence future architectures, and codesign features that unlock new performance and efficiency points.
- Prototype and evaluate new compilation and runtime techniques, including graph transformations, scheduling strategies, and memory/layout optimizations tailored to spatial processors.
- Publish and present technical work on novel compilation approaches for inference and related spatial accelerators at top tier ML, compiler, and computer architecture venues.
What we need to see:
- MS or PhD in Computer Science, Electrical/Computer Engineering, or related field, or equivalent experience, with 5 years of relevant experience.
- Strong software engineering background with proficiency in systems level programming (e.g., C/C++ and/or Rust) and solid CS fundamentals in data structures, algorithms, and concurrency.
- Hands on experience with compiler or runtime development, including IR design, optimization passes, or code generation.
- Experience with LLVM and/or MLIR, including building custom passes, dialects, or integrations.
- Familiarity with deep learning frameworks such as TensorFlow and PyTorch, and experience working with portable graph formats such as ONNX.
- Solid understanding of parallel and heterogeneous compute architectures, such as GPUs, spatial accelerators, or other domain specific processors.
- Strong analytical and debugging skills, with experience using profiling, tracing, and benchmarking tools to drive performance improvements.
- Excellent communication and collaboration skills, with the ability to work across hardware, systems, and software teams.
- Ideal candidates will have direct experience with MLIR based compilers or other multilevel IR stacks, especially in the context of graph based deep learning workloads.
Ways to stand out from the crowd:
- Prior work on spatial or dataflow architectures, including static scheduling, pipeline parallelism, or tensor parallelism at scale.
- Contributions to opensource ML frameworks, compilers, or runtime systems, particularly in areas related to performance or scalability.
- Demonstrated research impact, such as publications or presentations at conferences like PLDI, CGO, ASPLOS, ISCA, MICRO, MLSys, NeurIPS, or similar.
- Experience with large-scale AI distributed inference or training systems, including performance modeling and capacity planning for multi rack deployments.
Senior Machine Learning Applications and Compiler Engineer in Cambridge employer: NVIDIA Corporation
Contact Detail:
NVIDIA Corporation Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Machine Learning Applications and Compiler Engineer in Cambridge
✨Tip Number 1
Network like a pro! Reach out to folks in the industry on LinkedIn or at meetups. A friendly chat can open doors that a CV just can't.
✨Tip Number 2
Show off your skills! Create a portfolio or GitHub repo showcasing your projects, especially those related to ML and compilers. It’s a great way to demonstrate your expertise beyond the application.
✨Tip Number 3
Prepare for interviews by practising common technical questions and coding challenges. We recommend using platforms like LeetCode or HackerRank to sharpen your skills before the big day.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, we love seeing candidates who are proactive!
We think you need these skills to ace Senior Machine Learning Applications and Compiler Engineer in Cambridge
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to the role of Senior Machine Learning Applications and Compiler Engineer. Highlight your relevant experience in compiler development, deep learning frameworks, and any specific projects that showcase your skills in systems-level programming.
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you're passionate about this role and how your background aligns with our needs at StudySmarter. Don’t forget to mention any standout projects or contributions to open-source ML frameworks.
Showcase Your Technical Skills: In your application, be sure to highlight your proficiency in C/C++ or Rust, as well as your experience with LLVM or MLIR. We want to see how you’ve applied these skills in real-world scenarios, so include specific examples where possible.
Apply Through Our Website: We encourage you to apply through our website for the best chance of getting noticed. It’s super easy, and you’ll be able to keep track of your application status directly. Plus, we love seeing applications come through our own platform!
How to prepare for a job interview at NVIDIA Corporation
✨Know Your Stuff
Make sure you brush up on your knowledge of compilers, deep learning frameworks, and the specific technologies mentioned in the job description. Be ready to discuss your experience with C/C++, Rust, LLVM, and MLIR, as well as any relevant projects you've worked on.
✨Showcase Your Problem-Solving Skills
Prepare to tackle some technical questions or coding challenges during the interview. Think about how you can demonstrate your analytical and debugging skills, especially in relation to performance improvements and compiler optimisations.
✨Communicate Clearly
Since collaboration is key in this role, practice explaining complex concepts in a simple way. Be prepared to discuss how you've worked with hardware architects or other teams in the past, and highlight your communication skills throughout the interview.
✨Bring Your Passion for Innovation
NVIDIA is all about pushing boundaries, so show your enthusiasm for cutting-edge technology. Talk about any innovative projects you've been involved in, especially those related to spatial processors or large-scale AI systems, and how they could relate to the role you're applying for.