cache-dit 1.0.8__py3-none-any.whl → 1.0.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cache-dit might be problematic. Click here for more details.

Files changed (45) hide show
  1. cache_dit/_version.py +2 -2
  2. cache_dit/cache_factory/__init__.py +1 -0
  3. cache_dit/cache_factory/block_adapters/__init__.py +37 -0
  4. cache_dit/cache_factory/block_adapters/block_adapters.py +75 -4
  5. cache_dit/cache_factory/block_adapters/block_registers.py +44 -17
  6. cache_dit/cache_factory/cache_adapters/cache_adapter.py +72 -30
  7. cache_dit/cache_factory/cache_contexts/cache_config.py +5 -3
  8. cache_dit/cache_factory/cache_contexts/cache_manager.py +125 -4
  9. cache_dit/cache_factory/cache_contexts/context_manager.py +9 -2
  10. cache_dit/cache_factory/cache_contexts/prune_manager.py +15 -2
  11. cache_dit/cache_factory/cache_interface.py +102 -28
  12. cache_dit/cache_factory/forward_pattern.py +14 -14
  13. cache_dit/parallelism/backends/native_diffusers/__init__.py +0 -3
  14. cache_dit/parallelism/backends/native_diffusers/context_parallelism/__init__.py +95 -0
  15. cache_dit/parallelism/backends/native_diffusers/context_parallelism/cp_plan_registers.py +74 -0
  16. cache_dit/parallelism/backends/native_diffusers/context_parallelism/cp_planners.py +254 -0
  17. cache_dit/parallelism/backends/native_diffusers/parallel_difffusers.py +17 -49
  18. cache_dit/parallelism/backends/native_diffusers/utils.py +11 -0
  19. cache_dit/parallelism/backends/native_pytorch/__init__.py +3 -0
  20. cache_dit/parallelism/backends/native_pytorch/parallel_torch.py +62 -0
  21. cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/__init__.py +48 -0
  22. cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_flux.py +159 -0
  23. cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_qwen_image.py +78 -0
  24. cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_registers.py +58 -0
  25. cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_wan.py +153 -0
  26. cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_planners.py +12 -0
  27. cache_dit/parallelism/parallel_backend.py +2 -0
  28. cache_dit/parallelism/parallel_config.py +10 -3
  29. cache_dit/parallelism/parallel_interface.py +14 -5
  30. cache_dit/quantize/backends/__init__.py +1 -0
  31. cache_dit/quantize/backends/bitsandbytes/__init__.py +0 -0
  32. cache_dit/quantize/backends/torchao/__init__.py +1 -0
  33. cache_dit/quantize/{quantize_ao.py → backends/torchao/quantize_ao.py} +28 -9
  34. cache_dit/quantize/quantize_backend.py +0 -0
  35. cache_dit/quantize/quantize_config.py +0 -0
  36. cache_dit/quantize/quantize_interface.py +3 -16
  37. cache_dit/utils.py +56 -20
  38. {cache_dit-1.0.8.dist-info → cache_dit-1.0.10.dist-info}/METADATA +24 -13
  39. {cache_dit-1.0.8.dist-info → cache_dit-1.0.10.dist-info}/RECORD +45 -29
  40. /cache_dit/{custom_ops → kernels}/__init__.py +0 -0
  41. /cache_dit/{custom_ops → kernels}/triton_taylorseer.py +0 -0
  42. {cache_dit-1.0.8.dist-info → cache_dit-1.0.10.dist-info}/WHEEL +0 -0
  43. {cache_dit-1.0.8.dist-info → cache_dit-1.0.10.dist-info}/entry_points.txt +0 -0
  44. {cache_dit-1.0.8.dist-info → cache_dit-1.0.10.dist-info}/licenses/LICENSE +0 -0
  45. {cache_dit-1.0.8.dist-info → cache_dit-1.0.10.dist-info}/top_level.txt +0 -0
@@ -7,37 +7,24 @@ logger = init_logger(__name__)
7
7
 
8
8
  def quantize(
9
9
  module: torch.nn.Module,
10
- quant_type: str = "fp8_w8a8_dq",
10
+ quant_type: str = "float8_weight_only",
11
11
  backend: str = "ao",
12
12
  exclude_layers: List[str] = [
13
13
  "embedder",
14
14
  "embed",
15
15
  ],
16
16
  filter_fn: Optional[Callable] = None,
17
- # only for fp8_w8a8_dq
18
- per_row: bool = True,
19
17
  **kwargs,
20
18
  ) -> torch.nn.Module:
21
19
  assert isinstance(module, torch.nn.Module)
22
20
 
23
21
  if backend.lower() in ("ao", "torchao"):
24
- from cache_dit.quantize.quantize_ao import quantize_ao
25
-
26
- quant_type = quant_type.lower()
27
- assert quant_type in (
28
- "fp8_w8a8_dq",
29
- "fp8_w8a16_wo",
30
- "int8_w8a8_dq",
31
- "int8_w8a16_wo",
32
- "int4_w4a8_dq",
33
- "int4_w4a4_dq",
34
- "int4_w4a16_wo",
35
- ), f"{quant_type} is not supported for torchao backend now!"
22
+ from cache_dit.quantize.backends.torchao import quantize_ao
36
23
 
37
24
  return quantize_ao(
38
25
  module,
39
26
  quant_type=quant_type,
40
- per_row=per_row,
27
+ per_row=kwargs.pop("per_row", True),
41
28
  exclude_layers=exclude_layers,
42
29
  filter_fn=filter_fn,
43
30
  **kwargs,
cache_dit/utils.py CHANGED
@@ -13,6 +13,7 @@ from cache_dit.cache_factory import CacheType
13
13
  from cache_dit.cache_factory import BlockAdapter
14
14
  from cache_dit.cache_factory import BasicCacheConfig
15
15
  from cache_dit.cache_factory import CalibratorConfig
16
+ from cache_dit.cache_factory import FakeDiffusionPipeline
16
17
  from cache_dit.parallelism import ParallelismConfig
17
18
  from cache_dit.logger import init_logger
18
19
 
@@ -64,6 +65,7 @@ def summary(
64
65
  adapter_or_others: Union[
65
66
  BlockAdapter,
66
67
  DiffusionPipeline,
68
+ FakeDiffusionPipeline,
67
69
  torch.nn.Module,
68
70
  ],
69
71
  details: bool = False,
@@ -73,31 +75,43 @@ def summary(
73
75
  if adapter_or_others is None:
74
76
  return [CacheStats()]
75
77
 
78
+ if isinstance(adapter_or_others, FakeDiffusionPipeline):
79
+ raise ValueError(
80
+ "Please pass DiffusionPipeline, BlockAdapter or transfomer, "
81
+ "not FakeDiffusionPipeline."
82
+ )
83
+
76
84
  if not isinstance(adapter_or_others, BlockAdapter):
77
85
  if not isinstance(adapter_or_others, DiffusionPipeline):
78
- transformer = adapter_or_others
86
+ transformer = adapter_or_others # transformer-only
79
87
  transformer_2 = None
80
88
  else:
81
89
  transformer = adapter_or_others.transformer
82
- transformer_2 = None
90
+ transformer_2 = None # Only for Wan2.2
83
91
  if hasattr(adapter_or_others, "transformer_2"):
84
92
  transformer_2 = adapter_or_others.transformer_2
85
93
 
86
- if not BlockAdapter.is_cached(transformer):
94
+ if all(
95
+ (
96
+ not BlockAdapter.is_cached(transformer),
97
+ not BlockAdapter.is_parallelized(transformer),
98
+ )
99
+ ):
87
100
  return [CacheStats()]
88
101
 
89
102
  blocks_stats: List[CacheStats] = []
90
- for blocks in BlockAdapter.find_blocks(transformer):
91
- blocks_stats.append(
92
- _summary(
93
- blocks,
94
- details=details,
95
- logging=logging,
96
- **kwargs,
103
+ if BlockAdapter.is_cached(transformer):
104
+ for blocks in BlockAdapter.find_blocks(transformer):
105
+ blocks_stats.append(
106
+ _summary(
107
+ blocks,
108
+ details=details,
109
+ logging=logging,
110
+ **kwargs,
111
+ )
97
112
  )
98
- )
99
113
 
100
- if transformer_2 is not None:
114
+ if transformer_2 is not None and BlockAdapter.is_cached(transformer_2):
101
115
  for blocks in BlockAdapter.find_blocks(transformer_2):
102
116
  blocks_stats.append(
103
117
  _summary(
@@ -126,7 +140,11 @@ def summary(
126
140
  )
127
141
  )
128
142
 
129
- blocks_stats = [stats for stats in blocks_stats if stats.cache_options]
143
+ blocks_stats = [
144
+ stats
145
+ for stats in blocks_stats
146
+ if (stats.cache_options or stats.parallelism_config)
147
+ ]
130
148
 
131
149
  return blocks_stats if len(blocks_stats) else [CacheStats()]
132
150
 
@@ -155,11 +173,20 @@ def strify(
155
173
  adapter_or_others: Union[
156
174
  BlockAdapter,
157
175
  DiffusionPipeline,
176
+ FakeDiffusionPipeline,
177
+ torch.nn.Module,
158
178
  CacheStats,
159
179
  List[CacheStats],
160
180
  Dict[str, Any],
161
181
  ],
162
182
  ) -> str:
183
+ if isinstance(adapter_or_others, FakeDiffusionPipeline):
184
+ raise ValueError(
185
+ "Please pass DiffusionPipeline, BlockAdapter or transfomer, "
186
+ "not FakeDiffusionPipeline."
187
+ )
188
+
189
+ parallelism_config: ParallelismConfig = None
163
190
  if isinstance(adapter_or_others, BlockAdapter):
164
191
  stats = summary(adapter_or_others, logging=False)[-1]
165
192
  cache_options = stats.cache_options
@@ -168,6 +195,10 @@ def strify(
168
195
  stats = summary(adapter_or_others, logging=False)[-1]
169
196
  cache_options = stats.cache_options
170
197
  cached_steps = len(stats.cached_steps)
198
+ elif isinstance(adapter_or_others, torch.nn.Module):
199
+ stats = summary(adapter_or_others, logging=False)[-1]
200
+ cache_options = stats.cache_options
201
+ cached_steps = len(stats.cached_steps)
171
202
  elif isinstance(adapter_or_others, CacheStats):
172
203
  stats = adapter_or_others
173
204
  cache_options = stats.cache_options
@@ -182,18 +213,22 @@ def strify(
182
213
  cache_options = adapter_or_others
183
214
  cached_steps = None
184
215
  cache_type = cache_options.get("cache_type", CacheType.NONE)
185
-
186
216
  stats = None
217
+ parallelism_config = cache_options.get("parallelism_config", None)
187
218
 
188
219
  if cache_type == CacheType.NONE:
189
220
  return "NONE"
190
221
  else:
191
222
  raise ValueError(
192
223
  "Please set pipe_or_stats param as one of: "
193
- "DiffusionPipeline | CacheStats | Dict[str, Any]"
224
+ "DiffusionPipeline | CacheStats | Dict[str, Any] | List[CacheStats]"
225
+ " | BlockAdapter | Transformer"
194
226
  )
195
227
 
196
- if not cache_options:
228
+ if stats is not None:
229
+ parallelism_config = stats.parallelism_config
230
+
231
+ if not cache_options and parallelism_config is None:
197
232
  return "NONE"
198
233
 
199
234
  def cache_str():
@@ -219,14 +254,14 @@ def strify(
219
254
  return "T0O0"
220
255
 
221
256
  def parallelism_str():
222
- if stats is None:
223
- return ""
224
- parallelism_config: ParallelismConfig = stats.parallelism_config
225
257
  if parallelism_config is not None:
226
258
  return f"_{parallelism_config.strify()}"
227
259
  return ""
228
260
 
229
- cache_type_str = f"{cache_str()}_{calibrator_str()}{parallelism_str()}"
261
+ cache_type_str = f"{cache_str()}"
262
+ if cache_type_str != "NONE":
263
+ cache_type_str += f"_{calibrator_str()}"
264
+ cache_type_str += f"{parallelism_str()}"
230
265
 
231
266
  if cached_steps:
232
267
  cache_type_str += f"_S{cached_steps}"
@@ -245,6 +280,7 @@ def _summary(
245
280
  ) -> CacheStats:
246
281
  cache_stats = CacheStats()
247
282
 
283
+ # Get stats from transformer
248
284
  if not isinstance(pipe_or_module, torch.nn.Module):
249
285
  assert hasattr(pipe_or_module, "transformer")
250
286
  module = pipe_or_module.transformer
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cache_dit
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: A Unified, Flexible and Training-free Cache Acceleration Framework for 🤗Diffusers.
5
5
  Author: DefTruth, vipshop.com, etc.
6
6
  Maintainer: DefTruth, vipshop.com, etc
@@ -14,6 +14,8 @@ Requires-Dist: pyyaml
14
14
  Requires-Dist: torch>=2.7.1
15
15
  Requires-Dist: diffusers>=0.35.1
16
16
  Requires-Dist: transformers>=4.55.2
17
+ Provides-Extra: parallelism
18
+ Requires-Dist: einops>=0.8.1; extra == "parallelism"
17
19
  Provides-Extra: quantization
18
20
  Requires-Dist: torchao>=0.12.0; extra == "quantization"
19
21
  Provides-Extra: metrics
@@ -36,6 +38,7 @@ Requires-Dist: opencv-python-headless; extra == "dev"
36
38
  Requires-Dist: ftfy; extra == "dev"
37
39
  Requires-Dist: scikit-image; extra == "dev"
38
40
  Provides-Extra: all
41
+ Requires-Dist: cache-dit[parallelism]; extra == "all"
39
42
  Requires-Dist: cache-dit[quantization]; extra == "all"
40
43
  Requires-Dist: cache-dit[metrics]; extra == "all"
41
44
  Dynamic: license-file
@@ -48,16 +51,17 @@ Dynamic: requires-python
48
51
  <p align="center">
49
52
  A <b>Unified</b>, Flexible and Training-free <b>Cache Acceleration</b> Framework for <b>🤗Diffusers</b> <br>
50
53
  ♥️ Cache Acceleration with <b>One-line</b> Code ~ ♥️ <br>
51
- 🔥<b><a href="./docs/User_Guide.md">DBCache</a> | <a href="./docs/User_Guide.md">DBPrune</a> | <a href="./docs/User_Guide.md">Hybrid TaylorSeer</a> | <a href="./docs/User_Guide.md">Hybrid Cache CFG</a></b>🔥 <br>
52
- 🔥<b><a href="./docs/User_Guide.md">Hybrid Context Paralleism</a> | <a href="./docs/User_Guide.md">Diffusers Native</a> | <a href="./docs/User_Guide.md">SOTA</a></b>🔥
54
+ 🔥<a href="./docs/User_Guide.md">Forward Pattern Matching</a> | <a href="./docs/User_Guide.md">Automatic Block Adapter</a>🔥 <br>
55
+ 🔥<a href="./docs/User_Guide.md"><b>DBCache</b></a> | <a href="./docs/User_Guide.md"><b>DBPrune</b></a> | <a href="./docs/User_Guide.md">Hybrid <b>TaylorSeer</b> Calibrator</a> | <a href="./docs/User_Guide.md">Hybrid <b>Cache CFG</b></a>🔥<br>
56
+ 🔥<a href="./docs/User_Guide.md"><b>Context Parallelism</b></a> | <a href="./docs/User_Guide.md"><b>Tensor Parallelism</b></a> | <a href="./docs/User_Guide.md">Low-bits Quantization</a>🔥<br>
57
+ 🔥<a href="./docs/User_Guide.md">Compile Compatible</a> | <a href="./docs/User_Guide.md"><b>🎉State-of-the-Art Performance</b></a>🎉
53
58
  </p>
54
59
  <div align='center'>
55
60
  <img src=https://img.shields.io/badge/Language-Python-brightgreen.svg >
56
- <img src=https://img.shields.io/badge/PRs-welcome-blue.svg >
57
61
  <img src=https://img.shields.io/badge/PyPI-pass-brightgreen.svg >
58
- <img src=https://static.pepy.tech/badge/cache-dit >
62
+ <a href="https://pepy.tech/projects/cache-dit"><img src=https://static.pepy.tech/personalized-badge/cache-dit?period=total&units=INTERNATIONAL_SYSTEM&left_color=GRAY&right_color=GREEN&left_text=downloads></a>
63
+ <img src=https://img.shields.io/github/issues/vipshop/cache-dit.svg >
59
64
  <img src=https://img.shields.io/github/stars/vipshop/cache-dit.svg?style=dark >
60
- <img src=https://img.shields.io/badge/Release-v1.0-brightgreen.svg >
61
65
  </div>
62
66
  <p align="center">
63
67
  🎉Now, <b>cache-dit</b> covers almost <b>All</b> Diffusers' <b>DiT</b> Pipelines🎉<br>
@@ -166,10 +170,11 @@ Dynamic: requires-python
166
170
 
167
171
  </details>
168
172
 
169
- ## 🔥Hightlight <a href="https://huggingface.co/docs/diffusers/main/en/optimization/cache_dit"><img src=https://img.shields.io/badge/🤗Diffusers-ecosystem-yellow.svg ></a>
173
+ ## 🔥Hightlight <a href="https://huggingface.co/docs/diffusers/main/en/optimization/cache_dit"><img src=https://img.shields.io/badge/🤗Diffusers-ecosystem-yellow.svg ></a> <a href="https://hellogithub.com/repository/vipshop/cache-dit" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=b8b03b3b32a449ea84cfc2b96cd384f3&claim_uid=ofSCbzTmdeQk3FD&theme=small" alt="Featured|HelloGitHub" /></a> <a href="https://pypi.org/project/cache-dit/"><img src=https://img.shields.io/pypi/dm/cache-dit.svg ></a> <img src=https://img.shields.io/badge/Models-30+-hotpink.svg > <img src=https://img.shields.io/badge/Pipelines-~100+-hotpink.svg >
174
+
170
175
 
171
176
  We are excited to announce that the **first API-stable version (v1.0.0)** of cache-dit has finally been released!
172
- **[cache-dit](https://github.com/vipshop/cache-dit)** is a **Unified**, **Flexible**, and **Training-free** cache acceleration framework for 🤗 Diffusers, enabling cache acceleration with just **one line** of code. Key features: **Unified Cache APIs**, **Forward Pattern Matching**, **Automatic Block Adapter**, **Hybrid Forward Pattern**, **DBCache**, **DBPrune**, **TaylorSeer Calibrator**, and **Cache CFG**.
177
+ **[cache-dit](https://github.com/vipshop/cache-dit)** is a **Unified**, **Flexible**, and **Training-free** cache acceleration framework for 🤗 Diffusers, enabling cache acceleration with just **one line** of code. Key features: **Unified Cache APIs**, **Forward Pattern Matching**, **Automatic Block Adapter**, **DBCache**, **DBPrune**, **Hybrid TaylorSeer Calibrator**, **Hybrid Cache CFG**, **Context Parallelism**, **Tensor Parallelism**, **Torch Compile Compatible** and **🎉SOTA** performance.
173
178
 
174
179
  ```bash
175
180
  pip3 install -U cache-dit # pip3 install git+https://github.com/vipshop/cache-dit.git
@@ -192,7 +197,7 @@ You can install the stable release of cache-dit from PyPI, or the latest develop
192
197
  - **[🎉Easy New Model Integration](./docs/User_Guide.md#automatic-block-adapter)**: Features like **Unified Cache APIs**, **Forward Pattern Matching**, **Automatic Block Adapter**, **Hybrid Forward Pattern**, and **Patch Functor** make it highly functional and flexible. For example, we achieved 🎉 Day 1 support for [HunyuanImage-2.1](https://github.com/Tencent-Hunyuan/HunyuanImage-2.1) with 1.7x speedup w/o precision loss—even before it was available in the Diffusers library.
193
198
  - **[🎉State-of-the-Art Performance](./bench/)**: Compared with algorithms including Δ-DiT, Chipmunk, FORA, DuCa, TaylorSeer and FoCa, cache-dit achieved the **SOTA** performance w/ **7.4x↑🎉** speedup on ClipScore!
194
199
  - **[🎉Support for 4/8-Steps Distilled Models](./bench/)**: Surprisingly, cache-dit's **DBCache** works for extremely few-step distilled models—something many other methods fail to do.
195
- - **[🎉Compatibility with Other Optimizations](./docs/User_Guide.md#️torch-compile)**: Designed to work seamlessly with torch.compile, Quantization ([torchao](./examples/quantize/), [🔥nunchaku](./examples/quantize/)), CPU or Sequential Offloading, **[🔥Context Parallelism](./docs/User_Guide.md/#️hybrid-context-parallelism)**, Tensor Parallelism, etc.
200
+ - **[🎉Compatibility with Other Optimizations](./docs/User_Guide.md#️torch-compile)**: Designed to work seamlessly with torch.compile, Quantization ([torchao](./examples/quantize/), [🔥nunchaku](./examples/quantize/)), CPU or Sequential Offloading, **[🔥Context Parallelism](./docs/User_Guide.md/#️hybrid-context-parallelism)**, **[🔥Tensor Parallelism](./docs/User_Guide.md#️hybrid-tensor-parallelism)**, etc.
196
201
  - **[🎉Hybrid Cache Acceleration](./docs/User_Guide.md#taylorseer-calibrator)**: Now supports hybrid **Block-wise Cache + Calibrator** schemes (e.g., DBCache or DBPrune + TaylorSeerCalibrator). DBCache or DBPrune acts as the **Indicator** to decide *when* to cache, while the Calibrator decides *how* to cache. More mainstream cache acceleration algorithms (e.g., FoCa) will be supported in the future, along with additional benchmarks—stay tuned for updates!
197
202
  - **[🤗Diffusers Ecosystem Integration](https://huggingface.co/docs/diffusers/main/en/optimization/cache_dit)**: 🔥**cache-dit** has joined the Diffusers community ecosystem as the **first** DiT-specific cache acceleration framework! Check out the documentation here: <a href="https://huggingface.co/docs/diffusers/main/en/optimization/cache_dit"><img src=https://img.shields.io/badge/🤗Diffusers-ecosystem-yellow.svg ></a>
198
203
 
@@ -200,6 +205,9 @@ You can install the stable release of cache-dit from PyPI, or the latest develop
200
205
 
201
206
  ## 🔥Important News
202
207
 
208
+ - 2025.10.28: 🔥Day 1 support [**LongCat-Video**](https://huggingface.co/meituan-longcat/LongCat-Video) with cache acceleration, ~**1.7x↑🎉**, 📚[Example](https://github.com/vipshop/cache-dit/blob/main/examples/pipeline/run_longcat_video.py).
209
+ - 2025.10.28: 🎉Currently, **cache-dit** has been recommended by [<a href="https://hellogithub.com/repository/vipshop/cache-dit" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=b8b03b3b32a449ea84cfc2b96cd384f3&claim_uid=ofSCbzTmdeQk3FD&theme=small" alt="Featured|HelloGitHub" /></a>](https://hellogithub.com/repository/vipshop/cache-dit) ![](https://img.shields.io/github/stars/521xueweihan/HelloGitHub.svg)🔥
210
+ - 2025.10.23: 🎉Now cache-dit supported the [Kandinsky5 T2V](https://github.com/ai-forever/Kandinsky-5) and [Photoroom/PRX](https://github.com/huggingface/diffusers/pull/12456) pipelines.
203
211
  - 2025.10.20: 🔥Now cache-dit supported the **[Hybrid Cache + Context Parallelism](./docs/User_Guide.md/#️hybrid-context-parallelism)** scheme!🔥
204
212
  - 2025.10.16: 🎉cache-dit + [**🔥nunchaku 4-bits**](https://github.com/nunchaku-tech/nunchaku) supported: [Qwen-Image-Lightning 4/8 steps](./examples/quantize/).
205
213
  - 2025.10.15: 🎉cache-dit now supported [**🔥nunchaku**](https://github.com/nunchaku-tech/nunchaku): Qwen-Image/FLUX.1 [4-bits examples](./examples/quantize/)
@@ -230,7 +238,7 @@ You can install the stable release of cache-dit from PyPI, or the latest develop
230
238
 
231
239
  <div id="user-guide"></div>
232
240
 
233
- For more advanced features such as **Unified Cache APIs**, **Forward Pattern Matching**, **Automatic Block Adapter**, **Hybrid Forward Pattern**, **Patch Functor**, **DBCache**, **TaylorSeer Calibrator**, and **Hybrid Cache CFG**, please refer to the [🎉User_Guide.md](./docs/User_Guide.md) for details.
241
+ For more advanced features such as **Unified Cache APIs**, **Forward Pattern Matching**, **Automatic Block Adapter**, **Hybrid Forward Pattern**, **Patch Functor**, **DBCache**, **DBPrune**, **TaylorSeer Calibrator**, **Hybrid Cache CFG**, **Context Parallelism** and **Tensor Parallelism**, please refer to the [🎉User_Guide.md](./docs/User_Guide.md) for details.
234
242
 
235
243
  - [⚙️Installation](./docs/User_Guide.md#️installation)
236
244
  - [🔥Benchmarks](./docs/User_Guide.md#benchmarks)
@@ -241,12 +249,15 @@ For more advanced features such as **Unified Cache APIs**, **Forward Pattern Mat
241
249
  - [🔥Automatic Block Adapter](./docs/User_Guide.md#automatic-block-adapter)
242
250
  - [📚Hybrid Forward Pattern](./docs/User_Guide.md#hybrid-forward-pattern)
243
251
  - [📚Implement Patch Functor](./docs/User_Guide.md#implement-patch-functor)
252
+ - [📚Transformer-Only Interface](./docs/User_Guide.md#transformer-only-interface)
244
253
  - [🤖Cache Acceleration Stats](./docs/User_Guide.md#cache-acceleration-stats-summary)
245
254
  - [⚡️DBCache: Dual Block Cache](./docs/User_Guide.md#️dbcache-dual-block-cache)
246
255
  - [⚡️DBPrune: Dynamic Block Prune](./docs/User_Guide.md#️dbprune-dynamic-block-prune)
247
256
  - [⚡️Hybrid Cache CFG](./docs/User_Guide.md#️hybrid-cache-cfg)
248
257
  - [🔥Hybrid TaylorSeer Calibrator](./docs/User_Guide.md#taylorseer-calibrator)
249
- - [⚡️Hybrid Context Parallelism](./docs/User_Guide.md#context-paralleism)
258
+ - [⚡️Hybrid Context Parallelism](./docs/User_Guide.md#context-parallelism)
259
+ - [⚡️Hybrid Tensor Parallelism](./docs/User_Guide.md#tensor-parallelism)
260
+ - [🤖Low-bits Quantization](./docs/User_Guide.md#quantization)
250
261
  - [🛠Metrics Command Line](./docs/User_Guide.md#metrics-cli)
251
262
  - [⚙️Torch Compile](./docs/User_Guide.md#️torch-compile)
252
263
  - [📚API Documents](./docs/User_Guide.md#api-documentation)
@@ -269,7 +280,7 @@ How to contribute? Star ⭐️ this repo to support us or check [CONTRIBUTE.md](
269
280
 
270
281
  ## 🎉Projects Using CacheDiT
271
282
 
272
- Here is a curated list of open-source projects integrating **CacheDiT**, including popular repositories like [jetson-containers](https://github.com/dusty-nv/jetson-containers/blob/master/packages/diffusion/cache_edit/build.sh) ![](https://img.shields.io/github/stars/dusty-nv/jetson-containers.svg), [flux-fast](https://github.com/huggingface/flux-fast) ![](https://img.shields.io/github/stars/huggingface/flux-fast.svg), and [sdnext](https://github.com/vladmandic/sdnext/discussions/4269) ![](https://img.shields.io/github/stars/vladmandic/sdnext.svg). **CacheDiT** has also been **recommended** by [Wan2.2](https://github.com/Wan-Video/Wan2.2) ![](https://img.shields.io/github/stars/Wan-Video/Wan2.2.svg), [Qwen-Image-Lightning](https://github.com/ModelTC/Qwen-Image-Lightning) ![](https://img.shields.io/github/stars/ModelTC/Qwen-Image-Lightning.svg), [Qwen-Image](https://github.com/QwenLM/Qwen-Image) ![](https://img.shields.io/github/stars/QwenLM/Qwen-Image.svg), and <a href="https://huggingface.co/docs/diffusers/main/en/optimization/cache_dit"><img src="https://img.shields.io/badge/🤗Diffusers-ecosystem-yellow.svg"></a> ![](https://img.shields.io/github/stars/huggingface/diffusers.svg), among others. We would be grateful if you could let us know if you have used CacheDiT.
283
+ Here is a curated list of open-source projects integrating **CacheDiT**, including popular repositories like [jetson-containers](https://github.com/dusty-nv/jetson-containers/blob/master/packages/diffusion/cache_edit/build.sh) ![](https://img.shields.io/github/stars/dusty-nv/jetson-containers.svg), [flux-fast](https://github.com/huggingface/flux-fast) ![](https://img.shields.io/github/stars/huggingface/flux-fast.svg), and [sdnext](https://github.com/vladmandic/sdnext/discussions/4269) ![](https://img.shields.io/github/stars/vladmandic/sdnext.svg). 🎉**CacheDiT** has also been **recommended** by many famous projects: [Wan2.2](https://github.com/Wan-Video/Wan2.2) ![](https://img.shields.io/github/stars/Wan-Video/Wan2.2.svg), [Qwen-Image-Lightning](https://github.com/ModelTC/Qwen-Image-Lightning) ![](https://img.shields.io/github/stars/ModelTC/Qwen-Image-Lightning.svg), [Qwen-Image](https://github.com/QwenLM/Qwen-Image) ![](https://img.shields.io/github/stars/QwenLM/Qwen-Image.svg), [LongCat-Video](https://github.com/meituan-longcat/LongCat-Video) ![](https://img.shields.io/github/stars/meituan-longcat/LongCat-Video.svg), <a href="https://huggingface.co/docs/diffusers/main/en/optimization/cache_dit"><img src="https://img.shields.io/badge/🤗Diffusers-ecosystem-yellow.svg"></a> ![](https://img.shields.io/github/stars/huggingface/diffusers.svg), [<a href="https://hellogithub.com/repository/vipshop/cache-dit" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=b8b03b3b32a449ea84cfc2b96cd384f3&claim_uid=ofSCbzTmdeQk3FD&theme=small" alt="Featured|HelloGitHub" /></a>](https://hellogithub.com/repository/vipshop/cache-dit) ![](https://img.shields.io/github/stars/521xueweihan/HelloGitHub.svg), among others.
273
284
 
274
285
  ## ©️Acknowledgements
275
286
 
@@ -290,7 +301,7 @@ Special thanks to vipshop's Computer Vision AI Team for supporting document, tes
290
301
  title={cache-dit: A Unified, Flexible and Training-free Cache Acceleration Framework for Diffusers.},
291
302
  url={https://github.com/vipshop/cache-dit.git},
292
303
  note={Open-source software available at https://github.com/vipshop/cache-dit.git},
293
- author={vipshop.com},
304
+ author={DefTruth, vipshop.com},
294
305
  year={2025}
295
306
  }
296
307
  ```
@@ -1,19 +1,19 @@
1
1
  cache_dit/__init__.py,sha256=Azqj-3QMQK4HZDTGgyUtAfatUwuU-YQ4w8erJSyrsbE,2082
2
- cache_dit/_version.py,sha256=09KGe_qkXH8vhvX180khtkldtbrAX-u8refqVsC-Ky4,704
2
+ cache_dit/_version.py,sha256=tHFvhjm1Ch2x5K0Hyz16rJbtaKyru5Di9vC_Puo-s9w,706
3
3
  cache_dit/logger.py,sha256=0zsu42hN-3-rgGC_C29ms1IvVpV4_b4_SwJCKSenxBE,4304
4
- cache_dit/utils.py,sha256=3NcEb324fNY0NYnrBTjsLURKQuckKeFe3V9Dfc_g4sc,17851
4
+ cache_dit/utils.py,sha256=xlrjGHD-JepiAumGsxTKF7racsylEZL59_scf5y4e24,19295
5
5
  cache_dit/cache_factory/.gitignore,sha256=5Cb-qT9wsTUoMJ7vACDF7ZcLpAXhi5v-xdcWSRit988,23
6
- cache_dit/cache_factory/__init__.py,sha256=5UjrpxLVlmjHttTL0O14fD5oU5uKI3FKYevL613ibFQ,1848
7
- cache_dit/cache_factory/cache_interface.py,sha256=244uTVx83hpCpbCDgEOydi5HqG7hKHHzEoz1ApJW6lI,14627
6
+ cache_dit/cache_factory/__init__.py,sha256=9b29gAb3Nd2Fpj-XvoMcbOMki4LwhvdBUk5GjWqXczQ,1921
7
+ cache_dit/cache_factory/cache_interface.py,sha256=BQgN7Z4FiYKHZCjZMz8G11hYlD3WRBqPQ0ZQxyxK1xQ,18248
8
8
  cache_dit/cache_factory/cache_types.py,sha256=QnWfaS52UOXQtnoCUOwwz4ziY0dyBta6vQ6hvgtdV44,1404
9
- cache_dit/cache_factory/forward_pattern.py,sha256=FumlCuZ-TSmSYH0hGBHctSJ-oGLCftdZjLygqhsmdR4,2258
9
+ cache_dit/cache_factory/forward_pattern.py,sha256=DAnldDC-B_FOMK8REtX2hx8mLZ9GLe1UWYfkxzyyMgo,2197
10
10
  cache_dit/cache_factory/params_modifier.py,sha256=2T98IbepAolWW6GwQsqUDsRzu0k65vo7BOrN3V8mKog,3606
11
11
  cache_dit/cache_factory/utils.py,sha256=S3SD6Zhexzhkqnmfo830v6oNLm8stZe32nF4VdxD_bA,2497
12
- cache_dit/cache_factory/block_adapters/__init__.py,sha256=eeBcWUMIvS-x3GcD1LNesW2SuB9V5mtwG9MoUBWHsL8,19765
13
- cache_dit/cache_factory/block_adapters/block_adapters.py,sha256=2TVK_KqiYXC7AKZ2s07fzdOzUoeUBc9P1SzQtLVzhf4,22249
14
- cache_dit/cache_factory/block_adapters/block_registers.py,sha256=KU0cqtLYRlij2WvuQ6erqZbxUWkb6DjvmY_sB3o_fQM,2594
12
+ cache_dit/cache_factory/block_adapters/__init__.py,sha256=K3fQPgHW_Zoz8sjYwQlD_O8jHlo4ib4XBAh12yK7-n0,21122
13
+ cache_dit/cache_factory/block_adapters/block_adapters.py,sha256=VJoGHUgQfWuwCY4YidvNiFMk7UQ5o3RmfgRCuePW948,25285
14
+ cache_dit/cache_factory/block_adapters/block_registers.py,sha256=V3VJr6P0mOi49F_dWIXq_n6UkQLObZJYfLsbHVoLX28,3833
15
15
  cache_dit/cache_factory/cache_adapters/__init__.py,sha256=py71WGD3JztQ1uk6qdLVbzYcQ1rvqFidNNaQYo7tqTo,79
16
- cache_dit/cache_factory/cache_adapters/cache_adapter.py,sha256=WYrgV3DKxOxttl-wEKymyKIB1Po0eW73Q2_vOlGEKdQ,24080
16
+ cache_dit/cache_factory/cache_adapters/cache_adapter.py,sha256=knMNq02aHCucGqub3XGqNYyTcmdtTCB6xHrh2eYmZ6w,25720
17
17
  cache_dit/cache_factory/cache_blocks/__init__.py,sha256=cpxzmDcUhbXcReHqaKSnWyEEbIg1H91Pz5hE3z9Xj3k,9984
18
18
  cache_dit/cache_factory/cache_blocks/offload_utils.py,sha256=wusgcqaCrwEjvv7Guy-6VXhNOgPPUrBV2sSVuRmGuvo,3513
19
19
  cache_dit/cache_factory/cache_blocks/pattern_0_1_2.py,sha256=j4bTafqU5DLQhzP_X5XwOk-QUVLWkGrX-Q6JZvBGHh0,666
@@ -21,13 +21,13 @@ cache_dit/cache_factory/cache_blocks/pattern_3_4_5.py,sha256=2qPnXVZwpQIm2oJ-Yrn
21
21
  cache_dit/cache_factory/cache_blocks/pattern_base.py,sha256=uNcPZU8b8i_-re_X1xBHkSDQSacQO7Fa69vjbfAYxOA,25275
22
22
  cache_dit/cache_factory/cache_blocks/pattern_utils.py,sha256=qOxoVTlYPQzPMrR06-7_Ce_lwNg6n5pt1KQrvxzAJhE,3124
23
23
  cache_dit/cache_factory/cache_contexts/__init__.py,sha256=7uY8fX9uhpC71VNm1HH4aDIicYn-dD3kRpPQhvc9-EI,853
24
- cache_dit/cache_factory/cache_contexts/cache_config.py,sha256=G0PVWgckDqeyARc72Ne_0lRtO_LftsOeMERRhbh2gCA,5739
24
+ cache_dit/cache_factory/cache_contexts/cache_config.py,sha256=UAJpxGj5DxRAcAqSeNeKF4YCj6a2hzkQ-Hj0_UOggBE,5953
25
25
  cache_dit/cache_factory/cache_contexts/cache_context.py,sha256=fjZMEHaT1DZvUKnzY41GP0Ep8tmPEZTOsCSvG-5it5k,11269
26
- cache_dit/cache_factory/cache_contexts/cache_manager.py,sha256=tKtP35GDwZDoxGrQ_Okg_enlh3L-t-iqpytx8TFO_fw,30519
27
- cache_dit/cache_factory/cache_contexts/context_manager.py,sha256=j5zP_kwZAKla3EXbfr6JKI1vIxZuUEbZVhAPrtC4COw,853
26
+ cache_dit/cache_factory/cache_contexts/cache_manager.py,sha256=6Orzs8prjNkCPRpsLiS_viJVbWCK8PQkT9OxC61X8zY,35398
27
+ cache_dit/cache_factory/cache_contexts/context_manager.py,sha256=ajxAk9YvtmKZMtPcyVfx5DeGVDtCnHgNqPq2udpaazU,1077
28
28
  cache_dit/cache_factory/cache_contexts/prune_config.py,sha256=WMTh6zb480a0oJiYMlgI0cwCsDSVvs6UjyeJLiXbjP8,3216
29
29
  cache_dit/cache_factory/cache_contexts/prune_context.py,sha256=ywiT9P0w_GjIFLowzUDa6jhTohNsSGfTbanZcs9wMic,6359
30
- cache_dit/cache_factory/cache_contexts/prune_manager.py,sha256=rZG7HD9ATqgH4VZdMq1XtP_h2pokaotFOVx1svB3J7E,5478
30
+ cache_dit/cache_factory/cache_contexts/prune_manager.py,sha256=u5z9SBLg-Ui1Um2Z80HlEsovG0b-Q_0MoPeyH4rtFXk,6123
31
31
  cache_dit/cache_factory/cache_contexts/calibrators/__init__.py,sha256=QTbyT8xcFEjfIp9xjbnsnlnVCNvMjUc20NjB0W-s95k,6269
32
32
  cache_dit/cache_factory/cache_contexts/calibrators/base.py,sha256=mn6ZBkChGpGwN5csrHTUGMoX6BBPvqHXSLbIExiW-EU,748
33
33
  cache_dit/cache_factory/cache_contexts/calibrators/foca.py,sha256=nhHGs_hxwW1M942BQDMJb9-9IuHdnOxp774Jrna1bJI,891
@@ -42,8 +42,8 @@ cache_dit/cache_factory/patch_functors/functor_hunyuan_dit.py,sha256=iSo5dD5uKnj
42
42
  cache_dit/cache_factory/patch_functors/functor_qwen_image_controlnet.py,sha256=D5i1Rrq1FQ49liupLcV2DW04moBqLnW9TICzfnMMzIU,10519
43
43
  cache_dit/compile/__init__.py,sha256=FcTVzCeyypl-mxlc59_ehHL3lBNiDAFsXuRoJ-5Cfi0,56
44
44
  cache_dit/compile/utils.py,sha256=nN2OIrSdwRR5zGxJinKDqb07pXpvTNTF3g_OgLkeeBU,3858
45
- cache_dit/custom_ops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- cache_dit/custom_ops/triton_taylorseer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ cache_dit/kernels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ cache_dit/kernels/triton_taylorseer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  cache_dit/metrics/__init__.py,sha256=Y_JrBr9XE6NKXwyXc7d_-PaX9c_rk5FKms-IYgCyHmY,936
48
48
  cache_dit/metrics/clip_score.py,sha256=ERNCFQFJKzJdbIX9OAg-1LiSPuXUVHLOFxbf2gcENpc,3938
49
49
  cache_dit/metrics/config.py,sha256=ieOgD9ayz722RjVzk24bSIqS2D6o7TZjGk8KeXV-OLQ,551
@@ -53,18 +53,34 @@ cache_dit/metrics/inception.py,sha256=pBVe2X6ylLPIXTG4-GWDM9DWnCviMJbJ45R3ulhktR
53
53
  cache_dit/metrics/lpips.py,sha256=hrHrmdM-f2B4TKDs0xLqJO5JFaYcCjq2qNIR8oCrVkc,811
54
54
  cache_dit/metrics/metrics.py,sha256=AZbQyoavE-djvyRUZ_EfCIrWSQbiWQFo7n2dhn7XptE,40466
55
55
  cache_dit/parallelism/__init__.py,sha256=dheBG5_TZCuwctviMslpAEgB-B3N8F816bE51qsw_fU,210
56
- cache_dit/parallelism/parallel_backend.py,sha256=js1soTMenLeAyPMsBgdI3gWcdXoqjWgBD-PuFEywMr0,508
57
- cache_dit/parallelism/parallel_config.py,sha256=cOAXaniGf4CDPG5sbVktZy2rTZe49jSsnUIW2IBerGM,2106
58
- cache_dit/parallelism/parallel_interface.py,sha256=WPPYYaodo0PCYrn6-Haz8GcNZ2RK3EG7q6P_cH51Qj0,2202
59
- cache_dit/parallelism/backends/native_diffusers/__init__.py,sha256=T_6GeBA7TRiVbvtqGLLH2flkRiK0o7JBREt2xhS_-YE,242
60
- cache_dit/parallelism/backends/native_diffusers/parallel_difffusers.py,sha256=wHRjxRWK5E92cdSwDkZJpKQCQGZfxY53woW47rMFH2I,2844
61
- cache_dit/parallelism/backends/native_pytorch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
+ cache_dit/parallelism/parallel_backend.py,sha256=GWpFrBjvRMRmAZYr1uek15-8aKDKKKQplGYENvbuSrg,576
57
+ cache_dit/parallelism/parallel_config.py,sha256=rsPeyTvSjteKPWQanm_AgGKofAPS63zZzPZUeUPoxzk,2446
58
+ cache_dit/parallelism/parallel_interface.py,sha256=wKZE-p2j89be7Y0MUD1IALBNBBL5QPtHGvHF1y1PgWg,2443
59
+ cache_dit/parallelism/backends/native_diffusers/__init__.py,sha256=5woYGGhTi1XM-briRLSEIF5uNfYSMoY2W0wPQS-6iaY,114
60
+ cache_dit/parallelism/backends/native_diffusers/parallel_difffusers.py,sha256=CY53v3lc36o8HXdc42xc5c0wsKdpDiswNDM3kLAuW-0,1607
61
+ cache_dit/parallelism/backends/native_diffusers/utils.py,sha256=VAqtv9b8PTvcoYzD_CbvtRgdg9_VbtBug_5L38PADl0,266
62
+ cache_dit/parallelism/backends/native_diffusers/context_parallelism/__init__.py,sha256=OT-CTUwBmWMErnVhiwZdwwYE67FOmWImtDXIrlxu8pU,3946
63
+ cache_dit/parallelism/backends/native_diffusers/context_parallelism/cp_plan_registers.py,sha256=RMkr3fp7zTfYao_F-t8imDiTg9JIjiHPEsVfCLmy-mE,2392
64
+ cache_dit/parallelism/backends/native_diffusers/context_parallelism/cp_planners.py,sha256=Z-wzi2VB8Gl8cqLSU9knGmrOJkGuXE2wzGWpO_j1Ubs,10186
65
+ cache_dit/parallelism/backends/native_pytorch/__init__.py,sha256=qd2zxfi1zGoo-A_x5oBa7F6ZM0TvvZTRhKUCblOCckg,107
66
+ cache_dit/parallelism/backends/native_pytorch/parallel_torch.py,sha256=1A-Gdv6JRueZNpwJdrVxRT7TBxwo2Bn-CwMbnlhJx0M,2047
67
+ cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/__init__.py,sha256=M-nEf6a22UeoIjZEhIajpUpGSQzWiNn_zmWiBNU70Fs,1662
68
+ cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_flux.py,sha256=1hSGbM84yBCfA2vv7smXLLfo69VmyAT_irgPi4Hs7Zo,6028
69
+ cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_qwen_image.py,sha256=AcRCfML0bwGeVY0gnVfMQtW9GAWc5wO4ZhxWGNDCkKc,2644
70
+ cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_registers.py,sha256=0mw3yJLjdFsnMscH-k-J23xdlJhlBtly3RQuVPAPOQA,1893
71
+ cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_plan_wan.py,sha256=j8w5gZn3MhSsacxOVguss85GSI6bdLL61FMySDZKwJc,5191
72
+ cache_dit/parallelism/backends/native_pytorch/tensor_parallelism/tp_planners.py,sha256=0rSroX_pVSFFWujdAqirLo3Gl6WZe-LFUtikhkOqprA,462
62
73
  cache_dit/quantize/__init__.py,sha256=rUu0V9VRjOgwXuIUHHAI-osivNjAdUsi-jpkDbFp6Gk,278
63
- cache_dit/quantize/quantize_ao.py,sha256=bbEUwsrMp3bMuRw8qJZREIvCHaJRQoZyfMjlu4ImRMI,6315
64
- cache_dit/quantize/quantize_interface.py,sha256=2s_R7xPSKuJeFpEGeLwRxnq_CqJcBG3a3lzyW5wh-UM,1241
65
- cache_dit-1.0.8.dist-info/licenses/LICENSE,sha256=Dqb07Ik2dV41s9nIdMUbiRWEfDqo7-dQeRiY7kPO8PE,3769
66
- cache_dit-1.0.8.dist-info/METADATA,sha256=cs6CuqsbXQ8w69_kg2e7yALeczPAZjd5hz8odNrsvZA,29462
67
- cache_dit-1.0.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
68
- cache_dit-1.0.8.dist-info/entry_points.txt,sha256=FX2gysXaZx6NeK1iCLMcIdP8Q4_qikkIHtEmi3oWn8o,65
69
- cache_dit-1.0.8.dist-info/top_level.txt,sha256=ZJDydonLEhujzz0FOkVbO-BqfzO9d_VqRHmZU-3MOZo,10
70
- cache_dit-1.0.8.dist-info/RECORD,,
74
+ cache_dit/quantize/quantize_backend.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ cache_dit/quantize/quantize_config.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ cache_dit/quantize/quantize_interface.py,sha256=dKLrLF-FDdRLQq-3CnaRzkAh70P4oObJE3-qWF7goM0,882
77
+ cache_dit/quantize/backends/__init__.py,sha256=SL9EupOwBRzRcHZBI1ABqdHjCS9vEpFZXjA9R5ikTk8,33
78
+ cache_dit/quantize/backends/bitsandbytes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ cache_dit/quantize/backends/torchao/__init__.py,sha256=NK1widhJeKSx8ICCcyYZAWGUpGc2uKF5O7pLIcSCUDI,37
80
+ cache_dit/quantize/backends/torchao/quantize_ao.py,sha256=VKxmr1c4n0yw7-1Rf4yKF2hXPdAkwQwNInDB43QcuiA,6917
81
+ cache_dit-1.0.10.dist-info/licenses/LICENSE,sha256=Dqb07Ik2dV41s9nIdMUbiRWEfDqo7-dQeRiY7kPO8PE,3769
82
+ cache_dit-1.0.10.dist-info/METADATA,sha256=YKa04RRkeRPHKtXuT8vfMyeJZDhz28vklpk6aMrmjUI,32329
83
+ cache_dit-1.0.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
+ cache_dit-1.0.10.dist-info/entry_points.txt,sha256=FX2gysXaZx6NeK1iCLMcIdP8Q4_qikkIHtEmi3oWn8o,65
85
+ cache_dit-1.0.10.dist-info/top_level.txt,sha256=ZJDydonLEhujzz0FOkVbO-BqfzO9d_VqRHmZU-3MOZo,10
86
+ cache_dit-1.0.10.dist-info/RECORD,,
File without changes
File without changes