Muneeb's Projects


SpMV on GPUs using DirectX Work Graphs

Sparse Matrix–Vector Multiplication (SpMV) is an important operation used to accelerate deep learning models on the GPU, but its irregular structure makes it hard to load balance.

This project implements load-balanced SpMV using DirectX12 Work Graphs, letting the GPU schedule work dynamically to achieve better performance despite the irregular nature of the application.

July 2025 – Oct 2025 | DirectX12 | HLSL

GitHub

KV Cache Compression with KV Press

A KV cache eviction policy for LLM inference that considers both recent attention scores and value vectors when deciding which entries to keep.

  • Integrated with the kvpress framework.
  • Benchmarked using lm-eval-harness on LongBench with the Mistral-7B-Instruct LLM.

Sept 2025 – Dec 2025 | PyTorch | kvpress | lm-eval-harness

GitHub

Vulkan Forward Clustered Renderer

Written from the ground up to render 3D GLTF Scenes, with a focus on an easy-to-modify rendering pipeline.

Forward++, aka Forward Clustered Rendering, is achieved using a compute shader to determine which lights influence which chunk of the view frustum. This is followed by traditional forward rendering, which calculates lighting only for lights in the same chunk of the view frustum as the surfel. This lets it handle large numbers of lights.

Also includes a voxel renderer with compute shader-based meshing that reduces draw count by 6x.

April 2023 – July 2024 | C++17 | Vulkan

GitHub

Engine 2

A 3D rendering engine capable of drawing massive amounts of geometry efficiently, made possible using per-cluster culling.

Meshes are divided into clusters. A compute shader determines currently visible clusters to minimize the amount of geometry drawn. We are currently working to make this culling use hierarchical z.
Visibility buffer-based rendering is used to save on GPU bandwidth. All triangles are loaded directly from storage buffers, and all vertex attributes are software-interpolated manually in the pixel shader.
There is a complete separation of Geometry, Material, and Lighting passes.

It also includes an automatic asset management system for loading/unloading from disk.
A custom Sparse Array Entity Component System (ECS) implementation is included.

C++17 | OpenGL

GitHub


Terrain Generation Experiments

I have been experimenting with various terrain generation methods like Generation on the GPU and fractal landscapes

C++ | OpenGL

GitHub

Lyra Engine

My first and worst 3D rendering engine.

C++ | OpenGL

GitHub

Latent Diffusion Based Image Inpainting with Multimodal Guidance

Better image inpainting that can be guided by
  • Text prompts
  • Masks
  • Reference images

Finetuning the stable diffusion inpainting model on a custom-prepared dataset from the Open-Images Localized Narratives dataset
Also, by modifying the existing classifier free guidance mechanism, reference images are supported to guide the generated output. [WIP]

Pytorch | HuggingFace Diffusers