Senior Compiler Engineer
Endura Technologies is a San Diego-based fabless semiconductor company providing power management, smart audio and Artificial Intelligence HW IP solutions. We intend to transform power management in SoC and implement highly scalable smart edge audio platforms through constant disruptive innovation. We have assembled, and will continue to augment, a world class team with deep technical expertise in power management and AI platforms for mobile, wearable, and IoT sensor SoCs.
We are looking for a talented and experienced compiler engineer to develop a compiler from the ground up for the innovative AI HW IP platform that we are developing. Your role will involve designing the compiler architecture and help build out a compiler software team to implement the designed compiler.
The initial AI HW IP will be focused on fast and efficient inference and later version will expand to include AI model training. Initial compiler work will be focused on generating fast and optimal code for our custom AI HW IP targeted towards inference and later the compiler design should be expandable to support training. Your primary focus will be in designing the compiler architecture and adopting latest compiler design & optimization techniques for AI pipelines (Graph IR/MIR to target specific code, compiler design optimizations etc.) and building high quality software that will be delivered to Endura’s customers.
- Design, develop and implement the different components of compiler based on performance and code-size specifications.
- Work closely with the Systems and HW team to co-design the AI HW & SW IP blocks and thereby define HW/SW boundary.
- Analyze software requirements, determine the feasibility of design within the given constraints, consult with Systems and HW engineers, and come up with software solutions best suited for Endura AI HW IPs.
- Develop and execute benchmark and test scenarios for standalone static compilers.
- Analyze and identify system level integration issues, interface with the software development, integration and test teams.
Skills and Qualifications
- Extensive knowledge and experience in compiler development using LLVM/Clang
- Thorough understanding of compiler technology and other development tool internals
- LLVM development experience
- Knowledge of compiler backend technologies such as register allocation, instruction scheduling, loop transformations, peephole optimizations, code diagnostic tools, code coverage etc.
- Experience in machine learning frameworks such as Tensorflow, PyTorch, MxNet, Torch etc. is a great plus
- Expert-level programming skills in C++, C and assembly languages
- Experience with SW development processes: project planning, version control, bug tracking
- Excellent teamwork and communication skills
- BSCS/MSCS with a Minimum of 4+ years of related experience. PhD is a plus