Jobs · Engineering · California

Kernel Engineer — Scientific Computing (SPU)

Vorticity Inc. · Redwood City, CA · Yesterday
On-siteEngineeringFull-time

Responsibilities

  • Prototyping and implementing core kernels and low-level numerical primitives for the SPU.
  • Translating mathematical formulations into executable, performance-relevant kernel implementations.
  • Analyzing and optimizing memory-access patterns, including coalescing, locality, shared memory usage, cache behavior, register pressure, and host-device data movement.
  • Collaborating closely with hardware architects to evaluate algorithm–architecture tradeoffs around memory hierarchy, synchronization, vector/SIMT execution, instruction behavior, and parallel scheduling.
  • Working with compiler and runtime teams to ensure kernels map cleanly to the SPU programming model.
  • Designing microbenchmarks, correctness tests, numerical accuracy tests, and performance models, then iteratively refining kernels based on hardware evolution, compiler behavior, profiler output, and measured performance.

Core Skills

  • Strong applied mathematics and scientific computing judgment, with the ability to understand numerical workloads deeply enough to implement them correctly and efficiently.
  • Strong proficiency in C++ and CUDA, HIP, SYCL, or an equivalent accelerator programming model.
  • Experience writing custom kernels, not just using existing frameworks or vendor libraries.
  • Ability to translate mathematical formulations into low-level implementations while balancing accuracy, stability, precision, data movement, and performance.
  • Deep understanding of GPU execution and memory hierarchy, including global memory, shared memory, registers, caches, coalescing, atomics, reductions, scans, warp-level execution, and occupancy.
  • Experience using profiling and performance tools to identify bottlenecks, test hypotheses, and validate improvements.
  • Ability to reason from profiler output to concrete code changes, rather than treating performance debugging as guesswork.
  • Solid concurrency fundamentals, including race conditions, atomicity, synchronization, and thread/process execution behavior.

Nice To Have Skills

  • Familiarity with performance analysis tools or modeling techniques (profilers, roofline models)
  • Experience in applied scientific domains such as physics, geophysics, CFD, climate, materials, fusion, or finance.
  • Experience with low-level GPU assembly or intermediate representations.
  • Familiarity with low-level system software or drivers.

Non-Technical Qualities

  • Excellent written and verbal communication skills
  • Strong ability to work independently and collaboratively in a team.
  • Comfort operating in an early-stage environment where the hardware, compiler, and software stack are evolving together.
  • Willingness to put in the hard work needed to bring the SPU to life.
  • Above all: low ego.

Similar jobs

Kernel Engineer

CerebrasCanada, NC· 1 wk ago
Engineeringapply on jobs.ashbyhq.com