Senior Staff Compiler Engineer
Toronto/Hybrid
We are partnered with a global leader in the semiconductor industry, assisting in the search for a Senior-Staff level compiler optimization engineer to join their growing AI/ML R&D team.
General Summary:
Today, more intelligence is moving to end devices, and mobile is becoming the pervasive AI platform. Building on the smartphone foundation and the scale of mobile, We envision making AI ubiquitous—expanding beyond mobile and powering other end devices, machines, vehicles, and things.
We are inventing, developing, and commercializing power-efficient on-device AI, edge cloud AI, and 5G to make this a reality.
Job Purpose & Responsibilities
As a member of the ML Systems Team, you will participate in two activities:
- Development and evolution of ML/AI compilers (production and exploratory versions) for efficient mappings of ML/AI algorithms on existing and future HW
- Analysis of ML/AI algorithms and workloads to drive future features in Qualcomm’s ML HW/SW offerings
Key Responsibilities:
- Contributing to the development and evolution of ML/AI compilers
- Defining and implementing algorithms for mapping ML/AI workloads to Qualcomm HW
- Understanding trends in ML network design, through customer engagements and latest academic research, and how this affects both SW and HW design
- Creation of performance-driven simulation components (using C++, Python) for analysis and design of high-performance HW/SW algorithms on future SoCs
- Exploration and analysis of performance/area/power trade-offs for future HW and SW ML algorithms
- Pre-Silicon prediction of performance for various ML algorithms
- Running, debugging and analyzing performance simulations to suggest enhancements to hardware and software to tackle compute and system memory-related bottlenecks
Minimum Qualifications:
• Bachelor's degree in Computer Science, Engineering, Information Systems, or related field and 4+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
Requirements:
- Demonstrated ability to learn, think and adapt in fast-changing environments
- Detail-oriented with strong problem-solving, analytical and debugging skills
- Strong communication skills (written and verbal)
- Strong background in algorithm development and performance analysis is essential
The following experiences would be significant assets:
- Strong object-oriented design principles
- Strong knowledge of C++
- Strong knowledge of Python
- Experience in compiler design and development
- Knowledge of network model formats/platforms (eg. Pytorch, Tensorflow, ONNX) is an asset.
- On-silicon debug skills of high-performance compute algorithms · Knowledge of algorithms and data structures
- Knowledge of software development processes (revision control, CD/CI, etc.) · Familiarity with tools such as git, Jenkins, Docker, clang/MSVC
- Knowledge of computer architecture, digital circuits and event-driven transactional models/simulators
How to Apply?
All qualified and interested applicants can apply directly to Gord Marriage by sending an email with attached resume to
gord.marriage@talentlab.com. You may also apply directly on our website at
www.talentlab.com. Although we thank all applicants for their interest, only those in consideration will be contacted.