You will be a key member of the Platform Software team and will help with the software development effort for our Machine Learning targeted for the embedded edge market. You will work closely with the software team to design and implement key components for software releases. Your efforts will directly impact our customers in their ability to estimate, analyze and optimize their applications on our SoC.
Areas of focus: Design, implement and test key video processing components of the software. Contribute to the overall architecture effort in the process by suggesting SW enhancements that increase performance and decrease power consumption, thus achieving best in class performance in the industry.
Key Responsibilities (including but not limited to):
- Help implement customer processing pipelines that include Deep Neural Networks (DNNs) and other system level components
- Design and implement Python reference computer vision processing modules
- Design, implement, test and optimize key pre and post computer vision processing modules that are needed to run ML Vision pipelines on the MLSoC which are multi-core and multi-threaded
- Design and implement Gstreamer plugins for edge DNN applications
- Measure accuracy and throughput of computer vision modules and optimize to meet requirements
Required Background:
- 10+ years of experience developing system software for complex vision, image or video processing applications
- A strong knowledge of DSP, Image, Audio, Video, Computer Vision Algorithms and Frameworks is required, including common libraries like OpenCV, OpenCL and OpenVX
- Good programming skills in C, C++, Python, Assembly in a Linux environment
- Experience with DSPs, SIMD or VLIW instruction sets such as ARM Neon, TI DSP or any Vision processor like Cadence Tensilica, CEVA, RISC-V, Xilinx Versal, etc. is highly desirable.
- Strong mathematical foundation in DSP and deep learning is desired
- 2+ years of experience bringing up SoCs from scratch is a plus |