Open-Source Acceleration of Stable-Diffusion.cpp Deployable on All Devices

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Ng, Jingxu, Lv, Cheng, Zhao, Pu, Niu, Wei, Lin, Juyi, Pan, Minzhou, Liang, Yun, Wang, Yanzhi
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909450881728512
author Ng, Jingxu
Lv, Cheng
Zhao, Pu
Niu, Wei
Lin, Juyi
Pan, Minzhou
Liang, Yun
Wang, Yanzhi
author_facet Ng, Jingxu
Lv, Cheng
Zhao, Pu
Niu, Wei
Lin, Juyi
Pan, Minzhou
Liang, Yun
Wang, Yanzhi
contents Stable diffusion plays a crucial role in generating high-quality images. However, image generation is time-consuming and memory-intensive. To address this, stable-diffusion.cpp (Sdcpp) emerges as an efficient inference framework to accelerate the diffusion models. Although it is lightweight, the current implementation of ggml_conv_2d operator in Sdcpp is suboptimal, exhibiting both high inference latency and massive memory usage. To address this, in this work, we present an optimized version of Sdcpp leveraging the Winograd algorithm to accelerate 2D convolution operations, which is the primary bottleneck in the pipeline. By analyzing both dependent and independent computation graphs, we exploit the device's locality and parallelism to achieve substantial performance improvements. Our framework delivers correct end-to-end results across various stable diffusion models, including SDv1.4, v1.5, v2.1, SDXL, and SDXL-Turbo. Our evaluation results demonstrate a speedup up to 2.76x for individual convolutional layers and an inference speedup up to 4.79x for the overall image generation process, compared with the original Sdcpp on M1 pro. Homepage: https://github.com/SealAILab/stable-diffusion-cpp
format Preprint
id arxiv_https___arxiv_org_abs_2412_05781
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Open-Source Acceleration of Stable-Diffusion.cpp Deployable on All Devices
Ng, Jingxu
Lv, Cheng
Zhao, Pu
Niu, Wei
Lin, Juyi
Pan, Minzhou
Liang, Yun
Wang, Yanzhi
Computer Vision and Pattern Recognition
Artificial Intelligence
Machine Learning
Stable diffusion plays a crucial role in generating high-quality images. However, image generation is time-consuming and memory-intensive. To address this, stable-diffusion.cpp (Sdcpp) emerges as an efficient inference framework to accelerate the diffusion models. Although it is lightweight, the current implementation of ggml_conv_2d operator in Sdcpp is suboptimal, exhibiting both high inference latency and massive memory usage. To address this, in this work, we present an optimized version of Sdcpp leveraging the Winograd algorithm to accelerate 2D convolution operations, which is the primary bottleneck in the pipeline. By analyzing both dependent and independent computation graphs, we exploit the device's locality and parallelism to achieve substantial performance improvements. Our framework delivers correct end-to-end results across various stable diffusion models, including SDv1.4, v1.5, v2.1, SDXL, and SDXL-Turbo. Our evaluation results demonstrate a speedup up to 2.76x for individual convolutional layers and an inference speedup up to 4.79x for the overall image generation process, compared with the original Sdcpp on M1 pro. Homepage: https://github.com/SealAILab/stable-diffusion-cpp
title Open-Source Acceleration of Stable-Diffusion.cpp Deployable on All Devices
topic Computer Vision and Pattern Recognition
Artificial Intelligence
Machine Learning
url https://arxiv.org/abs/2412.05781