Please type at least 3 characters

Lead GPU Programming Engineer

optimize Scroll's GPU-accelerated proving system

type of job

full-time

last signal

a month ago

similar jobs

Wow, it’s unique

Oops. In progress...

job details

role overview

We are looking for a lead GPU programming engineer to optimize our GPU-accelerated proving system. You will work with the crypto team to implement optimized CUDA code for the crypto primitives underlying modern zero-knowledge proofs. This work is critical for increasing the throughput and decentralization of our fully EVM-compatible zkRollup.

Your day-to-day work will involve proposing and implementing optimizations to our current prover as well as packaging the system in an easy-to-use SDK. Our existing system targets the UltraPlonk arithmetization using KZG polynomial commitments and already achieves a 10x+ speed improvement over the state-of-the-art on core computations. The ideal candidate will have prior experience implementing efficient cryptographic code, a deep understanding of GPU acceleration, or a deep understanding of zero-knowledge proof protocols.

responsibilities

  • Design and implement optimization to GPU kernels for prover algorithms
  • Profile and identify bottlenecks in GPU kernel performance
  • Integrate GPU-accelerated kernels into our Rust prover.
  • Optimize the pipeline of memory transfer and kernel execution in the prover
  • Implement easy-to-use interfaces to our GPU prover

requirements

  • Proficiency in CUDA
  • Experience implementing and optimizing accelerated kernels on GPUs
  • Fluency in Rust, C++, or similar languages. Rust is preferred, but prior experience is not mandatory
  • Prior experience optimizing low-level cryptography code is preferred
  • Strong background in math, cryptography, or related areas is preferred

culture & perks

This is a remote position. Work from anywhere with our global team.

about us

Scroll is an EVM-equivalent zkRollup to scale Ethereum. Technically speaking, Scroll is built upon two major pieces. The core piece is the zkEVM, which is used to prove the correctness of EVM execution in Layer 2. We have been building it in the open with the Privacy and Scaling Explorations group at the Ethereum Foundation for over a year. But to turn the zkEVM into a full zkRollup on the Ethereum, we also need to build a complete L2 architecture around it.