About The Position

Vorticity is building the world’s first Scientific Processing Unit (SPU), a new class of silicon purpose-built to accelerate scientific computing beyond the limits of GPUs. We are designing tightly coupled software–hardware systems around applied mathematics workloads to deliver order-of-magnitude performance gains. Unlocking its full potential requires early, deep engagement from applied mathematics–driven software engineers who can translate real-world scientific workloads into executable models, kernels, libraries, and applications that inform both architecture and tooling decisions. As an Applied Mathematics Software Engineer, you will work at the intersection of applied mathematics, scientific computing, and low-level software. From day one, you will help shape how scientific workloads are expressed, executed, and optimized on the SPU. This role places strong emphasis on working close to the underlying computer architecture, understanding its intersection with low-level software, and influencing compiler behavior to achieve high performance. Your work may include building early numerical kernels and libraries, developing prototype applications, and writing Python-based workload models and simulators, all to support and inform the evolving hardware and compiler stack. We are targeting a start date in August or September, aligning this role to contribute early to the development of our mathematical libraries and applications. This role is ideal for someone who enjoys moving fluidly between mathematics and low-level software, and who wants to help shape a new scientific computing platform from the ground up.

Requirements

  • Strong foundation in applied numerical mathematics and scientific computing.
  • Strong proficiency in C, C++ and Python.
  • Comfort working close to hardware and writing performance-critical, low-level code.
  • Experience with scientific computing libraries (BLAS, LAPACK, FFTW, cuBLAS, cuFFT, etc.)
  • Experience with parallel or accelerator programming models (CUDA, OpenMP, MPI, SYCL, HIP)
  • Ability to reason about performance, memory hierarchies, and parallel execution
  • Familiarity with architecture-specific intrinsics, including warp-level operations, atomics, and synchronization primitives.
  • Experience working with low-level GPU assembly, such as NVIDIA SASS, or equivalent native accelerator instruction sets

Nice To Haves

  • Familiarity with performance analysis tools or modeling techniques (profilers, roofline models)
  • Exposure to compilers, runtimes, or code generation frameworks
  • Experience in applied scientific domains (physics, geophysics, CFD, climate, materials, finance)
  • Familiarity with low-level system software or drivers.

Responsibilities

  • Prototyping and implementing core numerical kernels and libraries for the SPU
  • Developing scientific applications and workloads on early SPU software stacks (e.g., seismic imaging, CFD, inverse problems, spectral methods)
  • Writing Python and C/C++ simulations or reference implementations of applied mathematics workloads to guide architecture decisions
  • Translating mathematical formulations into executable, performance-relevant software representations
  • Collaborating closely with hardware architects to evaluate algorithm–architecture tradeoffs
  • Working with compiler and runtime teams to ensure workloads map cleanly to the SPU programming model
  • Designing benchmarks, correctness tests, and performance models for scientific workloads
  • Iteratively refining workloads based on hardware evolution and performance insights
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service