Machine Learning Compiler Engineer
Qualcomm Technologies, Inc.
Corporate Research & Development at http://www.qualcomm.com/about/research
Engineering – Systems
North Carolina – Raleigh
Qualcomm is a company of inventors that unlocked 5G – ushering in an age of rapid acceleration in connectivity and new possibilities that will transform industries, create jobs, and enrich lives. But this is just the beginning. It takes inventive minds with diverse skills, backgrounds, and cultures to transform 5Gs potential into world-changing technologies and products. This is the Invention Age – and this is where you come in. We are investing in several supporting technologies including 4G, 5G, Edge Computing, and Deep Learning.
The Qualcomm CR&D team is developing hardware and software for Machine Learning solutions spanning the data center, edge, infrastructure, automotive markets and beyond. We are seeking ambitious, bright and innovative engineers with experience in compiler technology, vectorization and optimization, and machine learning toolchains.
Job activities span the whole product life cycle from early R&D to commercial deployment. The environment is fast-paced and requires cross-functional interaction on a daily basis so good communication, planning and execution skills are a must.
We are looking to staff engineers at multiple levels in systems & software, integration and test. Details of one of the roles we are looking to staff are listed below. **Responsibilities:**
+ Research, design, develop, enhance, and implement the different components of machine learning compiler based on performance and code-size needs of the customer workloads and benchmarks.
+ Analyze software requirements, determine the feasibility of design within the given constraints, consult with architecture and HW engineers, and implement software solutions best suited for Qualcomm’s SOCs.
+ Analyze and identify system level integration issues, interface with the software development, integration and test teams.
All Qualcomm employees are expected to actively support diversity on their teams, and in the Company.
+ Bachelor’s degree in Engineering, Information Systems, Computer Science, or related field.
+ 2+ years of academic or professional experience with compiler development required
+ 3+ years Software Engineering or related work experience.
+ 3+ years experience with Programming Language such as C/C++ and Python
+ LLVM or any industrial strength compiler development experience is a plus.
+ Knowledge of the structure and function of the compiler internals.
+ Hands on experience writing SIMD and/or multi-threaded high-performance code
+ Hands-on experience implementing DSP Kernels a plus
+ Hands-on Experience in C/C++, Python development (3+ years)
+ Hands-on Experience with Object Orientated Design, TDD development solutions such as GoogleTest etc. (2+ years)
+ Experience with Source Code and Configuration management tools, git knowledge is required
+ Willingness to work in a cohesive software development environment with ability to work on low level implementation (code & test) and interfacing with hardware and simulators
+ Experience in machine learning frameworks and neural network architectures + ML compiler workload synthesis, a plus
+ Prior working experience of hardware accelerators and hardware software co-design
+ Experience in using C++ 14/17 (advanced features)
+ Experience at both the firmware (RTOS) and system level (Linux) in SOC
+ Experience of profiling software and optimization techniques
+ Passion to drive to develop leading-edge “deep learning” framework and algorithms working on mobile and embedded platforms.
Required: Bachelor’s, Computer Engineering and/or Computer Science and/or Electrical Engineering
Preferred: Master’s, Computer Engineering and/or Computer Science and/or Electrical Engineering
EEO Employer: Qualcomm is an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or any other protected classification.
Who is Qualcomm, and what do we do? We are engineers, scientists and business strategists. We are from many different countries and speak many different languages. We come from diverse cultures and have unique perspectives. Together, we focus on a single goal—invent mobile technology breakthroughs.