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.
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.
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!
...Doctoral Fellow - Psychiatry & Behavioral Sciences (Clinical Child Psychology) Job Family Group: Professional Staff Job Description... ...clinical settings. Engage in assigned scholarly and research-related activities, including initiation and completion of approved...
...Maintenance Manager The Maintenance Manager oversees the day-to-day functions of mechanics, bus washers, utility workers and administrative... ...their transportation systems, maintain their vehicle and fleets, and deliver on mobility solutions. Transdev U.S. employs...
...The Department of Plastic & Reconstructive Surgery at Cleveland Clinic has a faculty position opening for the following positions: Microvascular orthoplastic surgeon- Involvement with the full spectrum of Plastic and Reconstructive Surgery where significant opportunity...
TekCom Resources is seeking a skilled Structured Cabling Installer II (Level 3) to support commercial structured cabling and network infrastructure projects. This position is ideal for a technician with strong copper installation experience who can independently manage...
....Meet the TeamCisco Talos Intelligence Group is one of the largest commercial threat intelligence teams in the world. Talos defends Cisco customers against known and emerging threats, discovers new vulnerabilities in common software, and interdicts threats in the wild before...