Skip to main content
Koharu downloads the native libraries and model files needed by the features you use. You do not need a full CUDA or ROCm SDK installation to run a release.

Device selection

Startup chooses a shared ML device from the available backends: Metal on Apple silicon, then CUDA, ROCm/HIP, Vulkan, or CPU where supported. A device is selected only when the Torch, llama.cpp, and diffusion runtimes all publish a package for it, so the operating system, driver, and model backend must all support the selected path.
CUDA 13.3 support is available on Windows and Linux. Koharu selects a CUDA device only when the driver reports CUDA 13.3 or newer and the GPU has compute capability 7.5 or newer, which means a Turing-class or newer GPU with an R610-series or newer driver. See NVIDIA’s driver and architecture matrix and driver downloads.
The editor canvas uses WebGPU in the embedded CEF webview. It still needs a working WebGPU adapter and graphics driver when ML inference runs on CPU.

Downloads and caches

On macOS and Linux, packages live under the operating system cache directory in koharu/packages. On Windows, they live in the store directory inside Koharu’s installation directory. Projects live under Documents/Koharu; settings live in ~/.koharu/config.toml. See data locations. Downloads are staged before being published to the cache. Retry an interrupted download on the next launch or model use.

Memory and model residency

The resource monitor in the page rail footer reports process and system memory, CPU usage, and the selected device’s utilization and memory. Models load on first use and stay loaded for later stages. If a stage fails with an out-of-memory error, Koharu unloads the other stages’ models and retries that stage once. Saving settings unloads models, so the next run reloads them. Start with a moderate local quantization. Smaller files usually need less memory, with a possible quality trade-off. A model that fits on disk can still exceed device memory. If startup fails, check network access to the package repositories, update the driver, and retry once. Capture the full error if it repeats and follow troubleshooting.