Skip to content

Corrupted images on Vukan backend #439

Closed
ggml-org/llama.cpp
#10496
@wbruna

Description

@wbruna

I'm getting either corrupted or inconsistent images on Vulkan backend, for any resolution other than 512x512.

My system is a Linux PC with a Ryzen 3400G, almost-vanilla Debian 12 (using the distro graphic stack). All following tests with:
--type f16 --lora-model-dir ./LoRA --model ./SD/dreamshaper_8.safetensors --prompt 'a fantasy character, detailed background, colorful<lora:lcm-lora-sdv1-5:1>' --cfg-scale 1.0 --sampling-method lcm --steps 4 --rng cuda --seed 42 -b 1 --color
, and a script alternating resolution and compiled binary (Vulkan or CPU backend).

320x512:

Vulkan 1 Vulkan 2 CPU
320x512_vulkan1 320x512_vulkan2 320x512_cpu

Vulkan images look ok-ish (for such a small resolution anyway), but the same seed should produce the same image. And the CPU render looks quite different.

Second test, 384x384; similar behavior (changes between Vulkan 1 and 2 may not be apparent on the thumbnail):

Vulkan 1 Vulkan 2 CPU
384x384_vulkan1 384x384_vulkan2 384x384_cpu

The third test, 448x448, gets weird:

Vulkan 1 Vulkan 2 CPU
448x448_vulkan1 448x448_vulkan2 448x448_cpu

At first, I blamed my PC drivers. But then, the 512x512 test:

Vulkan 1 Vulkan 2 CPU
512x512_vulkan1 512x512_vulkan2 512x512_cpu

Looks absolutely fine, and identical between Vulkan and CPU.

In summary:

  • 512x512 works fine;
  • any other resolution produces inconsistent images between runs;
  • some resolutions introduce artifacts

(related: #122 )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions