Embedded Software Engineer
Company: Emonics, LLC
Posted on: November 17, 2022
Facebook Reality Labs (FRL) 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 Facebook Agile Silicon Team (FAST) 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 an Embedded DSP Engineer who is excited about
introducing groundbreaking capabilities in the fields of machine
learning (Client), through mapping and optimization of complex
embedded algorithms to custom DSPs and accelerators. The successful
candidate will be required to code optimized kernels and libraries
from high to low-level for current and future in-house machine
learning accelerators in heterogeneous SoCs, as well as
architecting new methodologies that assist in analyzing, profiling
and optimizing memory footprint, runtime performance, and power
consumption of such workloads. They will also have the opportunity
to contribute in defining architectural requirements by working
with multidisciplinary teams and providing detailed design
specifications of such compute platforms.
Code modern Client algorithms on customized processors, and
accelerators in C++ for performance, latency, power, and
Perform low-level SW optimization at instruction level by loop
optimization, vectorization, pipelining, data layout
re-organization and cache/memory management.
Study state of the art algorithms in the field of Client, to
develop appropriate SW-HW partitioning.
Practice SW-HW co-design by working closely with HW engineers to
give them feedback on programming models and custom HW accelerator
Influence Client model development and application optimizations in
the context of low-power edge devices, including numerics,
hardware-aware Client models, pruning etc.
Bachelors in electrical electronics, computer science or equivalent
Experience with programming SIMD, VLIW, and/or Vector processors,
as well as low-level SW optimization at instruction level, loop
optimization, vectorization, data organization and caching.
5+ years experience designing and implementing complex real-time
systems using C/C++ for embedded processors.
MS in EE/CS.
Experience in development of Client related kernels and algorithms
in low-power edge devices.
Experience of working with HW engineers in verification, debugging
Theoretical knowledge in the field of CPU/DSP architecture, machine
learning or computer vision or ISP architecture.
Knowledge of Client accelerators and their architectural design
Experience with methods for partitioning a solution across hardware
and software, and other multi-disciplinary boundaries in a system
Familiarity with profiling and code optimization tooling and
methodology or any domain-specific compiler experience.
Familiarity with Client frameworks like Pytorch/Tensorflow and
model optimization toolkits.
Keywords: Emonics, LLC, Sunnyvale , Embedded Software Engineer, Other , Sunnyvale, California
Didn't find what you're looking for? Search again!