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 - Python Deep-Learning Accelerator

Description of Role:
This position involves developing a Python based interface to the client's custom hardware platform; the engineer will develop suitable "pythonic" interpretations of the hardware interface; the engineer will also create new (or port existing) workload applications to
demonstrate the Python interface to our hardware platform. The engineer will have ability to grow in the role and own the interface as it evolves with the hardware generations of the client and across application workloads beyond deep-learning. The engineer will work independently and in teams reporting to hiring manager, and
demonstrate ownership, attention to quality and deliverable schedule.

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

Development Tools
- Deep knowledge of python2, python3
- GDB, PDB, Valgrind
- Test case automation, TDD
- C++11/Gnu C /LLVM compiler experience
- Ubuntu / Centos
- Building and working with Shared libraries

Build Systems
- Pip - python package interface
- Makefiles
- Cmake
- Other Make systems

- GDB, Python debugger (PDB)
- SWIG/PyBind11/Boost.Python
- Standard Python libraries
- Decorators
- Experience using numpy, scipy, tensorflow, onnx
- Building and packaging Python libraries
- Python unittest, nose package familiarity

- Experience with one of the following modern C++ versions. C++ 11, C++ 14
- Experience building with clang++ and g++
- Heap allocation / management
- Pointers
- memory leak prevention techniques

Deep Learning Skillset
- Experience with Machine-Learning techniques MLP, CNN, FC-DNN, Pooling, etc.
- Experience in Tensorflow, Scikit-Learn, PyTorch or equivalent
- Experience with inference and training of standard models

General Development
- Strong debugging skills
- Experience working with large projects with high number of source files written by others
- Experience working in projects that you didn’t write
- Experience in open-source contributions (GitHub, bitbucket, source-forge etc.)
- Defining API’s for other developers to use
- Writing clean well documented and commented code
- Concerned about development efficiency. Looks for ways to do more work with less effort
- Familiar with agile development process
- Multithreaded programming
o Mutex /locks pthreads/etc.
- Security as it pertains to APIs and code
- Experience exposing C functions as a python callable API

- Able to describe at a high level what the software architecture is
- Able to describe a low-level software routine and how it fits in the bigger picture

- 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