Lead Design Engineer - Machine Learning
Machine Learning Software Developer
Member of the Tensilica Machine Learning DSP team within Cadence responsible for developing software and applications that enable customers deploy neural networks on our DSP and other hardware platforms.
Develops software using C++ and python to implement neural network processing. Accelerates neural network inference (simulation) on CPU and GPU targets using techniques such as compression, pruning, quantization and other algorithmic and functional transformations.
Applies knowledge of Machine learning to explore alternative approaches and tradeoffs for high performance such as data precision tradeoffs, performance optimizations and transformations of the algorithm to expose more parallelism.
Analyzes accuracy and performance of algorithms on DSP, identifies any bottlenecks and works along with algorithm engineers to alleviate them.
The Position Requirements are…
* MS/PhD in EE/CS or equivalent, 1+ years of relevant industry experience preferred
* Understanding of neural network processing fundamentals and architectures.
* Strong C++ programming skills in windows (Visual Studio) or Linux environments, and Advanced Python Programming skills
* Experience with optimizing computer vision, image processing or neural network inference for embedded systems using techniques like quantization, vectorization, parallel processing, etc.
* Familiarity with Neural Network Inference Optimization techniques like Quantization Aware Training, Post Training Quantization and Network Pruning / Sparsity Enhancement preferred
* Experience developing complex software in C++ such as for machine learning, computer vision, Image processing, etc. with particular emphasis on fixed point processing.
* Experience developing machine learning and neural network applications using popular frameworks such as Tensorflow, Tensorflow Lite, Pytorch, TensorRT, etc. preferred
* Knowledge of machine learning compilers like TVM or GLOW preferred