Principal Software Engineer - Kernels

d-Matrix

$150K — $180K *
Enterprise Technology
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • MS or PhD in computer engineering, math, physics, or related fields
  • 12+ years (MS) or 7+ years (PhD) of industry experience
  • Strong understanding of computer architecture and machine learning fundamentals
  • Proficient in C/C++ and Python for Linux development
  • Experience with specialized hardware like FPGAs, DSPs, GPUs, AI accelerators
  • Familiarity with implementing ML workload algorithms
  • Experience with development for embedded SIMD vector processors like Tensilica

Responsibilities

  • Develop and enhance software kernels for AI hardware
  • Map algorithms to various hardware architectures
  • Optimize hardware-software co-design aspects
  • Collaborate with compiler experts and other software/hardware teams
  • Build and scale software deliverables within tight development timelines

Benefits

  • Hybrid working model with onsite work in Santa Clara, CA
  • Collaborative team environment with opportunities for leadership
  • Access to cutting-edge AI technology and hardware
  • Potential for impactful contributions in a rapidly evolving field
Full Job Description


Location:

Hybrid, working onsite at our Santa Clara, CA, headquarters 3-5 days per week.

The Role: Principal Software Engineer - Kernels

What you will do:

The role requires you to be part of the team that helps productize the SW stack for our AI compute engine. As part of the software team, you will be responsible for the development, enhancement, and maintenance of software kernels for next-generation AI hardware. You possess experience building software kernels for HW architectures. You possess a very strong understanding of various hardware architectures and how to map algorithms to the architecture. You understand how to map computational graphs generated by AI frameworks to the underlying architecture. You have had past experience working across all aspects of the full-stack toolchain and understand the nuances of what it takes to optimize and trade off various aspects of hardware-software co-design. You can build and scale software deliverables in a tight development window. You will work with a team of compiler experts to build out the compiler infrastructure, working closely with other software (ML, systems) and hardware (mixed signal, DSP, CPU) experts in the company.

What you will bring:

Minimum:
  • MS in computer engineering, math, physics, or a related degree with 12+ years of industry experience or a PhD in computer engineering, math, physics, or a related degree with 7+ years of industry experience.
  • Strong grasp of computer architecture, data structures, system software, and machine learning fundamentals.
  • Proficient in C/C++ and Python development in Linux environments and using standard development tools.
  • Experience implementing algorithms in high-level languages such as C/C++ and Python.
  • Experience implementing algorithms for specialized hardware such as FPGAs, DSPs, GPUs, and AI accelerators using libraries such as CUDA, etc.
  • Experience in implementing operators commonly used in ML workloads-GEMMs, Convolutions, BLAS, SIMD operators for operations like softmax, layer normalization, pooling, etc.
  • Experience with development for embedded SIMD vector processors such as Tensilica.
  • Self-motivated team player with a strong sense of ownership and leadership.

Preferred:
  • Prior startup, small team, or incubation experience.
  • Experience with ML frameworks such as TensorFlow and/orPyTorch.
  • Experience working with ML compilers and algorithms, such as MLIR, LLVM, TVM, Glow, etc.
  • Experience with a deep learning framework (such as PyTorch or TensorFlow) and ML models for CV, NLP, or recommendation.
  • Work experience at a cloud provider or AI compute/subsystem company.

Similar Jobs

More Jobs at d-Matrix

More Enterprise Technology Jobs

Find similar Principal Software Engineer - Kernels jobs: