Location North Carolina - Raleigh
Job Overview You will join the CR&D team running machine learning models on and developing the SDK for Qualcomms Neural Signal Processor. Your focus will be on analyzing the functionality and performance of competing products and helping to define the roadmap and implementation for Qualcomm Qranium SDK solution. Additionally, you will participate in the porting of ML frameworks and software to Qranium and perform detailed analysis of overall Qranium SDK and neural network performance. You will be collaborating across internal teams within CR&D as well as with Qualcomms commercial division (QCT) covering multiple engineering disciplines including: software development, software architecture, systems and hardware. You will be responsible for onboarding and evaluating neural network models, performance and accuracy, and tools. Additionally you will help to developing debugging and performance analysis tools. Direct customer interaction supporting development and productization of commercial solutions may also be required. The successful applicant should have a diverse skill set including a strong background in machine learning, performance testing and analysis, understanding of accelerator architectures and a passion to drive world-class solutions. Required Skills and Aptitudes:
Hands-on experience running neural network models with Deep Learning frameworks such as SNPE, Keras, Caffe/Caffe2, TensorFlow, PyTorch, etc Experience debugging and evaluating performance/accuracy a plus.Experience and understanding of a variety NN architectures including convolution neural networks, segmentation networks, neural machine translation, and recommender systems.Familiarity with neural network operators and model formats including PyTorch, ONNX, Caffe, Caffe2, and Tensorflow.Experience with embedded systems development or equivalent. Understanding of software development and debugging in embedded environments. Experience with machine learning accelerators or GPU development a plus.Hands-on experience debugging software and embedded systems. Experience profiling and optimizing software for CPUs and/or GPU applications a plus.Knowledge of Linux infrastructure and development tools, understanding of kernel vs user space, basic knowledge of compilers, running scripts, git source code control, gerrit work flows, defect tracking, etcDegree in Machine Learning/AI, Statistics, Applied Mathematics, Computer Science, or similar quantitative disciplineGood English and excellent communication (written and verbal) and positive interpersonal skills
All Qualcomm employees are expected to actively support diversity on their teams, and in the Company.
Minimum QualificationsBachelor's degree in Engineering, Information Systems, Computer Science, or related field.
7+ years Systems Engineering or related work experience.
Preferred QualificationsUnderstanding of GPU and/or DSP architectures, familiarity with low-level hardware designs or assembly coding a plusGood understanding of compilers, LLVM or machine learning compilers a plusStrong background in mathematical operations and understanding of neural networking operators: linear algebra, fast math libraries a plusExperience with model conversion tools and/or quantization a plus.Excellent analytical, development, and debugging skills
Education Requirements 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