# Senior Formal Verification Engineer, GPU Kernels

**Company**: NVIDIA
**Location**: Santa Clara
**Work arrangement**: onsite
**Experience**: senior
**Job type**: full-time
**Category**: Engineering
**Industry**: Technology

**Apply**: https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Formal-Verification-Engineer--GPU-Kernels_JR2016917?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_dfb66a5d-198

## Description

We are now looking for a Senior Formal Verification Engineer for GPU Kernels! Modern AI performance relies on highly optimized GPU kernels , performance-critical code where bugs can be hard to catch and expensive to miss. NVIDIA's Deep Learning Safety Team is hiring engineers to build the verification tools that prove these kernels behave correctly, enabling their deployment in a large range of environments, including safety-critical systems.

The mission is to design and develop scalable verification tools for GPU kernels. You will design and implement new verification approaches that can handle the massive concurrency and complex memory model of the latest GPU architectures.

Formal methods alone cannot scale to modern GPU kernels, and AI alone cannot offer safety guarantees , the team's bet is that the combination can, and you will help build it. Join the team supporting compiler and kernel developers for safe autonomous driving.

### Responsibilities

In this role, you will be responsible for developing and delivering verification tools for GPU kernels. The scope of these efforts ranges from developing new algorithms to evaluating them, from building tools to automating workflows, from joining architecture discussion to learning the latest technologies from the research community. The AI + formal methods intersection is an active research area , expect to read papers, prototype ideas from them, and contribute back where it makes sense.

- Design and develop robust and scalable verification tools for GPU kernels.

- Integrate your work in production pipelines to support kernel and compiler developers.

- Integrate AI into formal verification workflows, build agents to automate verification tasks (formalization of specifications, bug fixing, root cause analysis)

- Participate in a high-energy and dynamic company culture to develop innovative software and hardware products and practice hardware-software co-design.

### Requirements

- MS or PhD in Computer Science, Compute Engineering or equivalent experience.

- 6+ years of relevant work experience.

- Formal methods experience: symbolic execution, SMT solving, interactive theorem proving, or model checking.

- Strong programming skills in C/C++ or Rust, experience in SCM (e.g., Git) and build systems (e.g., Make, CMake).

- The ability to work independently, define project goals and scope, and lead your own development effort

### Ways to Stand Out

- Knowledge of CPU and/or GPU architecture. CUDA or OpenCL experience is a plus.

- Background in the formalization of weak memory models.

- Experience in the verification of concurrent software.

- Experience building LLM agents with tool use and multi-step reasoning, or with neurosymbolic approaches and LLM-assisted theorem proving.

This is an opportunity to have a wide impact at NVIDIA by improving development velocity across our many software projects.

You will also be eligible for equity and benefits.

## Skills

### Required
- C/C++
- Rust
- SCM
- build systems
- formal methods
- symbolic execution
- SMT solving
- interactive theorem proving
- model checking

### Nice to have
- CPU and/or GPU architecture
- CUDA or OpenCL experience
- weak memory models
- concurrent software verification
- LLM agents
- neurosymbolic approaches
- LLM-assisted theorem proving

---

Source: [Apply at nvidia.wd5.myworkdayjobs.com](https://nvidia.wd5.myworkdayjobs.com/en-US/NVIDIAExternalCareerSite/job/US-CA-Santa-Clara/Senior-Formal-Verification-Engineer--GPU-Kernels_JR2016917?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
