Kyle Lukaszek

kəm-ˈpyü-təri like inverse problems & ml

Kyle Lukaszek

Hi, I'm Kyle. I like to work at the boundary of machine learning, mathematical modelling, and graphics. My research interests span perceptual modelling, representation learning, and programming GPUs to simulate complex systems. For my MSc, I'm building a computational retina that learns colour vision directly from optic-nerve signals. In my free time, I like solving puzzles, reading technical books, and playing games.

Languages
CC++SwiftRustPythonJuliaHaskellSlang
ML / Scientific
PyTorchJAXMLXSciPy
GPU / Graphics
CUDAMetalWebGPUVulkanDX12
Tooling
Nsightgdb/lldbvalgrindSlurmW&Bgit/jjuv

Transformer-NES

A playable NES emulator that is itself a transformer. A compiler turns 6502 instruction semantics directly into mixture-of-experts transformer weights, with no training involved.

Because the NES runs from a fixed ROM address space, attention reduces to O(1) lookups, so per-step cost stays constant no matter how long the game runs.

C++26PythonTransformersMixture of ExpertsHardware Emulation

Kiln

A bindless render hardware interface for Vulkan 1.4 and Metal 4 in Rust, with no descriptor sets. Shaders receive a root struct of GPU addresses and handles, backed by VK_EXT_descriptor_heap on Vulkan and argument tables on Metal 4. Supports graphics, compute, mesh, and inline ray-query pipelines, with barriers that name stages rather than resources.

Powers Spectra, my spectral path tracer for USD scenes, which runs in real time on an M4 Pro and an RTX 2070 Super with no optimization beyond hardware-accelerated ray tracing. It also powers a 2D global illumination solver based on holographic radiance cascades.

RustVulkan 1.4Metal 4SlangRay TracingRHI

Slang & SlangPy

Open-source contributor to the Slang shader compiler, with four merged PRs. In Slang, I fixed dropped entry-point uniforms on struct-returning Metal vertex shaders and made reflection report thread-group sizes for every [numthreads] stage. In SlangPy, I added native macOS file dialogs and fixed mouse position missing from button events.

C++SlangMetalCompilersOpen Source

SDL3 Haskell

Lead maintainer for the Haskell bindings of SDL3, the native application development library. Comes with 50+ examples, including 30+ cross-platform GPU rendering examples spanning Vulkan, DX12, and Metal.

HaskellSDL3VulkanDX12Metal

Neumours

Brain-tumour MRI segmentation as an implicit neural field, in JAX and Slang. On BraTS 2023, the model reaches 92% of nnU-Net's whole-tumour Dice (0.823) with 118× fewer parameters and 20× faster inference. Trained across multiple GPUs on SHARCNET, tracked with W&B.

Includes a differentiable raymarcher written in Slang that renders the learned tumour field in 3D.

JAXSlangMachine LearningINRs3DMedical Imaging

WebGPU Projects

Real-time LiDAR rendering at 100M+ points on SensatUrban, GPU-accelerated colour-space visualizations, and interactive scene-graph applications, running entirely in the browser.

WebGPUTypeScriptGPU Computing

Teaching Assistant — Parallel Programming, Operating Systems, Software Systems

University of GuelphJan 2025 — Dec 2026

  • Parallel Programming (CIS*3090): Two terms of labs and office hours covering Pthreads, OpenCL, MPI, and CUDA kernel engineering fundamentals.
  • Operating Systems (CIS*3110): Wrote my own material for and ran weekly labs on concurrency, scheduling, paging, and hardware, and held office hours.
  • Software Systems Development (CIS*2750): Supported instruction in C systems programming, CPython FFI, and SQL.

Research Assistant — HCI: Hardware & Statistical Modelling

University of GuelphJan 2024 — Jan 2025

Wrote a macOS, Linux, and Windows driver in C and Swift for a JETI Spectraval 1501 spectrometer, replacing a Windows-only FTDI workflow. Bluetooth support let us take measurements outdoors, and iteration time dropped by roughly 50% with full instrument accuracy, which made the studies behind our Graphics Interface 2024 and 2026 papers possible.

Research Assistant — NLP

University of GuelphMay 2023 — Sep 2023

Wrote CUDA kernels for A100 GPUs on SHARCNET to extract psycholinguistic features from a large Twitter corpus, alongside sentiment, personality, and behavioural features across thousands of users. Ran causal and time-series analyses in PyTorch and SciPy using ARIMA, stationarity testing, and statistical effect estimation. Trained LSTMs and fine-tuned Transformers.

Master of Science in Computer Science

University of GuelphExpected Jun 2027GPA 4.0

Thesis: a computational retina that learns colour vision directly from optic-nerve signals.Mathematical ModellingNumerical Linear Algebra / Scientific ComputingAIHCIResearch Methods

Honours Bachelor of Computing

University of GuelphSep 2020 — Apr 2025Area of Application: Mathematics

Advanced CalculusDifferential Equations IIGraph TheoryLinear AlgebraStatisticsAlgorithmsCompilersComputational IntelligenceGraphicsOperating SystemsParallel Programming