akandr/bc250
AMD BC-250 (PS5 APU) setup guide — Ollama + Vulkan inference, poor man's AI assistant via Signal, stable-diffusion.cpp image generation
What it solves
The AMD BC-250 is a forgotten crypto-mining board built around a rare AMD APU (Cyan Skillfish) with 16 GB of unified memory. Retail software support for this chip is almost nonexistent — official ROCm compute does not work, and the only reliable GPU path is Vulkan. This project documents how to turn that abandoned board into a capable headless AI server that runs large language models locally, including models up to 35B parameters, at speeds like 78.7 tokens per second for a Mixture-of-Experts model. It also solves the practical problems of getting Vulkan inference to work on this hardware, lifting the two kernel memory limits that prevent bigger models from loading, and unlocking the GPU's full 40 compute units (the factory firmware only exposes 24). Beyond that, it provides the software stack and benchmarks for a fully autonomous home AI system: a Signal chat bot with vision and audio, image generation, a network scanner that runs hundreds of automated jobs, and a career-intelligence dashboard.
How it works
The project is a comprehensive guide and set of scripts. The hardware is the BC-250 board: a Zen 2 CPU (6 cores), a GFX1013 GPU (informally called "RDNA 1.5") with 16 GB of GDDR6 memory shared between CPU and GPU, and a community-patched BIOS that unlocks memory configuration. The software stack uses the Vulkan driver from Mesa 25.3.4 (RADV) and Ollama / llama.cpp for inference. The author tunes the kernel parameters ttm.pages_limit to raise the GPU memory limit from ~7.4 GiB to the full 16 GiB, which is required for 14B and larger models. A community kernel patch unlocks the 40 CU, and the oberon governor controls the GPU clock (capped at 1500 MHz). The repository includes benchmark harnesses, a pair of scripts for running an autonomous monitoring system (netscan) that executes 330 jobs via a queue-runner, a Signal bot that routes messages to the appropriate model (chat, vision, audio transcription), and an image-generation pipeline using FLUX.2-klein-9B. Everything is documented with exact versions, troubleshooting steps, and statistical validation of the measured performance.
Who it's for
This is for technically curious users who own or plan to buy an AMD BC-250 board (or similarly rare AMD APUs) and want to run local LLMs without relying on the cloud. It's also valuable for anyone interested in Vulkan as an inference backend, or in optimising LLM performance on hardware with unified memory and limited software support. The documentation assumes a working knowledge of Linux, the command line, and basic hardware concepts, but it includes a glossary that explains LLM terms like quantization, tokens per second, and context windows.
Highlights
- 40-CU unlock: a community kernel patch re-enables 16 masked compute units, giving a median 1.32× speed-up in token generation and 1.50× in prompt processing across 11 models.
- Vulkan-only inference: works around the lack of ROCm support, achieving speeds like 78.7 tok/s for Qwen3.5 35B MoE at 40 CU, and 129.2 tok/s for a hybrid Mamba model.
- Long-context handling: models run up to 64K filled context with needle-retrieval success at every tier, thanks to the memory tuning and the 40-CU unlock.
- MoE insight: on scalar hardware, Mixture-of-Experts models decode at roughly their active-parameter count, giving a ~6× speed advantage over dense models at the same quantization.
- Full autonomous stack: includes a Signal chat bot with vision and audio, an image generator, a 330-job network scanner with a 130-page dashboard, and a career-intelligence scanner.
- Comprehensive benchmarks: 31 models tested across generation speed, quality, context scaling, cold-start timing, and quantization impact, all with statistical validation and a roofline analysis.
Related
- Project
- Project
- Project
- Project