I recently picked up an AMD Radeon Pro V340L for $93 CAD and successfully got both GPUs running LLM inference under Windows 11 using Vulkan and llama.cpp.
The V340L is a dual-GPU enterprise accelerator with 16 GB of HBM2 memory split between 2 GPUs. While it wasn't designed for Windows 11 desktop use, I've validated a working configuration that allows both GPUs to run inference simultaneously.
Getting It Working
The key was using AMD PRO Edition 22.Q4 with a modified driver INF to support the V340L's PCI device revision.
The V340L-Enablement projectprovides tooling to prepare the driver. On my Windows 11 installation, I temporarily disabled driver signature enforcement and installed the modified driver manually (you can sign the driver to avoid this.)
Both GPUs were then recognized by Windows and detected by llama.cpp's Vulkan backend.
One important configuration for llama.cpp was required to achieve usable performance:
set GGML_VK_DISABLE_HOST_VISIBLE_VIDMEM=1
This avoids a slow Vulkan memory allocation path and made a substantial difference in inference performance.
Performance
Using Qwen3-4B Q4_K_M, I ran two independent llama.cpp inference benchmarks simultaneously, one on each GPU.
Benchmark
Combined Performance
Prompt processing
724.47 tokens/sec
Text generation
88.39 tokens/sec
Each GPU delivered about 44.2 tokens/sec during simultaneous text generation, with virtually identical performance.
These results represent two concurrent inference workloads, rather than a single model distributed across both GPUs.
What's Next?
For less than $100 CAD, I've now got a working dual-GPU Vulkan inference setup under Windows 11, without modifying any firmware.
Next up is integrating the V340L into LLM Controller Pro, with each GPU operating as an independent inference worker.
My vehicle, computer and GPU collections all increased by at least 1 today 😅
Update
September 26th, 2026
Edited September 28th, 2026
Wow, I haven't blogged since July. That checks out.
I've been very busy. Whether I'm working seven days a week, pulling all-nighters on Rasberry™, or disappearing into another LLM Controller CE update, apparently I know how to keep myself occupied.
Rasberry™ Hosting is now actively serving customer VMs, and I've been continuously improving the Account Management Portal since launch in August.
AMP has already gained a bunch of new customer-facing functionality, including VM reinstall, opening all firewall ports, subscription cancellation, automatic daily VM backups and restore, real-time server status, and Authenticator 2FA.
I've also done a full cleanup and typography consistency pass across the interface, and updated the base Ubuntu installation for tighter integration with AMP and a better experience right from first boot.
Behind all of that, the entire hosting cluster is backed up daily to a dedicated backup cluster.
We've also had nearly 100% uptime since launch. The only significant interruption wasn't actually a VM or hardware outage at all. An ISP outage took the host running AMP offline for around eight hours, while customer VMs continued running normally.
As of writing, the cluster itself is sitting at 162 days of uptime, dating back well before public signups opened.
On the open-source side, LLM Controller CE has been moving just as quickly.
Since my last blog post I've just released the 3rd major version!
LLM Controller CE has grown into much more than another llama.cpp wrapper. It's a workspace, model test bench, project manager, OpenAI-compatible API host, and a growing collection of tools for actually working with local models.
LLM Controller CE v1.4 puts a big focus on Voice and the overall user experience, including local speech-to-text so you can talk directly to your model whether the model itself supports audio or not. No external API required.
In considerably less software-related news, Jamie and I spent our one-year wedding anniversary in a beautiful condo in Whistler, up on Blackcomb Mountain and about as far away from everyone else as we could reasonably get.
We cooked at home, disconnected from everything, and relaxed our faces off for a few days. It was great.
Naturally, I came home and started tearing apart the server room.
I'm currently working through soundproofing, new drywall, fresh paint, and an entirely new cooling setup. It's one of those projects where every completed job reveals another job underneath it, but it's coming together.
After 17 years of running web hosting services in one form or another, Rasberry™ is the next evolution of that work: a cleaner platform, a better customer experience, and a more focused foundation for what comes next.
I’ve built and run the infrastructure myself, backed by the same proven track record that has kept my hosting services online for the past 17 years.
The first public offering is Ubuntu VPS hosting in Canada, with static IPs included and more services planned as the platform grows.
This is not my first step into hosting, it’s the start of Rasberry™ becoming its own modern hosting platform!
This release builds on the foundation of v1.0 with a focus on making the system easier to operate, understand, and use every day.
Better Runtime Visibility
v1.1 improves visibility into what is actually happening behind your local AI stack. Runtime information, active processes, logs, GPU activity, and model status are easier to understand at a glance.
The goal remains simple: serious local inference starts with the hardware, and that hardware should be a first-class part of the experience.
Improved Benchmarks
The benchmark experience has been refined to make testing and comparing local models more practical, with a cleaner interface and improved usability across different screen sizes.
UI/UX Improvements and Polish
A broad round of interface improvements, usability fixes, and general polish has gone into v1.1, tightening up the experience across LLM Controller without changing what already worked.
LLM Controller CE is continuing to evolve as a self-hosted, local-first control layer for running and understanding local AI.