About The Position

At d-Matrix, we are focused on unleashing the potential of generative AI to power the transformation of technology. We are at the forefront of software and hardware innovation, pushing the boundaries of what is possible. Our culture is one of respect and collaboration. We value humility and believe in direct communication. Our team is inclusive, and our differing perspectives allow for better solutions. We are seeking individuals passionate about tackling challenges and are driven by execution. Ready to come find your playground? Together, we can help shape the endless possibilities of AI. Location: Santa Clara, CA, headquarters, but open to other locations within the US/Canada. The role: Principal Software Engineer - SDK & Lowering Stack What you will do: Help architect and develop the kernel authoring SDK that targets our novel Corsair dataflow architecture. Champion software engineering best practices across the team by establishing robust CI/CD pipelines, driving automated testing, and enforcing rigorous code review processes. Build intuitive, domain-specific APIs, determining the optimal boundaries for kernel developers and compiler teams. Create development tools to be used in kernel authoring and modeling lowering flows. Lead and mentor junior engineers, fostering a culture of technical excellence, accountability, and collaborative problem-solving. Leverage systems engineering ability to understand complex interactions between hardware and software components, proposing and implementing solutions integral to the software stack. Take ownership of delivering solutions by interacting with stakeholders, generating requirements, documenting designs, implementing, debugging, and deploying. Build and scale software deliverables in a tight development window.

Requirements

  • MS in Computer Engineering, Math, Physics, or a related degree with 8 years of industry experience or a PhD in Computer Engineering, Math, Physics, or a related degree with 4 years of industry experience.
  • Proficient in C/C++ and Python development in a Linux environment and using standard development tools.
  • Proven track record of driving software engineering best practices, including CI/CD integration, continuous testing, and leading comprehensive code reviews.
  • Deep grasp of computer architecture, data structures, system software, and machine learning fundamentals.
  • Demonstrated experience designing high-quality, scalable APIs and SDKs, with a comprehensive systems engineering mindset to solve end-to-end problems.
  • Self-motivated team player with a profound sense of ownership and leadership.

Nice To Haves

  • Proven experience writing and optimizing high-performance kernels targeting GPUs, TPUs, or custom ML accelerators.
  • Background working in High-Performance Computing (HPC) environments, managing large-scale distributed workloads and resource optimization.
  • Experience developing ML compilers and working with intermediate representations or algorithms (e.g., MLIR, LLVM, TVM, Glow, etc.).
  • Familiarity with leveraging AI-assisted coding tools to accelerate software development and elevate code quality.
  • Prior startup, small team, or incubation experience.
  • Work experience at a cloud provider or AI compute/subsystem company.

Responsibilities

  • Help architect and develop the kernel authoring SDK that targets our novel Corsair dataflow architecture.
  • Champion software engineering best practices across the team by establishing robust CI/CD pipelines, driving automated testing, and enforcing rigorous code review processes.
  • Build intuitive, domain-specific APIs, determining the optimal boundaries for kernel developers and compiler teams.
  • Create development tools to be used in kernel authoring and modeling lowering flows.
  • Lead and mentor junior engineers, fostering a culture of technical excellence, accountability, and collaborative problem-solving.
  • Leverage systems engineering ability to understand complex interactions between hardware and software components, proposing and implementing solutions integral to the software stack.
  • Take ownership of delivering solutions by interacting with stakeholders, generating requirements, documenting designs, implementing, debugging, and deploying.
  • Build and scale software deliverables in a tight development window.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service