Senior Compiler Architect, MLIR - LLVM
at Nvidia
📍 Redmond, United States
$180,000-339,200 per year
SCRAPED
Used Tools & Technologies
Not specified
Required Skills & Competences ?
Leadership @ 4 Communication @ 4 Parallel Programming @ 8 Technical Leadership @ 4Details
We are looking for an experienced Compiler Architect with technical leadership experience for an exciting role in our Compute Compiler Team. We deliver features and improvements to CUDA and other compute compilers to better realize the potential of NVIDIA GPUs for a growing range of computational workloads, ranging from deep learning, scientific computation, and self-driving cars.
Our compiler organization makes its mark on every GPU NVIDIA produces. We need you as a key member of a small team that is working on a core compiler component for accelerating general purpose computation on the GPU. You will be solving critical problems working alongside some of the top valued diverse minds in GPU computing and systems software, doing what you enjoy. See your efforts in action as HPC and DL developers use features and optimizations to achieve the best performance of their applications. If this sounds like a fun challenge, we want to hear from you!
Responsibilities
- Provide technical leadership to a small team of engineers working on compiler middle-end optimizations.
- Analyze the performance of application code running on NVIDIA GPUs with the aid of profiling tools.
- Work with hardware architects, assembly language teams to help define architecture evolution, informed by application use-cases.
- Identify opportunities for performance improvements in the LLVM based compiler optimizer.
- Interact with Open-source MLIR/LLVM community to ensure tighter integration.
- Work with geographically distributed compiler, architecture and application teams to oversee improvements and problem resolutions.
- Be part of a team that is at the center of deep-learning compiler technology spanning architecture design and support through higher level languages.
Requirements
- M.S or Ph.D. in Computer Science, Computer Engineering, or related fields (or equivalent experience).
- 10+ years experience in Compiler Optimizations such as Loop Optimizations, Inter-procedural optimizations and Global optimizations and Program Analysis.
- 3+ years technical leadership experience.
- Excellent hands-on C++ programming skills.
- Excellent understanding of architecture features used in parallel programming (fence, vote, synchronization directives etc.).
- Experience writing significant analysis or transformation passes in LLVM framework.
- Understanding of Processor ISA (GPU ISA would be a plus).
- Strong background in software engineering principles with a focus on crafting robust and maintainable solutions to challenging problems.
- Good communication and documentation skills and self-motivated.
Benefits
- You will also be eligible for equity and benefits.