Back to jobs
G

GPU acceleration engineer

Posted 3 months ago

Job Description

GPU Acceleration Engineer - Calculation Engine

๐ŸŽฏ Main Mission

Massively accelerate the sparse calculation engine of a UK SaaS B2B - Enterprise Planning & Analytics company by porting critical algorithms from Rust/C++ to GPU (CUDA). Transform currently impossible calculations (requiring thousands of years of CPU time) into operations achievable in minutes.

๐Ÿ“Š Context

UK SaaS B2B - Enterprise Planning & Analytics company manages planning models reaching 64 quadrillion cells with billions of time periods. Our Hyperblock/Polaris engine is currently limited by:

  • Legacy CPU architecture (Java/Rust/C++)

  • Memory constraints on massive sparse structures

  • Prohibitive calculation times on complex scenarios

Objective: Achieve performance gains of 100x to 1000x via GPU offloading.

๐Ÿ”ง Main Responsibilities

GPU Offloading

  • Port existing Rust/C++ algorithms to CUDA/GPU

  • Identify and extract critical calculation paths to accelerate

  • Optimize sparse matrix operations for GPU architecture

  • Develop performant Rust โ†” CUDA wrappers

  • Benchmark and validate performance gains

Memory Optimization

  • Design GPU memory management strategies for massive datasets

  • Implement efficient patterns for sparse structures

  • Optimize CPU โ†” GPU memory transfers

  • Manage GPU memory limitations on large-scale calculations

Technical Collaboration

  • Work with engineering team on integration

  • Document GPU porting patterns

  • Participate in code reviews and design reviews

  • Train the team on GPU best practices

๐Ÿ’ป Technical Stack

Languages (in order of importance)

  1. CUDA - Primary GPU development

  2. Rust - Source language for algorithms to port

  3. C++ - Legacy components and CUDA interoperability

  4. (Java - platform context, no dev required)

Key Technologies

  • NVIDIA CUDA (toolkit, libraries: cuBLAS, cuSPARSE)

  • Rust (ownership model, unsafe blocks, FFI)

  • GPU Programming (kernels, memory hierarchy, optimization)

  • Sparse Matrix Operations (compression, storage formats)

  • Profiling Tools (nvprof, Nsight, perf)

โœ… Required Profile

Essential Skills

GPU & CUDA (Essential)

  • โœ… Significant CUDA programming experience (3+ years)

  • โœ… Mastery of GPU kernel optimization

  • โœ… Deep knowledge of NVIDIA GPU architecture (memory hierarchy, warps, occupancy)

  • โœ… Experience with sparse calculations on GPU (cuSPARSE or equivalent)

Rust (Essential)

  • โœ… Production Rust development

  • โœ… Mastery of ownership and borrowing system

  • โœ… Experience with unsafe Rust and FFI (Foreign Function Interface)

  • โœ… Ability to analyze and refactor existing Rust code

C++ (Required)

  • โœ… Modern C++ (C++11/14/17)

  • โœ… C++ โ†” CUDA integration

  • โœ… Templates and metaprogramming (asset)

Algorithms (Required)

  • โœ… Data structures for scientific computing

  • โœ… Sparse matrix algorithms (CSR, COO, etc.)

  • โœ… Performance optimization and profiling

  • โœ… Parallelization and concurrency concepts

Highly Valued Experience

  • ๐ŸŽฏ Documented CPU โ†’ GPU porting projects

  • ๐ŸŽฏ HPC experience (supercomputers, GPU clusters)

  • ๐ŸŽฏ Memory optimization for large-scale datasets

  • ๐ŸŽฏ Scientific computing or numerical simulation

  • ๐ŸŽฏ Rust interop with other languages (C/C++/Python)

๐Ÿ“ Working Arrangements

Location & Travel

  • 100% remote (France/Europe base preferred)

  • Occasional travel to London

    • Frequency: ~1 week/month for team sprints

    • Project kickoff + key reviews

    • Intensive collaboration sessions

Start date: As soon as possible

See Your Match Score

Sign up and Renata will show you how this job matches your skills and experience.

GPU acceleration engineer at GECI International | Renata