← All ideas
  • Published 28 Sep 2025

XPU for Cycles

I’d like to propose adding XPU rendering support to Cycles, similar to what SideFX’s Karma XPU offers in Houdini or XPU Renderman (Pixar).
The idea is to enable simultaneous CPU + GPU rendering in a single unified kernel, rather than the current “choose CPU or GPU” workflow.

EDIT : i'm talking about a real XPU Rendering ! Not the classical hyrbid system like some peoples say "Blender already support XPU" but Nop, it's juste an hybrid system !

Why This Matters

Modern productions often involve huge environments, heavy volumetrics, and film-grade assets.
Today, if a scene no longer fits comfortably in GPU memory, artists must fall back to CPU rendering and lose the GPU’s speed advantage.

An XPU approach would:

  • Leverage all hardware at once --> CPU cores and GPU compute working together, automatically balancing the load.
  • Handle out-of-core memory more gracefully --> CPU RAM could pick up overflow without stopping the GPU.
  • Scale better for massive scenes --> architectural visualization, VFX shots, or dense procedural setups would render faster and more reliably.
  • Simplify the workflow --> no more last-minute device switches or maintaining separate render farms.

Practical Impact

Studios across Europe and worldwide frequently deal with gigantic datasets.
A native XPU engine would keep Cycles competitive with other DCCs while reducing hardware costs and render times.

Suggested User Experience

A new option “Cycles XPU” device option that intelligently distributes work across CPU and GPU,
with automatic fallback when GPU memory is exceeded, keeping the familiar Cycles interface intact.


Thanks for considering that like an avancement for cycles dues to modernes technology and better support for massive environnement in Blender and Render Engine !!

66.7%

Development Status: Open

Upvote 4 Downvote 2
Donovane
28 Sep 2025

7 Comments

zuorion

Cycles already can render with GPU and CPU simultaneously. Just select both CPU and GPU devices in settings and render with Device "GPU"

3
Lauloque

Also I believe that since Cycles X (and maybe even before), Cycles is already able to switch to RAM and even disk storage even when rendering on GPU only so to be able to keep rendering when out of VRAM and avoid "out of memory" errors, though at the cost of significant performance loss.

1
Donovane Author

Cycles doesn't support XPU rendering, it's not a real XPU system i'm inviting you to consider to read the documentation. Like that is a base classic hybrid system but not XPU ! And in facts inb the option you can't enable both (GPU & CPU) for rendering ! You can only in settings !

Donovane Author

That is for XPU rendering, cycles doens't support it ! Is the features wanted btw

zuorion

i'm inviting you to consider to read the documentation

Don't write insulting "do Your own research" comments.

Tell me and others whats difference instead of wasting people time. I've already looked up Karma's documentation before and i dont see any meaningful differences.

1
Donovane Author

My bad, but just to be clear, the current design is not an XPU system.
The current setup makes the CPU render a tile while the GPU waits for the CPU to finish before it can process another tile.
This “hybrid” approach creates a significant bottleneck.
In a true XPU system, the CPU and GPU can work on the same image simultaneously, so this bottleneck doesn’t exist and heavy scenes render much faster.

  • In Blender Cycles, the current CPU+GPU mode is a hybrid rendering method: each device computes different tiles but does not share work on the same tile. And this "Current work" create a bottle neck ! Because device 1 need to wait device 2
  • An actual XPU renderer (ex : Karma XPU or RenderMan XPU) splits the same task between CPU and GPU in parallel.
  • Therefore, the statement is accurate: Cycles is not XPU, and this hybrid approach can create a bottleneck, especially on heavy scenes.
1
Lauloque

The current setup makes the CPU render a tile while the GPU waits for the CPU to finish before it can process another tile.

That’s how Cycles worked until Blender 2.93. Since Blender 3.0's Cycles X update of December 2021, the rendering system was rewritten.

Tl;dr:

  • The GPU and CPU aren't split on different tiles and stalling each other anymore, they work in parallel at sample level.
  • Tiles are not used for device scheduling anymore: they are primarily for memory management on very high-resolution images and multiple render passes.

Sources:

That's why this proposal is confusing, it's premised on bottlenecks that have been removed almost four years ago and tapes on it a tech label as solution.

1