Must Have skills:
C++, Python requried
Background in Electrical engineering/computer science, past experience in CPU- DSP architectures, ARM, Silica, x 86, low level software optimization,
Machine learning, Pytorch similar machine learning framework
Detailed Job Description
Reality Labs (RL) focuses on connecting people through Virtual Reality (VR) and Augmented Reality (AR). The compute performance and power efficiency requirements of these products require custom silicon. The Silicon team is driving the state of the art forward with breakthroughs in computer vision, machine learning, mixed reality, graphics, displays, sensors, and new ways to map the human body. We believe the only way to achieve our goals is to look at the entire stack, from transistors, through architecture, to firmware, and algorithms.
We are seeking a Software Engineer who is excited about introducing groundbreaking capabilities in the fields of computer vision (CV), machine learning (Client), Audio and imaging, through mapping and optimization of a complex embedded C++ codebase to DSP and DNN accelerator target platforms. You will play a key role in developing and deploying machine learning models that power our innovative products and features, with a focus on custom compute platforms and embedded devices.
Responsibilities:
● Implement, optimize and deploy machine learning models and algorithms that solve complex problems related to computer vision, speech, natural language processing, and other areas of artificial intelligence, specifically on resource-constrained devices.
● Code Client algorithms for CV and Audio application on customized processors and accelerators in C/C++ for performance, latency, and memory.
● Develop and debug software in a real-time, embedded, multiprocessor, multi-interface environment.
● Work closely with cross-functional teams, such as HW Architects, FW Engineers, Algorithm and Application Engineers across multiple disciplines (Vision, Audio) to identify opportunities for optimizing machine learning solutions
Minimum Qualifications:
● Bachelor’s degree in electrical engineering, computer science or equivalent relevant experience.
● Experience with machine learning frameworks such as PyTorch, TensorFlow, and model optimization, training and quantization toolkits.
● 5+ years of experience in software development for complex real-time systems, imaging and CV algorithms or related signal processing fields using C/C++.
● Solid modern C/C++ programming and refactoring skills and able to understand and debug heavily threaded code.
Preferred Qualification:
● MS or PhD in EE/CS
● Experience with deep learning architectures such as CNNs, RNNs, or GANs, particularly for deployment on embedded devices.
● Theoretical knowledge in the field of machine learning, and computer vision or Audio pipeline and algorithms such as capture, render, codecs.
● Experience programming in SIMD, VLIW, and/or Vector processors and Familiarity with the custom ISA extensions
● Experience with low-level SW optimization at instruction level, loop optimization, vectorization, data organization and caching
● Prior experience with ARM or Risc-V CPUs, or Tensilica DSP architectures
● Familiarity with open source machine learning libraries and frameworks and experience with machine learning pipelines for data processing, model training, and deployment.
Additional Notes/Comments
Surrounding team & key projects: Current contractor ending this year, Team is DSP engineering under the silicon RL, mix of FTE’s and CW’s, AR glasses design and development, applications such as AR/VR glasses, DSP software optimizations of ML and IL workload/ AR Products