Software Engineer, Parallel Scientific Computing

Vorticity Inc.

Redwood City (CA)

On-site

USD 140,000 - 200,000

Full time

11 days ago

Get more replies from employers

Send a job-specific resume in minutes.

Job summary

Vorticity Inc. in Redwood City, CA is building a new class of SPUs for HPC.

We seek a senior developer to design and optimize core computational kernels across simulation, emulation, and real hardware, moving from mathematical descriptions to parallel C++/Python reference code and down to low-level kernels on our architecture. This role blends theory and practice, requires independence, strong communication, and zero ego, and offers a unique opportunity to help launch a radical silicon platform

Qualifications

  • 5+ years of experience in modern C++ (CUDA C++ strongly preferred) for parallel programming and HPC.
  • Ability to translate mathematical descriptions into working implementations; familiarity with numerical algorithms.
  • Strong debugging across abstraction layers from algorithms to hardware.
  • Excellent written and verbal communication skills.

Responsibilities

  • Develop high-level reference implementations of scientific applications from mathematical descriptions.
  • Implement and parallelize applications using our SDK across SPU simulation, emulation, and real-hardware environments.
  • Develop and optimize performance-critical kernels for the SPU architecture.
  • Own iterative performance optimization loops, benchmark, profile, identify bottlenecks, implement improvements and repeat.
  • Understand applications from mathematical formulation to mapping onto parallel hardware.
  • Identify opportunities to improve compilation flow, runtime, and hardware utilization.
  • Collaborate with architecture and performance teams to co-design software and hardware solutions.
  • Independently identify problems, propose next steps, and drive work forward.

Skills

CUDA C++
Parallel programming
C++
Python
Linux
Numerical methods
Software architecture

Education

Bachelor's degree
Master's or PhD

Job description

We're building a new class of Scientific Processing Units (SPUs) to push the boundaries of High-Performance Computing (HPC). In this role, you'll develop and optimize the core computational kernels needed to run scientific applications across a wide range of domains on our custom parallel SPU architecture, from simulation and emulation to real hardware.

You'll work across abstraction layers. Starting from the mathematics and algorithms behind an application, building high-level reference implementations, translating them into parallel kernels, and optimizing them against our architecture. You should be comfortable moving between a mathematical description of a problem, C++/Python reference code, low-level parallel software, and the hardware that executes it.

This is not an easy role. It requires passion for understanding how hardware and software work together, the ability to wear multiple hats, strong communication skills, a lot of patience, independence, and, most importantly, zero ego. Why? Because this is the first time something like this has ever been attempted.

Responsibilities
  • Develop high-level reference implementations of scientific applications (e.g. finite-difference time-domain methods, computational fluid dynamics, electromagnetic wave propagation, etc.) from mathematical and algorithmic descriptions.
  • Implement and parallelize scientific applications using our proprietary Software Development Kit (SDK) across SPU simulation, emulation, and real-hardware environments.
  • Develop and optimize performance critical kernels for the SPU architecture.
  • Own iterative performance optimization loops, benchmark, profile, identify bottlenecks, implement improvements and repeat, until we reach our performance targets.
  • Understand applications across abstraction layers, from their mathematical formulation to their mapping onto parallel hardware.
  • Identify opportunities to improve our compilation flow, runtime, hardware utilization, and overall system efficiency.
  • Collaborate with architecture and performance teams to analyze bottlenecks and co-design innovative software and hardware solutions.
  • Independently identify problems and opportunities, propose next steps, and drive work forward without requiring detailed task by task direction.
  • Write clear, concise technical documentation for Vorticity’s engineers and customers.
  • Stay current with parallel programming models, High Performance Computing (HPC) architectures, numerical methods, and techniques for mapping scientific workloads onto parallel hardware.
Skills & Qualifications
  • Bachelor's degree in Computer Science, Electrical Engineering, Applied Mathematics, Physics, or related field.
  • Master's or PhD in Computer Science, Electrical Engineering, Applied Mathematics, Physics, or related field.
  • 5+ years of experience in modern C++ (CUDA C++ experience strongly preferred) for parallel programming and high-performance computing. Exceptional candidates with fewer years but strong skills are also welcome.
  • Ability to understand numerical algorithms and translate mathematical descriptions into working implementations. You don't need to be a mathematician, but a gradient, divergence, stencil, or multidimensional discretization should not scare you.
  • Ability and willingness to debug across abstraction layers, from an application or numerical algorithm down through software and into the underlying architecture.
  • Strong understanding of computer architecture and the interaction between software and hardware.
  • Proficiency with C++, Python, and Linux development environments.
  • Excellent written and verbal communication skills.
  • Strong ability to work independently and in a team, while taking ownership of ambiguous problems, and determining what needs to be done next.
  • Willingness to put in the hard work needed to bring our SPU to life.
  • Above all: zero ego.

As passionate scientists and engineers, we are well aware of the plethora of critical problems in the world that cannot be solved because humanity simply does not have enough computing power. To address this, Vorticity is developing a radically new silicon chip architecture and system to dramatically accelerate scientific computing problems.

Vorticity’s mission is to expand human ingenuity. To do that we are building a team of exceptional people to work together on big problems. Join us!

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Senior HPC Software Engineer - Parallel Kernel Optimization
Senior HPC Software Engineer - Parallel Kernel Optimization

Vorticity Inc. • Redwood City (CA)

On-site
USD 140,000 - 200,000
Senior HPC Applications Engineer
Senior HPC Applications Engineer

Parallel Works • Chicago (IL)

On-site
USD 140,000 - 190,000
Medical coverage
Vision coverage
Dental coverage
+2
Senior HPC Applications Engineer
Senior HPC Applications Engineer

Parallel Works, Inc. • Chicago (IL)

On-site
USD 140,000 - 210,000
Medical, vision, and dental coverage
401(k) with company match
Paid vacation and sick time
+1
HPC Applications Engineer
HPC Applications Engineer

NextSilicon • Minneapolis (MN)

Hybrid
USD 120,000 - 180,000
HPC Applications Engineer
HPC Applications Engineer

Next Silicon • United States

Hybrid
Confidential
Scientific Software Developer
Scientific Software Developer

Viridien • Houston (TX)

Hybrid
USD 120,000 - 200,000
Performance-based bonus
Hybrid work schedule
401k match
+4
Staff HPC Applications Engineer
Staff HPC Applications Engineer

NextSilicon • Minneapolis (MN)

Hybrid
USD 120,000 - 170,000
Staff HPC Applications Engineer
Staff HPC Applications Engineer

Next Silicon Ltd • Minneapolis (MN)

Hybrid
USD 120,000 - 180,000
Staff HPC Applications Engineer
Staff HPC Applications Engineer

Next Silicon Ltd • Austin (TX)

Hybrid
USD 120,000 - 160,000
Software Engineer Sr Staff
Software Engineer Sr Staff

Signature Federal Systems , LLC • Colorado Springs (CO)

On-site
USD 120,000 - 160,000