gitwtfhub

wtf is xpose?

badnikhil/xpose — explained in plain English

Analysis updated 2026-05-18

8C++Audience · developerComplexity · 5/5Setup · hard

TL;DR

A C/C++ toolkit that lets Android phones run GPU compute kernels with CUDA-like simplicity, no raw Vulkan boilerplate needed.

Mindmap

mindmap
  root((Xpose))
    What it does
      GPU compute on Android
      CUDA like ergonomics
      OpenCL C kernels
      Compiled to SPIR-V
    Tech stack
      C++20
      Vulkan
      OpenCL C
      SPIR-V
    Use cases
      On device AI models
      Physics simulations
      Cross platform GPU code
    Audience
      Mobile developers
      Systems programmers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run GPU-accelerated compute kernels on Android phones without writing raw Vulkan boilerplate.

REASON 2

Run a small AI language model directly on a phone's GPU for fast, on-device responses.

REASON 3

Run large physics or numerical simulations much faster on a phone's GPU than its CPU.

REASON 4

Port CUDA-style GPU compute code to Android, Linux, or desktop GPUs from different vendors.

What's in the stack?

C++VulkanOpenCL CSPIR-V

How it stacks up

badnikhil/xposedmaynard51/ultima4-ioslibretro/thepowdertoy
Stars888
LanguageC++C++C++
Last pushed2026-07-13
MaintenanceActive
Setup difficultyhardmoderatemoderate
Complexity5/53/53/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires writing OpenCL C kernels, compiling them to SPIR-V at build time, and a Vulkan 1.1 capable device to run on.

The README does not clearly state a license for this project.

Wtf does this do

Xpose is a C and C++ toolkit that lets Android phones, and desktop computers, run heavy GPU calculations with an experience similar to CUDA, the toolkit Nvidia graphics cards use for this kind of work. Normally, Android phones do not have anything like CUDA available, so getting a phone's graphics chip to do general purpose computing means writing a lot of low level code using Vulkan, the graphics standard most modern phones support, or using another heavyweight tool that still asks the programmer to manage a lot of technical setup. Xpose tries to remove that pain. With Xpose, you write your GPU program, called a kernel, using a C like programming language called OpenCL C. That kernel gets compiled ahead of time into a format called SPIR-V using an existing open source tool. Then Xpose's own runtime, a small piece of code that ships with your app, loads that compiled kernel, works out how to connect its inputs and outputs automatically, and lets you run it with a single line of code instead of hundreds of lines of manual setup. The project pays special attention to a real problem with phone hardware: unlike desktop graphics cards, many phone GPUs use a type of memory that needs to be manually kept in sync between the processor and the graphics chip. Xpose is built and tested on real phone hardware to handle this correctly, aiming for zero copy transfers when possible instead of unnecessary copying. The README demonstrates two example workloads running on a real phone: a small AI language model responding at real time speeds entirely on the phone's GPU, and a very large physics simulation running much faster on the GPU than on the phone's regular processor. Xpose is a small library, no separate Vulkan development kit installation is required, and it aims to work across Android, Linux, and desktop GPUs from major manufacturers, as well as running on the CPU as a fallback. It was built by a team of three during a hackathon hosted by Qualcomm in July 2026.

Yoink these prompts

Prompt 1
Help me write my first OpenCL C kernel and dispatch it with Xpose's launch function.
Prompt 2
Explain how Xpose handles non-coherent memory on Android GPUs compared to desktop GPUs.
Prompt 3
Show me how to compile a kernel to SPIR-V for Xpose using clspv.
Prompt 4
Walk me through batching multiple kernel dispatches with Xpose's Batch API.

Frequently asked questions

wtf is xpose?

A C/C++ toolkit that lets Android phones run GPU compute kernels with CUDA-like simplicity, no raw Vulkan boilerplate needed.

What language is xpose written in?

Mainly C++. The stack also includes C++, Vulkan, OpenCL C.

What license does xpose use?

The README does not clearly state a license for this project.

How hard is xpose to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is xpose for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.