{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/accelerating-parallel-sampling-of-diffusion","title":"Accelerating Parallel Sampling of Diffusion Models","arxiv_id":"2402.09970","date":"2024-02-15","proceeding":null,"authors":["Zhiwei Tang","Jiasheng Tang","Hao Luo","Fan Wang","Tsung-Hui Chang"],"abstract":"Diffusion models have emerged as state-of-the-art generative models for image generation. However, sampling from diffusion models is usually time-consuming due to the inherent autoregressive nature of their sampling process. In this work, we propose a novel approach that accelerates the sampling of diffusion models by parallelizing the autoregressive process. Specifically, we reformulate the sampling process as solving a system of triangular nonlinear equations through fixed-point iteration. With this innovative formulation, we explore several systematic techniques to further reduce the iteration steps required by the solving process. Applying these techniques, we introduce ParaTAA, a universal and training-free parallel sampling algorithm that can leverage extra computational and memory resources to increase the sampling speed. Our experiments demonstrate that ParaTAA can decrease the inference steps required by common sequential sampling algorithms such as DDIM and DDPM by a factor of 4$\\sim$14 times. Notably, when applying ParaTAA with 100 steps DDIM for Stable Diffusion, a widely-used text-to-image diffusion model, it can produce the same images as the sequential sampling in only 7 inference steps. The code is available at https://github.com/TZW1998/ParaTAA-Diffusion.","url_abs":"https://arxiv.org/abs/2402.09970v2","url_pdf":"https://arxiv.org/pdf/2402.09970v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"accelerating-parallel-sampling-of-diffusion","repo_url":"https://github.com/tzw1998/parataa-diffusion","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.09970","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.09970"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tzw1998/parataa-diffusion","reach":null}],"summary":{"ran_draft_wrong":2,"unverified":3},"by_repo_kind":{"official":{"samples":5,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":5,"samples":[{"code_sha256_prefix":"2585aa7ec2ee9550","entry":"decode_latent","repo":"tzw1998/parataa-diffusion","repo_kind":"official","path":"parallel_dit.py","file_url":"https://github.com/tzw1998/parataa-diffusion/blob/HEAD/parallel_dit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2585aa7ec2ee9550"}},{"code_sha256_prefix":"b09739ab8915774e","entry":"parallel_sampling","repo":"tzw1998/parataa-diffusion","repo_kind":"official","path":"parallel_dit.py","file_url":"https://github.com/tzw1998/parataa-diffusion/blob/HEAD/parallel_dit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b09739ab8915774e"}},{"code_sha256_prefix":"c70d9a0fb1dbac59","entry":"ParallelDDIM","repo":"tzw1998/parataa-diffusion","repo_kind":"official","path":"parallel_sd_winit.py","file_url":"https://github.com/tzw1998/parataa-diffusion/blob/HEAD/parallel_sd_winit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c70d9a0fb1dbac59"}},{"code_sha256_prefix":"04ff865dddbf4445","entry":"parallel_sampling","repo":"tzw1998/parataa-diffusion","repo_kind":"official","path":"parallel_sd.py","file_url":"https://github.com/tzw1998/parataa-diffusion/blob/HEAD/parallel_sd.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"04ff865dddbf4445"}},{"code_sha256_prefix":"1539ae438c47a9b4","entry":"parallel_sampling","repo":"tzw1998/parataa-diffusion","repo_kind":"official","path":"parallel_sd_winit.py","file_url":"https://github.com/tzw1998/parataa-diffusion/blob/HEAD/parallel_sd_winit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1539ae438c47a9b4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}