Samuel W. Stark

Programmer

Experience

Arm Ltd

Summers 2019, 2021

Architecture Research Intern

Simulated impact of DVM operations and non-volatile memory in gem5 (C++, 'Ruby' DSL).

  • Added DVM operations to existing gem5 CHI protocol model
  • Simulated impact of DVM on many-core systems
  • Presented results to key stakeholders and senior design members, including a 'CHI protocol crash course'
  • Changes have been upstreamed to public gem5 repo (https://gem5-review.googlesource.com/c/public/gem5/+/57298)

Virtual Arts Ltd

09/2017 - 08/2018

Junior Programmer

Developed 3D game engine in C++/Vulkan/Metal with two senior engineers

  • Implemented Physically Based Rendering with Image Based Lighting
  • Ported Unity-based code, shaders to C++, GLSL and Metal
  • Supported development of AR racing game (Lightstream Racer) in Unity/C#

Education

University of Cambridge

10/2021 - Present

Computer Architecture/Security

M.Phil, Distinction (83%); PhD ongoing

University of Warwick

10/2018 - 07/2021

Computer Systems Engineering

B.Eng, First Class (85%) - Best Overall Graduating Student

Projects

Applied CHERI-based memory protection to the RISC-V "V" vector extension.

  • Researched RISC-V "V" extension and other scalable vector models in depth
  • Designed combination CHERI and "V" specification, CHERI-RVV
  • Implemented CHERI-RVV support in Clang
  • Developed CHERI-RVV emulator in Rust

Created a real-time GPU fluid simulation (CUDA) and parallel visualization (C++/Vulkan).

  • Ported a fluid simulation from C to CUDA
  • Implemented a GPU visualization in Vulkan
  • Implemented various synchronization between CPUs and GPU
  • Used memory sharing between CUDA and Vulkan to reduce copying

FPGA Image Processing

2021

Built high-performance image filter in SystemVerilog.

  • Designed highly performant image filtering kernels (3x3 convolution, 1x1 brightness/contrast)
  • Implemented CPU-based real-time brightness adjustment using APB to communicate with the FPGA
  • Developed a Python library for converting VGA signals to images for automatic testing

yk_gmd_io

2020 - Present

Import/export addon in Blender for the proprietary GMD file format from the Yakuza game series. (Python)

  • Reverse-engineered parts of the file format with the community
  • Designed algorithms to convert computer-friendly meshes to artist-friendly meshes
  • Developed beginner-friendly user experience for new modders