Job Description

ASICSoft Provides Engineering / IT Consulting and Staffing Services for:
  •  Hardware: ASIC, FPGA, SoC, PCB, Analog/Digital, etc.
  •  Software: Embedded, Applications, Mobile, Cloud, IT, Testing/SQA
  •  IT: Networking, Software, Cloud, Web, ERP, BI, DW, Software
  •  Other: Mechanical, CAD, CAM, and much more!

We Place

  • Consultants / Contractors
  • Full-time Employees
  • Contract-to-Hire

ASICSoft works directly with Engineering/IT Managers for their team’s success. Additionally, we work with several MSP / VMS / HR programs. So, we are happy to support your company within whatever process you have established.

Software Development Engineer – Compiler for Deep-Learning Accelerator

 

Description of Role:

 

This position involves developing a custom compiler for Tensorflow Lite models to the custom hardware platform; the engineer will develop suitable “hardware” interpretations of the Tensorflow Lite model descriptions, similar to existing ONNX interface, to the custom hardware; Ideal candidate will have experience working on compiler front-end and back-end technologies and adapting fast to the existing codebase. The engineer will work independently and in teams reporting to hiring manager, and demonstrate ownership, attention to quality and deliverable schedule.

 

The ideal candidate would have experience across

 

Preferable to have M.S. or Ph.D. in CS/EE/Math etc. or equivalent experience

 

Development Tools

  • Deep knowledge of python, tensorflow
  • GDB, PDB, Valgrind
  • Test case automation, TDD
  • C++11/Gnu C /LLVM compiler experience
  • Ubuntu / Centos
  • Building and working with Shared libraries

 

Tensorflow/Deep Learning Skillset

  • Experience programming under the hood of Tensorflow
    • Experience with multiple versions a plus
  • Understanding of internal TF architecture
  • Implemented an operator from scratch
  • Understanding of XLA
  • Installed and built tensorflow from scratch
  • Experience with MachineLearning techniques MLP, CNN, FC-DNN, Pooling, etc.
  • Tensorflow, TensorflowLite, etc.
  • Experience with inference and training of standard models
  • Demonstrated knowledge with coursework like CS 20SI: Tensorflow for Deep Learning Research, Coursera Machine Learning, etc.
  • Demonstrated ML/AI project experience
  • Experience in opensource contributions (GitHub, bitbucket, source-forge etc.)

 

 

Python

  • GDB, Python debugger (PDB)
  • Standard Python libraries
  • Decorators
  • Experience using numpy, scipy, tensorflow, ONNX
  • Building and packaging Python libraries
  • Python unittest, nose package familiarity

 

LLVM/Compiler experience

  • Using clang, clang++; programming in c++11
  • Experience building LLVM passes, IRgeneration
  • Building compiler frontends, back-ends, code-generators
  • Experience building with clang passes

 

Understanding

  • Excellent Data structures and Algorithms skillset
  • Able to describe a lowlevel software routine and how it fits in the bigger picture

 

Hardware Platforms

  • Experience with GPU, FPGA, or custom ASIC accelerators
  • Experience programming CUDA
  • RISCV / other embedded CPU experience
  • DSP programming

 

General Development

  • Small RAM systems
  • Embedded debugging / Strong debugging skills
  • RTOS / micro kernels
  • Experience working with large projects with high number of source files written by others
  • Writing clean well documented and commented code
    • Development efficiency. Agile. TDD.
  • Multithreaded programming
    • Mutex /locks pthreads/etc.
  • Security as it pertains to APIs and code
  • Experience exposing C functions as a python callable API

Miscellaneous

  • Good verbal and written communication skills.
  • Team player.

 

Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online