Software Engineer, Machine Learning Software Stack
Job Description/Responsibilities
At Achronix Semiconductor we develop FPGA-based hardware, software, and systems solutions to accelerate critical applications in areas such at 5G wireless infrastructure, network switching, and datacenter services. We work in small highly motivated teams of domain experts across the full product range, from high-level systems software to digital and analog circuit design, to create innovative products that are first-to-market and solve critical business needs.
You will drive the effort to develop a complete software stack for an FPGA-based machine learning inference accelerator card reference platform. You will adapt existing open-source and university software when possible, and develop new software from scratch as needed, to assemble a complete full-stack, end-to-end software solution. You will work closely with sales, marketing, systems engineering, EDA tool developers, and FPGA architects to support diverse use models from FPGA micro-architecture exploration, memory subsystem design optimization, place-and-route software verification, system prototyping, pre-sales demonstration development, and customer deployment and scaling.
Prior experience is required working with a machine learning accelerator micro-architecture and ISA, as well as current knowledge of state-of-the-art research. You must have a background in open-source compiler hacking. Experience desired with compiler intermediate representations (IRs) and back-ends, JIT compilers, as well as kernel-mode and user-mode runtime environments and device drivers. Familiarity is desired with industry-standard machine learning frameworks, acceleration libraries, domain-specific languages, and with common DNN models.
Required Skills
- Two years of work or educational experience in machine leaning accelerator micro-architectures and compilers
- Skilled practitioner in C++ or Java.
- Experience in Python, Verilog, and System-C.
- Experience required in one of more of the following:
- Machine learning accelerators such as OpenTPU, NVDLA, VTA, EIC
- Compilers such as Glow, TVM, CLANG, LLVM, or GCC
- Machine learning frameworks such as TensorFlow, PyTorch, Caffe2, and Keras
- Acceleration libraries such as MXNet
- Domain-specific languages such as Halide and Spatial
- Common DNN models such as AlexNet, ResNet50, Inception, YOLO, RNN, and LSTM
- Embedded system runtime environments and device drivers
Education
MS or PhD in Computer Science, Computer Engineering, Electrical Engineering, Applied Math, or Physics.
Apply for job
To view the job application please visit www.achronix.com.
IEDM Opens with a Big Picture Keynote from TSMC’s Yuh-Jier Mii