Software Verification Engineer
![Quadric](https://semiwiki.com/wp-content/uploads/job-manager-uploads/company_logo/2022/11/Quadric-Logo-SemiWiki-150x74.jpg)
Website Quadric
Description
Quadric has created an innovative general purpose neural processing unit (GPNPU) architecture. Quadric’s co-optimized software and hardware is targeted to run neural network (NN) inference workloads in a wide variety of edge and endpoint devices, ranging from battery operated smart-sensor systems to high-performance automotive or autonomous vehicle systems. Unlike other NPUs or neural network accelerators in the industry today that can only accelerate a portion of a machine learning graph, the Quadric GPNPU executes both NN graph code and conventional C++ DSP and control code.
If making an impact and having a seat at the table is important to you, this is the opportunity for you. Join our small, rapidly growing team at Quadric to develop for cutting edge AI/ML processors. In this position, you will be a core member of our team, and will have an opportunity to grow in the company of expert technologists who also happen to be good people you’ll want to spend time with.
What We Value:
Integrity, Humility, Happiness
What We Expect:
Initiative, Collaboration, Completion
Role:
This role plays a pivotal role in developing software to functionally verify bleeding-edge features of Quadric’s general purpose neural processing unit. You will collaborate closely with the software team in developing infrastructure and modules that verify many aspects of the Quadric’s processor. You will maintain software systems to functionally model features and directed as well as complex random tests, written primarily using modern C++ and SystemC.
Ideal candidates will have a strong background in software development with knowledge of how processors works.
Responsibilities:
- Develop software modules (in C++) that verify the functional correctness of Quadric’s GPNPU hardware
- Collaborate with the hardware team to develop custom directed and random testing systems
- Develop complex random kernel generators using modern C++
- Maintain CI/CD pipelines to ensure broad test coverage using Python and Jenkins
- Contribute to the development of software simulation of Quadric’s processor and related interfaces
Requirements
- Proficiency in modern C++ (>= 11)
- Experience building end-to-end software systems using tools such as Python, CMake, Clang/GCC, Git, Jenkins
- Knowledge of processor hardware design concepts such as pipelines, caches, memory controllers
- Understanding of probability distributions such as Gaussian, Lognormal, Geometric
- Excellent communication and documentation skills
- Master’s degree in CS/CE
Nice to haves
- Knowledge of industry-leading verification frameworks such as UVM
- Knowledge of SystemC and/or SystemVerilog
- Experience with random stimulus as well as functional coverage
Benefits
- Provide competitive salaries and meaningful equity
- Provide catered lunches, commuter benefits & solid choice of healthcare plans
- Provide a politics-free community for the brilliant minds who want to make an immediate impact
- Provide an opportunity for you to build long term career relationships
- Foster an environment that allows for lasting personal relationships alongside professional ones
Founded in 2016 and based in downtown Burlingame, California, Quadric is building the world’s first supercomputer designed for the real-time needs of edge devices. Quadric aims to empower developers in every industry with superpowers to create tomorrow’s technology, today. The company was co-founded by technologists from MIT and Carnegie Mellon, who were previously the technical co-founders of the Bitcoin computing company 21.
Quadric is proud to be an equal opportunity workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, religion, sex, national origin, sexual orientation, age, citizenship, marital status, or disability.
Intel’s Death Spiral Took Another Turn