November 30th, 2023

Boost Your Gen AI Experience with our DirectML extension for Automatic1111’s WebUI

Olive is a powerful open-source Microsoft tool to optimize ONNX models for DirectML. You may remember from this year’s Build that we showcased Olive support for Stable Diffusion, a cutting-edge Generative AI model that creates images from text.

We didn’t want to stop there, since many users access Stable Diffusion through Automatic1111’s webUI, a popular and versatile interface for Stable Diffusion.

Luckily this webUI supports extensions, and today we’re thrilled to reveal our DirectML extension!

Specifically, our extension offers DirectML support for the compute-heavy uNet models in Stable Diffusion. This unlocks the ability to run Automatic1111’s webUI performantly on wide range of GPUs from different vendors across the Windows ecosystem.

https://github.com/microsoft/Stable-Diffusion-WebUI-DirectML

See huge performance wins after optimizing for DirectML!

Our DirectML extensions means that users can see performance wins after running an Olive optimization pass.

These perf wins exist across a range of hardware – up to 2.8x in our tests!

Image Olive SD graph

Note that the unoptimized and optimized Stable Diffusion models were in the ONNX format in our tests to ensure an apples-to-apples comparison. Performance was measured inside Automatic1111’s webUI.

Thank you to our partners for their work enabling Stable Diffusion on DirectML! For more from our partners, see:

Getting Started

Installation

To install our extension, launch the webUI and open the Extensions tab. Once there, go to Install from URL and paste in this URL (https://github.com/microsoft/Stable-Diffusion-WebUI-DirectML) before clicking Install.

Model Conversion

This extension runs best after a converted Stable Diffusion model has been put through an Olive optimization pass.

Stable Diffusion models with different checkpoints and/or weights but the same architecture and layers as Stable Diffusion 1.5, 2.0 and 2.1 are also compatible. See our sample to get started.

Once this is complete, follow our extension’s readme for next steps.

Drivers

We recommend upgrading to the latest drivers for the best performance.

  • AMD has released optimized graphics drivers supporting AMD RDNA™ 3 devices including AMD Radeon™ RX 7900 Series graphics cards. Download Adrenalin Edition™ 23.11.1 or newer (https://www.amd.com/en/support).
  • Intel has released optimized graphics drivers supporting Intel Arc A-Series graphics cards. Download the latest drivers here.
  • NVIDIA: Users of NVIDIA GeForce RTX 20, 30 and 40 Series GPUs can see these improvements firsthand, with NVIDIA Driver 535.98 or newer.
Contributions

We cannot guarantee that all existing Automatic1111 functionality works with our DirectML extension. We welcome contributions from the community though; please see https://github.com/microsoft/Stable-Diffusion-WebUI-DirectML#contributing

Category
DirectML

Author

Jacques van Rhyn
Program Manager

Senior Program Manager on the DirectML Team at Microsoft.

0 comments

Discussion are closed.