Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MODEL: SDXL issues tracking. #462

Open
monorimet opened this issue Feb 21, 2024 · 0 comments
Open

MODEL: SDXL issues tracking. #462

monorimet opened this issue Feb 21, 2024 · 0 comments
Labels
tracking-issue Tracking Issue

Comments

@monorimet
Copy link
Contributor

monorimet commented Feb 21, 2024

We need a centralized resource for SDXL bringup.

This will serve as a high-level map of the pending tasks and their assignees.

We do not want to split into different IR paths in the future, so first priority is making sure we can decompose sdpfa properly in IREE. To reproduce any issues tracked here, please for the time being use the ean-sd-fp16 branch of SHARK-Turbine

Model Files: https://github.com/nod-ai/playbook?tab=readme-ov-file#ai-model-download-links

Compile Commands: https://github.com/nod-ai/playbook/blob/main/HOWTO/sd-commands.md

Following are tables for each backend that track the current state of SDXL compilation and numerics validation, for each submodel.

By default these tables track : stabilityai/stable-diffusion-xl-base-1.0 output size 1024x1024, f16 precision, BS1, max length 64.

CPU:

Variant Submodel Compile Runtime Numerics Assignee
SDXL
UNet + attn Good Good Fail (NaN) @hanhanW
Clip1 Good Good Good
Clip2 Good Good Good
VAE decode + attn Good Good Fail (NaN) @hanhanW
VAE encode + attn Good Good Fail (NaN) @hanhanW

Vulkan-SPIRV:

Variant Submodel Compile Runtime Numerics Assignee
SDXL
UNet + attn Fail (attn tile+decomp) @erman-gurses
Clip1 Fail @Eliasj42
Clip2 Fail @Eliasj42
VAE decode + attn Fail (attn tile+decomp) @erman-gurses
VAE encode + attn Fail (attn tile+decomp) @erman-gurses

ROCM:

Variant Submodel Compile Runtime Numerics Assignee
SDXL
UNet + attn Good Fail (shared memory exceeds limit by ~800 bytes @erman-gurses
Clip1 @Eliasj42
Clip2 @Eliasj42
VAE decode + attn Fail (shared memory) @erman-gurses
VAE encode + attn Fail (shared memory) @erman-gurses

Additionally, we track testing for SDXL models and what needs done for them @jinchen62 :

  • Benchmarks
  • Parametrized/configurable tests (dont hardcode all the args as is currently done in turbine_models/tests/sd(xl)_test.py)
  • Actual testing functionalities e.g. xfails, reproducer automation, etc.
  • optional tear-down (artifacts cleanup) that works on windows+linux
  • multiple entry-points (i.e. don't recompile vmfbs or re-import .mlir if they already exist, unless the user asks for recompile/import)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking-issue Tracking Issue
Projects
None yet
Development

No branches or pull requests

8 participants