Instructions to use replicate/quantization-bitsandbytes with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Kernels
How to use replicate/quantization-bitsandbytes with Kernels:
# !pip install kernels from kernels import get_kernel kernel = get_kernel("replicate/quantization-bitsandbytes") - Notebooks
- Google Colab
- Kaggle
Commit ·
eddbfa3
0
Parent(s):
Duplicate from kernels-community/quantization-bitsandbytes
Browse filesCo-authored-by: Daniël de Kok <danieldk@users.noreply.huggingface.co>
- .gitattributes +66 -0
- README.md +28 -0
- build/torch210-cxx11-cpu-x86_64-linux/__init__.py +3 -0
- build/torch210-cxx11-cpu-x86_64-linux/_ops.py +9 -0
- build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_817f262.abi3.so +3 -0
- build/torch210-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
- build/torch210-cxx11-cpu-x86_64-linux/metadata.json +10 -0
- build/torch210-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
- build/torch211-cxx11-cpu-x86_64-linux/__init__.py +3 -0
- build/torch211-cxx11-cpu-x86_64-linux/_ops.py +9 -0
- build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so +3 -0
- build/torch211-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
- build/torch211-cxx11-cpu-x86_64-linux/metadata.json +20 -0
- build/torch211-cxx11-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch211-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
- build/torch212-cxx11-cpu-x86_64-linux/__init__.py +3 -0
- build/torch212-cxx11-cpu-x86_64-linux/_ops.py +9 -0
- build/torch212-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so +3 -0
- build/torch212-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
- build/torch212-cxx11-cpu-x86_64-linux/metadata.json +20 -0
- build/torch212-cxx11-cpu-x86_64-linux/metadata.json.sigstore +1 -0
- build/torch212-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
- build/torch28-cxx11-cpu-x86_64-linux/__init__.py +3 -0
- build/torch28-cxx11-cpu-x86_64-linux/_ops.py +9 -0
- build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_9739e82.abi3.so +3 -0
- build/torch28-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
- build/torch28-cxx11-cpu-x86_64-linux/metadata.json +4 -0
- build/torch28-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
- build/torch29-cxx11-cpu-x86_64-linux/__init__.py +3 -0
- build/torch29-cxx11-cpu-x86_64-linux/_ops.py +9 -0
- build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_3c456c8.abi3.so +3 -0
- build/torch29-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
- build/torch29-cxx11-cpu-x86_64-linux/metadata.json +5 -0
- build/torch29-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
.gitattributes
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_2e2ed43.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_2e2ed43.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_e6f32d1.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_e6f32d1.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_5679cec.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_5679cec.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_5679cec.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_0ed0691.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_0ed0691.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_0ed0691.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_23c0016.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_23c0016.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_23c0016.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_9739e82.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_9739e82.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_9739e82.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_3c456c8.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_3c456c8.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_2e95ea3.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_2e95ea3.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_b967789.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_b967789.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 58 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_e09894a.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 59 |
+
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_e09894a.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 60 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_86f75d9.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 61 |
+
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_86f75d9.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 62 |
+
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_817f262.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 63 |
+
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_817f262.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 64 |
+
build/torch212-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_817f262.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 65 |
+
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so filter=lfs diff=lfs merge=lfs -text
|
| 66 |
+
build/torch212-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: kernels
|
| 3 |
+
license: mit
|
| 4 |
+
---
|
| 5 |
+
|
| 6 |
+
> [!CAUTION]
|
| 7 |
+
> Starting from September 13, 2026, we will be removing the "model" type repositories of kernels (e.g., kernels-community/flash-attn3). Make sure you're using a latest version of kernels. If you face any disruption, please report them here: https://github.com/huggingface/kernels/issues/new.
|
| 8 |
+
|
| 9 |
+
This is the repository card of kernels-community/quantization-bitsandbytes that has been pushed on the Hub. It was built to be used with the [`kernels` library](https://github.com/huggingface/kernels). This card was automatically generated.
|
| 10 |
+
|
| 11 |
+
## How to use
|
| 12 |
+
|
| 13 |
+
```python
|
| 14 |
+
# make sure `kernels` is installed: `pip install -U kernels`
|
| 15 |
+
from kernels import get_kernel
|
| 16 |
+
|
| 17 |
+
kernel_module = get_kernel("kernels-community/quantization-bitsandbytes", version=1)
|
| 18 |
+
gemm_4bit_forward = kernel_module.gemm_4bit_forward
|
| 19 |
+
|
| 20 |
+
gemm_4bit_forward(...)
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
## Available functions
|
| 24 |
+
- `gemm_4bit_forward`
|
| 25 |
+
|
| 26 |
+
## Benchmarks
|
| 27 |
+
|
| 28 |
+
No benchmark available yet.
|
build/torch210-cxx11-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from .custom_ops import gemm_4bit_forward
|
| 2 |
+
|
| 3 |
+
__all__ = ["gemm_4bit_forward"]
|
build/torch210-cxx11-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _quantization_bitsandbytes_cpu_817f262
|
| 3 |
+
ops = torch.ops._quantization_bitsandbytes_cpu_817f262
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_quantization_bitsandbytes_cpu_817f262::{op_name}"
|
build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_817f262.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ead6baa630df2338c3a3b09107d51e7af1e5014e4ee2d4960d1a43a360e85b1f
|
| 3 |
+
size 1993840
|
build/torch210-cxx11-cpu-x86_64-linux/custom_ops.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from ._ops import ops
|
| 3 |
+
|
| 4 |
+
def gemm_4bit_forward(
|
| 5 |
+
input: torch.Tensor,
|
| 6 |
+
weight: torch.Tensor,
|
| 7 |
+
absmax: torch.Tensor,
|
| 8 |
+
blocksize: int,
|
| 9 |
+
quant_type: int,
|
| 10 |
+
) -> torch.Tensor:
|
| 11 |
+
original_dtype = input.dtype
|
| 12 |
+
if original_dtype != torch.bfloat16:
|
| 13 |
+
input = input.to(torch.bfloat16)
|
| 14 |
+
|
| 15 |
+
output = ops.gemm_4bit_forward(input, weight, absmax, blocksize, quant_type)
|
| 16 |
+
if original_dtype != torch.bfloat16:
|
| 17 |
+
output = output.to(original_dtype)
|
| 18 |
+
|
| 19 |
+
return output
|
build/torch210-cxx11-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "quantization-bitsandbytes",
|
| 3 |
+
"id": "_quantization_bitsandbytes_cpu_817f262",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"license": "MIT",
|
| 6 |
+
"python-depends": [],
|
| 7 |
+
"backend": {
|
| 8 |
+
"type": "cpu"
|
| 9 |
+
}
|
| 10 |
+
}
|
build/torch210-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import ctypes
|
| 2 |
+
import importlib.util
|
| 3 |
+
import sys
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
from types import ModuleType
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def _import_from_path(file_path: Path) -> ModuleType:
|
| 9 |
+
# We cannot use the module name as-is, after adding it to `sys.modules`,
|
| 10 |
+
# it would also be used for other imports. So, we make a module name that
|
| 11 |
+
# depends on the path for it to be unique using the hex-encoded hash of
|
| 12 |
+
# the path.
|
| 13 |
+
path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
|
| 14 |
+
module_name = path_hash
|
| 15 |
+
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
| 16 |
+
if spec is None:
|
| 17 |
+
raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
|
| 18 |
+
module = importlib.util.module_from_spec(spec)
|
| 19 |
+
if module is None:
|
| 20 |
+
raise ImportError(f"Cannot load module {module_name} from spec")
|
| 21 |
+
sys.modules[module_name] = module
|
| 22 |
+
spec.loader.exec_module(module) # type: ignore
|
| 23 |
+
return module
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
|
build/torch211-cxx11-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from .custom_ops import gemm_4bit_forward
|
| 2 |
+
|
| 3 |
+
__all__ = ["gemm_4bit_forward"]
|
build/torch211-cxx11-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _quantization_bitsandbytes_cpu_dbc4d19
|
| 3 |
+
ops = torch.ops._quantization_bitsandbytes_cpu_dbc4d19
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_quantization_bitsandbytes_cpu_dbc4d19::{op_name}"
|
build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:88bfc7bc521461972e3945ce98b857a1de974c788f4004147f09c216b4c74263
|
| 3 |
+
size 142552
|
build/torch211-cxx11-cpu-x86_64-linux/custom_ops.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from ._ops import ops
|
| 3 |
+
|
| 4 |
+
def gemm_4bit_forward(
|
| 5 |
+
input: torch.Tensor,
|
| 6 |
+
weight: torch.Tensor,
|
| 7 |
+
absmax: torch.Tensor,
|
| 8 |
+
blocksize: int,
|
| 9 |
+
quant_type: int,
|
| 10 |
+
) -> torch.Tensor:
|
| 11 |
+
original_dtype = input.dtype
|
| 12 |
+
if original_dtype != torch.bfloat16:
|
| 13 |
+
input = input.to(torch.bfloat16)
|
| 14 |
+
|
| 15 |
+
output = ops.gemm_4bit_forward(input, weight, absmax, blocksize, quant_type)
|
| 16 |
+
if original_dtype != torch.bfloat16:
|
| 17 |
+
output = output.to(original_dtype)
|
| 18 |
+
|
| 19 |
+
return output
|
build/torch211-cxx11-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "quantization-bitsandbytes",
|
| 3 |
+
"id": "_quantization_bitsandbytes_cpu_dbc4d19",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"license": "MIT",
|
| 6 |
+
"python-depends": [],
|
| 7 |
+
"backend": {
|
| 8 |
+
"type": "cpu"
|
| 9 |
+
},
|
| 10 |
+
"digest": {
|
| 11 |
+
"algorithm": "sha256",
|
| 12 |
+
"files": {
|
| 13 |
+
"__init__.py": "DHh2jHOQbnCQZ2/xlb0KLQVbr26rS1ZK1IyWX6qFx68=",
|
| 14 |
+
"_ops.py": "g8zaMXzcuB6fs1HUMDoMatGtJM79wxRBLQIRp5FUurU=",
|
| 15 |
+
"_quantization_bitsandbytes_cpu_dbc4d19.abi3.so": "iL/HvFIUYZcuOUXOmLhXod6XTHiPQAQUfwnCFrTHQmM=",
|
| 16 |
+
"custom_ops.py": "GYQQ7x1K1mY9zqtWX0vJW5FpDwxtAxP2LuJAw1bDp4M=",
|
| 17 |
+
"quantization_bitsandbytes/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY="
|
| 18 |
+
}
|
| 19 |
+
}
|
| 20 |
+
}
|
build/torch211-cxx11-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSzCCBtKgAwIBAgIUW4L4ADyr37L5dT5iCbE3SVCAizUwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNjExMTQzODI0WhcNMjYwNjExMTQ0ODI0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcJDibyARzYy2DGBYpjkEbJEPCdj5ORaNXIWhhFZhWHSHH6dY7BP9LI9NzlZG0vK7hhns+7yCuPkKCa5M0xxT9qOCBfEwggXtMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUQJSOv+tSidHhqbUZQ63zG3YAmgcwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoZGJjNGQxOTc1OWQ3OTNkNzQ5NDhiM2RhODc1MWM4ZGQxM2UxYzUwZDATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoZGJjNGQxOTc1OWQ3OTNkNzQ5NDhiM2RhODc1MWM4ZGQxM2UxYzUwZDAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoZGJjNGQxOTc1OWQ3OTNkNzQ5NDhiM2RhODc1MWM4ZGQxM2UxYzUwZDAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGRiYzRkMTk3NTlkNzkzZDc0OTQ4YjNkYTg3NTFjOGRkMTNlMWM1MGQwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMjczNTQ0ODAyMjMvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiwYKKwYBBAHWeQIEAgR9BHsAeQB3AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABnrcet3cAAAQDAEgwRgIhAJpRFyjc8yn044RVBE/fB0ywY+at0ol0oUhu2JCDx9Z6AiEAgFgL/AG0kDKC6Oo63PfPncnudDoxEmXgIbdIv69H/NAwCgYIKoZIzj0EAwMDZwAwZAIwYz2sg+tLHfuMJCwKzQdO8y0g8UZz5etuPLGMEStVvyovHh+0tR8lymSOPrBeKzEwAjBP0CiAsfoLIFTNjiD54ZkDmCd2/pfFwLu8sc3pTMpDMtALn/ICgVF9A3miv+GCWJk="},"tlogEntries":[{"logIndex":"1790495352","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1781188704","inclusionPromise":{"signedEntryTimestamp":"MEQCIDYZ/snhtF1fMSGmUG5BG0Oov16g+Pdj1VBP8v81IV9QAiAacu651rm67G8sOyaSBd+9Ovtd4ox1/Y3xXPjf2E8R6A=="},"inclusionProof":{"logIndex":"1668591090","rootHash":"HoXO5LdFvwTeNLHNtz9iH8TL/R2QXpNNIYO91vpMmU4=","treeSize":"1668591101","hashes":["4CfaB676QKiiV/1kw1k12Zz7iQ3yL1dnh1nLiHhAANw=","Uy9Aic603ZkLB9MgA1xVqLQ1NjvlFwzEt5y1xwZdWh0=","p+aLe0THMjJXUfJfQrxU+6+8YerNoY1Lu3qfEmt1XNE=","mhosbFYscWBxIP6Gc6fCfYsqsYIezPsVUL0bZTKgTzo=","w1ItCHeXD/n9S0pgSmp3/VmU8CfYoH9a9jDmbErpwro=","IgkNFRuSrLgWqqTuhjRLVRW5f7B2nNTLQehUvy8VX9M=","jYk+rPZcfPZxlZz5QL8/ym6UAMApCqWUpPT2lrU7KzA=","VLjNIn+/FT/sj2plp3EFUA9OUotpbCZUQAskW11yTRo=","xjajsLAqU3kKq9bsho/O187CsKAD1bBB8bjmajSi73g=","Jn8NfeTKA/Wn+Sy867uybzuVI3sjagiKnsoulCT4QQU=","TdBfLS9SMe3ZsoszIUiQumvBe3dmck14VtdRElEs1K8=","MmhYSGL9tV9VqAd0kdSlK1D1YFnROf/Fas/Lr7yjtqo=","51TeddbV5u7z9K441lGPz1LjhfDNDenrKBiOVK8RbpE=","6tW244rjPmq7305sgydyiJtETkQtUfD0bAJbxSULMYY=","PxdW73inovRM3x/bZLcDE4x1x0Vc7Vgq+BdZi+CmcQQ=","uY7Ph0LAktbD9csB1/ryC2QihiqtmSV1p5xVUI3/v6k=","JGbMh1cw1XivPXL+BQCwS2qUIt+0TTRwi4yz793EWaw=","FmLvkxuZj/neQyepEyXhOWi3mAg02QIohp2zk4HDWK8=","mDCdA8t/LGc+hqiV0SOyqPXlOYPyWpasRaDDvCC8JAE=","daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=","DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n1668591101\nHoXO5LdFvwTeNLHNtz9iH8TL/R2QXpNNIYO91vpMmU4=\n\n— rekor.sigstore.dev wNI9ajBFAiEA8IEp6Ad0Uhj53RwYt2d//vUa0ILPWzE5oDCk7mQia78CIA2c0toiQUQgBTY5Nx/2QkKteScZFPMVdOCnt3q9F5CX\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiIwOTYxZjJjYzc4ZmYxZjRiMTE4NmYxNmU1ZTVmNjg2NzA0ZTVlMzM4ZjQ3OTdkNzAzNWE0OGU2ZDVlODljNDhlIn19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJQURiZTVFbjRTeE5rVThZMk9TWmlYUXN4c1hyVVhqL0c5cTJ2aWFGZVBMSUFpRUExRy9JSUlURVZZTkpKUjR2RVlZLzU4SHhMRVM5b01iS3hZNGhKZ3dsT0hZPSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRla05EUW5STFowRjNTVUpCWjBsVlZ6Uk1ORUZFZVhJek4wdzFaRlExYVVOaVJUTlRWa05CYVhwVmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDVxUlhoTlZGRjZUMFJKTUZkb1kwNU5hbGwzVG1wRmVFMVVVVEJQUkVrd1YycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZqU2tScFlubEJVbnBaZVRKRVIwSlpjR3ByUldKS1JWQkRaR28xVDFKaFRsaEpWMmdLYUVaYWFGZElVMGhJTm1SWk4wSlFPVXhKT1U1NmJGcEhNSFpMTjJob2JuTXJOM2xEZFZCclMwTmhOVTB3ZUhoVU9YRlBRMEptUlhkbloxaDBUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlZSU2xOUENuWXJkRk5wWkVob2NXSlZXbEUyTTNwSE0xbEJiV2RqZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOWFSMHBxVGtkUmVFOVVZekZQVjFFelQxUk9hMDU2VVRWT1JHaHBDazB5VW1oUFJHTXhUVmROTkZwSFVYaE5NbFY0V1hwVmQxcEVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMXBIU21wT1IxRjRUMVJqTVU5WFVUTlBWRTVyVG5wUk5VNUVhR2xOTWxKb1QwUmpNVTFYVFRRS1drZFJlRTB5VlhoWmVsVjNXa1JCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMXBIU21wT1IxRjRUMVJqTVU5WFVUTlBWRTVyVG5wUk5VNUVhR2tLVFRKU2FFOUVZekZOVjAwMFdrZFJlRTB5VlhoWmVsVjNXa1JCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZFNhVmw2VW1zS1RWUnJNMDVVYkd0T2VtdDZXa1JqTUU5VVVUUlphazVyV1ZSbk0wNVVSbXBQUjFKclRWUk9iRTFYVFRGTlIxRjNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOYW1ONlRsUlJNRTlFUVhsTmFrMTJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwZDFsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTT1VKSWMwRUtaVkZDTTBGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtNXlZMlYwTTJOQlFVRlJSQXBCUldkM1VtZEphRUZLY0ZKR2VXcGpPSGx1TURRMFVsWkNSUzltUWpCNWQxa3JZWFF3YjJ3d2IxVm9kVEpLUTBSNE9WbzJRV2xGUVdkR1owd3ZRVWN3Q210RVMwTTJUMjgyTTFCbVVHNWpiblZrUkc5NFJXMVlaMGxpWkVsMk5qbElMMDVCZDBObldVbExiMXBKZW1vd1JVRjNUVVJhZDBGM1drRkpkMWw2TW5NS1p5dDBURWhtZFUxS1EzZExlbEZrVHpoNU1HYzRWVnA2TldWMGRWQk1SMDFGVTNSV2RubHZka2hvS3pCMFVqaHNlVzFUVDFCeVFtVkxla1YzUVdwQ1VBb3dRMmxCYzJadlRFbEdWRTVxYVVRMU5GcHJSRzFEWkRJdmNHWkdkMHgxT0hOak0zQlVUWEJFVFhSQlRHNHZTVU5uVmtZNVFUTnRhWFlyUjBOWFNtczlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgCDrRhAEmcVU+94+5ngllWnBmq9eqYsVen6+OnIKXmSECFGV53ZQXPYSl/KB+mGfOTor0iXo/GA8yMDI2MDYxMTE0MzgyNFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwNjExMTQzODI0WjAvBgkqhkiG9w0BCQQxIgQgjUsyhBNSOVWci7ibkGTuUfT6KwCxhmX5bSymoUIVzXMwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAN1BMkA520R8uHQaaLYn+1BYCVAHmu73aPBbN6JoiwZPJwPEkEya8UId7QXPabjRHwIxAILS9jIIcsksJ9GIR1UIf8kXlY2+0HXvRRn8+ivA2NW7C9gPArtMdKFtm/2kpecJJw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"CWHyzHj/H0sRhvFuXl9oZwTl4zj0eX1wNaSObV6JxI4="},"signature":"MEUCIADbe5En4SxNkU8Y2OSZiXQsxsXrUXj/G9q2viaFePLIAiEA1G/IIITEVYNJJR4vEYY/58HxLES9oMbKxY4hJgwlOHY="}}
|
build/torch211-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import ctypes
|
| 2 |
+
import importlib.util
|
| 3 |
+
import sys
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
from types import ModuleType
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def _import_from_path(file_path: Path) -> ModuleType:
|
| 9 |
+
# We cannot use the module name as-is, after adding it to `sys.modules`,
|
| 10 |
+
# it would also be used for other imports. So, we make a module name that
|
| 11 |
+
# depends on the path for it to be unique using the hex-encoded hash of
|
| 12 |
+
# the path.
|
| 13 |
+
path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
|
| 14 |
+
module_name = path_hash
|
| 15 |
+
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
| 16 |
+
if spec is None:
|
| 17 |
+
raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
|
| 18 |
+
module = importlib.util.module_from_spec(spec)
|
| 19 |
+
if module is None:
|
| 20 |
+
raise ImportError(f"Cannot load module {module_name} from spec")
|
| 21 |
+
sys.modules[module_name] = module
|
| 22 |
+
spec.loader.exec_module(module) # type: ignore
|
| 23 |
+
return module
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
|
build/torch212-cxx11-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from .custom_ops import gemm_4bit_forward
|
| 2 |
+
|
| 3 |
+
__all__ = ["gemm_4bit_forward"]
|
build/torch212-cxx11-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _quantization_bitsandbytes_cpu_dbc4d19
|
| 3 |
+
ops = torch.ops._quantization_bitsandbytes_cpu_dbc4d19
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_quantization_bitsandbytes_cpu_dbc4d19::{op_name}"
|
build/torch212-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f9770f60bc879c7a9e116c6dd19ffe6b0ff793cc561e9262247299fef07c9053
|
| 3 |
+
size 146680
|
build/torch212-cxx11-cpu-x86_64-linux/custom_ops.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from ._ops import ops
|
| 3 |
+
|
| 4 |
+
def gemm_4bit_forward(
|
| 5 |
+
input: torch.Tensor,
|
| 6 |
+
weight: torch.Tensor,
|
| 7 |
+
absmax: torch.Tensor,
|
| 8 |
+
blocksize: int,
|
| 9 |
+
quant_type: int,
|
| 10 |
+
) -> torch.Tensor:
|
| 11 |
+
original_dtype = input.dtype
|
| 12 |
+
if original_dtype != torch.bfloat16:
|
| 13 |
+
input = input.to(torch.bfloat16)
|
| 14 |
+
|
| 15 |
+
output = ops.gemm_4bit_forward(input, weight, absmax, blocksize, quant_type)
|
| 16 |
+
if original_dtype != torch.bfloat16:
|
| 17 |
+
output = output.to(original_dtype)
|
| 18 |
+
|
| 19 |
+
return output
|
build/torch212-cxx11-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"name": "quantization-bitsandbytes",
|
| 3 |
+
"id": "_quantization_bitsandbytes_cpu_dbc4d19",
|
| 4 |
+
"version": 1,
|
| 5 |
+
"license": "MIT",
|
| 6 |
+
"python-depends": [],
|
| 7 |
+
"backend": {
|
| 8 |
+
"type": "cpu"
|
| 9 |
+
},
|
| 10 |
+
"digest": {
|
| 11 |
+
"algorithm": "sha256",
|
| 12 |
+
"files": {
|
| 13 |
+
"__init__.py": "DHh2jHOQbnCQZ2/xlb0KLQVbr26rS1ZK1IyWX6qFx68=",
|
| 14 |
+
"_ops.py": "g8zaMXzcuB6fs1HUMDoMatGtJM79wxRBLQIRp5FUurU=",
|
| 15 |
+
"_quantization_bitsandbytes_cpu_dbc4d19.abi3.so": "+XcPYLyHnHqeEWxt0Z/+aw/3k8xWHpJiJHKZ/vB8kFM=",
|
| 16 |
+
"custom_ops.py": "GYQQ7x1K1mY9zqtWX0vJW5FpDwxtAxP2LuJAw1bDp4M=",
|
| 17 |
+
"quantization_bitsandbytes/__init__.py": "DFYPlrhXwYjEqCl/8n0SmWGZV8NFml5DPhMjKfv98GY="
|
| 18 |
+
}
|
| 19 |
+
}
|
| 20 |
+
}
|
build/torch212-cxx11-cpu-x86_64-linux/metadata.json.sigstore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHSjCCBtCgAwIBAgIUAgLuR59uJjXWQ8MjgvpBUprEEmkwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwNjExMTQzODI1WhcNMjYwNjExMTQ0ODI1WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYPWiudLQhaL0nnnjMY0KSy3soxQ7Wv7pId+2QZOPtD/IJxEqA3qNBnQCGAU9LYiUCHSbpR6wFukC7bh00JLSvaOCBe8wggXrMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUz9EC7tCF9ORao6G2jkbEdZE5OlQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wawYDVR0RAQH/BGEwX4ZdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDkGCisGAQQBg78wAQEEK2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20wHwYKKwYBBAGDvzABAgQRd29ya2Zsb3dfZGlzcGF0Y2gwNgYKKwYBBAGDvzABAwQoZGJjNGQxOTc1OWQ3OTNkNzQ5NDhiM2RhODc1MWM4ZGQxM2UxYzUwZDATBgorBgEEAYO/MAEEBAVCdWlsZDArBgorBgEEAYO/MAEFBB1odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eTAdBgorBgEEAYO/MAEGBA9yZWZzL2hlYWRzL21haW4wOwYKKwYBBAGDvzABCAQtDCtodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tMG0GCisGAQQBg78wAQkEXwxdaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5Ly5naXRodWIvd29ya2Zsb3dzL2J1aWxkLnlhbWxAcmVmcy9oZWFkcy9tYWluMDgGCisGAQQBg78wAQoEKgwoZGJjNGQxOTc1OWQ3OTNkNzQ5NDhiM2RhODc1MWM4ZGQxM2UxYzUwZDAbBgorBgEEAYO/MAELBA0MC3NlbGYtaG9zdGVkMEAGCisGAQQBg78wAQwEMgwwaHR0cHM6Ly9naXRodWIuY29tL2h1Z2dpbmdmYWNlL2tlcm5lbHMtY29tbXVuaXR5MDgGCisGAQQBg78wAQ0EKgwoZGJjNGQxOTc1OWQ3OTNkNzQ5NDhiM2RhODc1MWM4ZGQxM2UxYzUwZDAfBgorBgEEAYO/MAEOBBEMD3JlZnMvaGVhZHMvbWFpbjAaBgorBgEEAYO/MAEPBAwMCjEwNzE0NzU1MjkwLgYKKwYBBAGDvzABEAQgDB5odHRwczovL2dpdGh1Yi5jb20vaHVnZ2luZ2ZhY2UwGAYKKwYBBAGDvzABEQQKDAgyNTcyMDc0MzBtBgorBgEEAYO/MAESBF8MXWh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS8uZ2l0aHViL3dvcmtmbG93cy9idWlsZC55YW1sQHJlZnMvaGVhZHMvbWFpbjA4BgorBgEEAYO/MAETBCoMKGRiYzRkMTk3NTlkNzkzZDc0OTQ4YjNkYTg3NTFjOGRkMTNlMWM1MGQwIQYKKwYBBAGDvzABFAQTDBF3b3JrZmxvd19kaXNwYXRjaDBkBgorBgEEAYO/MAEVBFYMVGh0dHBzOi8vZ2l0aHViLmNvbS9odWdnaW5nZmFjZS9rZXJuZWxzLWNvbW11bml0eS9hY3Rpb25zL3J1bnMvMjczNTQ0ODAyMjMvYXR0ZW1wdHMvMTAWBgorBgEEAYO/MAEWBAgMBnB1YmxpYzBGBgorBgEEAYO/MAEYBDgMNnJlcG86aHVnZ2luZ2ZhY2Uva2VybmVscy1jb21tdW5pdHk6cmVmOnJlZnMvaGVhZHMvbWFpbjCBiQYKKwYBBAHWeQIEAgR7BHkAdwB1AN09MGrGxxEyYxkeHJlnNwKiSl643jyt/4eKcoAvKe6OAAABnrceuvwAAAQDAEYwRAIgU4Gt9gBdCpAewASsmonpaFjKCBO3zGlo01ccvJ+5rxcCIGeSfwI9gl6K3PckZ30RObXPNfwkSW2C4TJhvAGNLgBMMAoGCCqGSM49BAMDA2gAMGUCMQDkMYOrIbc84zwWAnHIFXzGJ4vavWOkoyIV2RSA/O3xX5xzj5BW/wUJeLcq1cg8q78CMGXy+5WAvaMbtqZRWWun9HCFuEkPO4IteFBMbZcQP5+3CRIoXe/Mx7k3CLDPjkiPEw=="},"tlogEntries":[{"logIndex":"1790495484","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"hashedrekord","version":"0.0.1"},"integratedTime":"1781188705","inclusionPromise":{"signedEntryTimestamp":"MEUCIQCIdAGiNVG1U3EnnihI53zgEfRO+QruopcWqdsGxIOpcAIgJjVAJOmnaIYAOw3MlO3vpGNX/7bQ4vGzAQS7pVpqLiU="},"inclusionProof":{"logIndex":"1668591222","rootHash":"L97UooKxWZ4/Ai49LFMIrj6i3UslCdDPLBga6xURRV8=","treeSize":"1668591247","hashes":["LOrcAf0IWwnFQJTF0vQ0rph4+pURY+/xLbzx+5GvJIY=","G4w7aZbRjBj2qTUfCi80ggZAGEBlTTKaCS7Na9ZDciE=","tgk/imzlmLbq8sXbL6MTmvfTs2F5FZ8eBqVcUXQ9kWI=","JVS7JONNJuUb5mHdP3d807lnyOn20Jn2Rl56dkDRHFA=","0zDxpwp8GrIJ8ykqGhV6n5ZxIOxmmlfgJP2h7WRb9wU=","akd7d3VDqkj/FFd3iZxRLzwFWAGsbGnqBuEym2rpWDo=","Gw9rEX5AiHY3QPpiOgGRQESlTfYoeVgDSaWSocq3+cU=","gQCKBF0c/yXkP3H5480rObTBEqwSW4WBs9uKf/58n7s=","SI+6UC0uXvRt7b1zJlnpeXPO+lFSKcrfZsP+XdkabHw=","Jn8NfeTKA/Wn+Sy867uybzuVI3sjagiKnsoulCT4QQU=","TdBfLS9SMe3ZsoszIUiQumvBe3dmck14VtdRElEs1K8=","MmhYSGL9tV9VqAd0kdSlK1D1YFnROf/Fas/Lr7yjtqo=","51TeddbV5u7z9K441lGPz1LjhfDNDenrKBiOVK8RbpE=","6tW244rjPmq7305sgydyiJtETkQtUfD0bAJbxSULMYY=","PxdW73inovRM3x/bZLcDE4x1x0Vc7Vgq+BdZi+CmcQQ=","uY7Ph0LAktbD9csB1/ryC2QihiqtmSV1p5xVUI3/v6k=","JGbMh1cw1XivPXL+BQCwS2qUIt+0TTRwi4yz793EWaw=","FmLvkxuZj/neQyepEyXhOWi3mAg02QIohp2zk4HDWK8=","mDCdA8t/LGc+hqiV0SOyqPXlOYPyWpasRaDDvCC8JAE=","daxmZaajRpZV+JxHiOYZhJBiSKN5ucqjh2WnGbHhirw=","DOCeoSMovIvLExkhIvisow9AuNXgeWs4ECkyR6EcqYU="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n1668591247\nL97UooKxWZ4/Ai49LFMIrj6i3UslCdDPLBga6xURRV8=\n\n— rekor.sigstore.dev wNI9ajBFAiEApGHO3NQj5aToD2PYJk4nxAavQARrozlj/5SaUNUsoX4CIAWNPyDJWl0CG4SsfhvzYWrmWJqWCslGGxQ6H168na4z\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiaGFzaGVkcmVrb3JkIiwic3BlYyI6eyJkYXRhIjp7Imhhc2giOnsiYWxnb3JpdGhtIjoic2hhMjU2IiwidmFsdWUiOiI0MDMzM2E3ZTJlNGQ4ZTZjZDViNGRkZWIxNTk4NWZhMGQyODk1YWQ5NWJmZWE1Yzg4NmMxZDhhNjE3NGQ3ZTQ2In19LCJzaWduYXR1cmUiOnsiY29udGVudCI6Ik1FVUNJUUM4MytscUw0R1hDRG13Tk51Qy83emJGSUlVWkN5Sm11dGF3ODFVNFhKSU1nSWdVS01YNHZDeFk0OHVSMGU2Q3lRWEpVdGFyZm9JY1ZYazByS0FFdjdaZUN3PSIsInB1YmxpY0tleSI6eyJjb250ZW50IjoiTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVaFRha05EUW5SRFowRjNTVUpCWjBsVlFXZE1kVkkxT1hWS2FsaFhVVGhOYW1kMmNFSlZjSEpGUlcxcmQwTm5XVWxMYjFwSmVtb3dSVUYzVFhjS1RucEZWazFDVFVkQk1WVkZRMmhOVFdNeWJHNWpNMUoyWTIxVmRWcEhWakpOVWpSM1NFRlpSRlpSVVVSRmVGWjZZVmRrZW1SSE9YbGFVekZ3WW01U2JBcGpiVEZzV2tkc2FHUkhWWGRJYUdOT1RXcFpkMDVxUlhoTlZGRjZUMFJKTVZkb1kwNU5hbGwzVG1wRmVFMVVVVEJQUkVreFYycEJRVTFHYTNkRmQxbElDa3R2V2tsNmFqQkRRVkZaU1V0dldrbDZhakJFUVZGalJGRm5RVVZaVUZkcGRXUk1VV2hoVERCdWJtNXFUVmt3UzFONU0zTnZlRkUzVjNZM2NFbGtLeklLVVZwUFVIUkVMMGxLZUVWeFFUTnhUa0p1VVVOSFFWVTVURmxwVlVOSVUySndValozUm5WclF6ZGlhREF3U2t4VGRtRlBRMEpsT0hkbloxaHlUVUUwUndwQk1WVmtSSGRGUWk5M1VVVkJkMGxJWjBSQlZFSm5UbFpJVTFWRlJFUkJTMEpuWjNKQ1owVkdRbEZqUkVGNlFXUkNaMDVXU0ZFMFJVWm5VVlY2T1VWRENqZDBRMFk1VDFKaGJ6WkhNbXByWWtWa1drVTFUMnhSZDBoM1dVUldVakJxUWtKbmQwWnZRVlV6T1ZCd2VqRlphMFZhWWpWeFRtcHdTMFpYYVhocE5Ga0tXa1E0ZDJGM1dVUldVakJTUVZGSUwwSkhSWGRZTkZwa1lVaFNNR05JVFRaTWVUbHVZVmhTYjJSWFNYVlpNamwwVERKb01Wb3laSEJpYldSdFdWZE9iQXBNTW5Sc1kyMDFiR0pJVFhSWk1qbDBZbGhXZFdGWVVqVk1lVFZ1WVZoU2IyUlhTWFprTWpsNVlUSmFjMkl6WkhwTU1rb3hZVmQ0YTB4dWJHaGlWM2hCQ21OdFZtMWplVGx2V2xkR2EyTjVPWFJaVjJ4MVRVUnJSME5wYzBkQlVWRkNaemM0ZDBGUlJVVkxNbWd3WkVoQ2VrOXBPSFprUnpseVdsYzBkVmxYVGpBS1lWYzVkV041Tlc1aFdGSnZaRmRLTVdNeVZubFpNamwxWkVkV2RXUkROV3BpTWpCM1NIZFpTMHQzV1VKQ1FVZEVkbnBCUWtGblVWSmtNamw1WVRKYWN3cGlNMlJtV2tkc2VtTkhSakJaTW1kM1RtZFpTMHQzV1VKQ1FVZEVkbnBCUWtGM1VXOWFSMHBxVGtkUmVFOVVZekZQVjFFelQxUk9hMDU2VVRWT1JHaHBDazB5VW1oUFJHTXhUVmROTkZwSFVYaE5NbFY0V1hwVmQxcEVRVlJDWjI5eVFtZEZSVUZaVHk5TlFVVkZRa0ZXUTJSWGJITmFSRUZ5UW1kdmNrSm5SVVVLUVZsUEwwMUJSVVpDUWpGdlpGZGtibUZYTlc1YWJVWnFXbE01Y2xwWVNuVmFWM2g2VEZkT2RtSlhNVEZpYld3d1pWUkJaRUpuYjNKQ1owVkZRVmxQTHdwTlFVVkhRa0U1ZVZwWFducE1NbWhzV1ZkU2Vrd3lNV2hoVnpSM1QzZFpTMHQzV1VKQ1FVZEVkbnBCUWtOQlVYUkVRM1J2WkVoU2QyTjZiM1pNTTFKMkNtRXlWblZNYlVacVpFZHNkbUp1VFhWYU1td3dZVWhXYVdSWVRteGpiVTUyWW01U2JHSnVVWFZaTWpsMFRVY3dSME5wYzBkQlVWRkNaemM0ZDBGUmEwVUtXSGQ0WkdGSVVqQmpTRTAyVEhrNWJtRllVbTlrVjBsMVdUSTVkRXd5YURGYU1tUndZbTFrYlZsWFRteE1NblJzWTIwMWJHSklUWFJaTWpsMFlsaFdkUXBoV0ZJMVRIazFibUZZVW05a1YwbDJaREk1ZVdFeVduTmlNMlI2VERKS01XRlhlR3RNYm14b1lsZDRRV050Vm0xamVUbHZXbGRHYTJONU9YUlpWMngxQ2sxRVowZERhWE5IUVZGUlFtYzNPSGRCVVc5RlMyZDNiMXBIU21wT1IxRjRUMVJqTVU5WFVUTlBWRTVyVG5wUk5VNUVhR2xOTWxKb1QwUmpNVTFYVFRRS1drZFJlRTB5VlhoWmVsVjNXa1JCWWtKbmIzSkNaMFZGUVZsUEwwMUJSVXhDUVRCTlF6Tk9iR0pIV1hSaFJ6bDZaRWRXYTAxRlFVZERhWE5IUVZGUlFncG5OemgzUVZGM1JVMW5kM2RoU0ZJd1kwaE5Oa3g1T1c1aFdGSnZaRmRKZFZreU9YUk1NbWd4V2pKa2NHSnRaRzFaVjA1c1RESjBiR050Tld4aVNFMTBDbGt5T1hSaVdGWjFZVmhTTlUxRVowZERhWE5IUVZGUlFtYzNPSGRCVVRCRlMyZDNiMXBIU21wT1IxRjRUMVJqTVU5WFVUTlBWRTVyVG5wUk5VNUVhR2tLVFRKU2FFOUVZekZOVjAwMFdrZFJlRTB5VlhoWmVsVjNXa1JCWmtKbmIzSkNaMFZGUVZsUEwwMUJSVTlDUWtWTlJETktiRnB1VFhaaFIxWm9Xa2hOZGdwaVYwWndZbXBCWVVKbmIzSkNaMFZGUVZsUEwwMUJSVkJDUVhkTlEycEZkMDU2UlRCT2VsVXhUV3ByZDB4bldVdExkMWxDUWtGSFJIWjZRVUpGUVZGbkNrUkNOVzlrU0ZKM1kzcHZka3d5WkhCa1IyZ3hXV2sxYW1JeU1IWmhTRlp1V2pKc2RWb3lXbWhaTWxWM1IwRlpTMHQzV1VKQ1FVZEVkbnBCUWtWUlVVc0tSRUZuZVU1VVkzbE5SR013VFhwQ2RFSm5iM0pDWjBWRlFWbFBMMDFCUlZOQ1JqaE5XRmRvTUdSSVFucFBhVGgyV2pKc01HRklWbWxNYlU1MllsTTVid3BrVjJSdVlWYzFibHB0Um1wYVV6bHlXbGhLZFZwWGVIcE1WMDUyWWxjeE1XSnRiREJsVXpoMVdqSnNNR0ZJVm1sTU0yUjJZMjEwYldKSE9UTmplVGxwQ21SWGJITmFRelUxV1ZjeGMxRklTbXhhYmsxMllVZFdhRnBJVFhaaVYwWndZbXBCTkVKbmIzSkNaMFZGUVZsUEwwMUJSVlJDUTI5TlMwZFNhVmw2VW1zS1RWUnJNMDVVYkd0T2VtdDZXa1JqTUU5VVVUUlphazVyV1ZSbk0wNVVSbXBQUjFKclRWUk9iRTFYVFRGTlIxRjNTVkZaUzB0M1dVSkNRVWRFZG5wQlFncEdRVkZVUkVKR00ySXpTbkphYlhoMlpERTVhMkZZVG5kWldGSnFZVVJDYTBKbmIzSkNaMFZGUVZsUEwwMUJSVlpDUmxsTlZrZG9NR1JJUW5wUGFUaDJDbG95YkRCaFNGWnBURzFPZG1KVE9XOWtWMlJ1WVZjMWJscHRSbXBhVXpseVdsaEtkVnBYZUhwTVYwNTJZbGN4TVdKdGJEQmxVemxvV1ROU2NHSXlOWG9LVEROS01XSnVUWFpOYW1ONlRsUlJNRTlFUVhsTmFrMTJXVmhTTUZwWE1YZGtTRTEyVFZSQlYwSm5iM0pDWjBWRlFWbFBMMDFCUlZkQ1FXZE5RbTVDTVFwWmJYaHdXWHBDUjBKbmIzSkNaMFZGUVZsUEwwMUJSVmxDUkdkTlRtNUtiR05IT0RaaFNGWnVXakpzZFZveVdtaFpNbFYyWVRKV2VXSnRWbk5qZVRGcUNtSXlNWFJrVnpWd1pFaHJObU50Vm0xUGJrcHNXbTVOZG1GSFZtaGFTRTEyWWxkR2NHSnFRMEpwVVZsTFMzZFpRa0pCU0ZkbFVVbEZRV2RTTjBKSWEwRUtaSGRDTVVGT01EbE5SM0pIZUhoRmVWbDRhMlZJU214dVRuZExhVk5zTmpRemFubDBMelJsUzJOdlFYWkxaVFpQUVVGQlFtNXlZMlYxZG5kQlFVRlJSQXBCUlZsM1VrRkpaMVUwUjNRNVowSmtRM0JCWlhkQlUzTnRiMjV3WVVacVMwTkNUek42UjJ4dk1ERmpZM1pLS3pWeWVHTkRTVWRsVTJaM1NUbG5iRFpMQ2pOUVkydGFNekJTVDJKWVVFNW1kMnRUVnpKRE5GUkthSFpCUjA1TVowSk5UVUZ2UjBORGNVZFRUVFE1UWtGTlJFRXlaMEZOUjFWRFRWRkVhMDFaVDNJS1NXSmpPRFI2ZDFkQmJraEpSbGg2UjBvMGRtRjJWMDlyYjNsSlZqSlNVMEV2VHpONFdEVjRlbW8xUWxjdmQxVktaVXhqY1RGalp6aHhOemhEVFVkWWVRb3JOVmRCZG1GTlluUnhXbEpYVjNWdU9VaERSblZGYTFCUE5FbDBaVVpDVFdKYVkxRlFOU3N6UTFKSmIxaGxMMDE0TjJzelEweEVVR3ByYVZCRmR6MDlDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifX19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgRKLfTYbHXMMGCqIzhe2PwdfKTCbFBAtlLn9Aom5f3Q8CFFrjFplxCaaiNaiJEE7QP5k/U/qVGA8yMDI2MDYxMTE0MzgyNVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwNjExMTQzODI1WjAvBgkqhkiG9w0BCQQxIgQgtRzqW2upR3Q31GGiRHJfqimwPPR0s9o+hhT2FrCBl14wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAPW+Y0GaX9mSvMxYRUsCEr8AFyBw2gE47z7zN4v+U/13Cb6Dr+mjga6i0ZWRnhCstAIxALluaEHxAOq3R7OCLCmHG6vRVqXWf8Zi8B2u9dKTWJ7CwFPs7EedSOyYVEZbs0AGOw=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_256","digest":"QDM6fi5NjmzVtN3rFZhfoNKJWtlb/qXIhsHYphdNfkY="},"signature":"MEUCIQC83+lqL4GXCDmwNNuC/7zbFIIUZCyJmutaw81U4XJIMgIgUKMX4vCxY48uR0e6CyQXJUtarfoIcVXk0rKAEv7ZeCw="}}
|
build/torch212-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import ctypes
|
| 2 |
+
import importlib.util
|
| 3 |
+
import sys
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
from types import ModuleType
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def _import_from_path(file_path: Path) -> ModuleType:
|
| 9 |
+
# We cannot use the module name as-is, after adding it to `sys.modules`,
|
| 10 |
+
# it would also be used for other imports. So, we make a module name that
|
| 11 |
+
# depends on the path for it to be unique using the hex-encoded hash of
|
| 12 |
+
# the path.
|
| 13 |
+
path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
|
| 14 |
+
module_name = path_hash
|
| 15 |
+
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
| 16 |
+
if spec is None:
|
| 17 |
+
raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
|
| 18 |
+
module = importlib.util.module_from_spec(spec)
|
| 19 |
+
if module is None:
|
| 20 |
+
raise ImportError(f"Cannot load module {module_name} from spec")
|
| 21 |
+
sys.modules[module_name] = module
|
| 22 |
+
spec.loader.exec_module(module) # type: ignore
|
| 23 |
+
return module
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
|
build/torch28-cxx11-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from .custom_ops import gemm_4bit_forward
|
| 2 |
+
|
| 3 |
+
__all__ = ["gemm_4bit_forward"]
|
build/torch28-cxx11-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _quantization_bitsandbytes_9739e82
|
| 3 |
+
ops = torch.ops._quantization_bitsandbytes_9739e82
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_quantization_bitsandbytes_9739e82::{op_name}"
|
build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_9739e82.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7a689c4fe7a2ac4529c5ee6eebeb714eb79160c1fde23e9b13600e8f10c96ffe
|
| 3 |
+
size 141024
|
build/torch28-cxx11-cpu-x86_64-linux/custom_ops.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from ._ops import ops
|
| 3 |
+
|
| 4 |
+
def gemm_4bit_forward(
|
| 5 |
+
input: torch.Tensor,
|
| 6 |
+
weight: torch.Tensor,
|
| 7 |
+
absmax: torch.Tensor,
|
| 8 |
+
blocksize: int,
|
| 9 |
+
quant_type: int,
|
| 10 |
+
) -> torch.Tensor:
|
| 11 |
+
original_dtype = input.dtype
|
| 12 |
+
if original_dtype != torch.bfloat16:
|
| 13 |
+
input = input.to(torch.bfloat16)
|
| 14 |
+
|
| 15 |
+
output = ops.gemm_4bit_forward(input, weight, absmax, blocksize, quant_type)
|
| 16 |
+
if original_dtype != torch.bfloat16:
|
| 17 |
+
output = output.to(original_dtype)
|
| 18 |
+
|
| 19 |
+
return output
|
build/torch28-cxx11-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"version": 1,
|
| 3 |
+
"python-depends": []
|
| 4 |
+
}
|
build/torch28-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import ctypes
|
| 2 |
+
import sys
|
| 3 |
+
|
| 4 |
+
import importlib
|
| 5 |
+
from pathlib import Path
|
| 6 |
+
from types import ModuleType
|
| 7 |
+
|
| 8 |
+
def _import_from_path(file_path: Path) -> ModuleType:
|
| 9 |
+
# We cannot use the module name as-is, after adding it to `sys.modules`,
|
| 10 |
+
# it would also be used for other imports. So, we make a module name that
|
| 11 |
+
# depends on the path for it to be unique using the hex-encoded hash of
|
| 12 |
+
# the path.
|
| 13 |
+
path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
|
| 14 |
+
module_name = path_hash
|
| 15 |
+
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
| 16 |
+
if spec is None:
|
| 17 |
+
raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
|
| 18 |
+
module = importlib.util.module_from_spec(spec)
|
| 19 |
+
if module is None:
|
| 20 |
+
raise ImportError(f"Cannot load module {module_name} from spec")
|
| 21 |
+
sys.modules[module_name] = module
|
| 22 |
+
spec.loader.exec_module(module) # type: ignore
|
| 23 |
+
return module
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
|
build/torch29-cxx11-cpu-x86_64-linux/__init__.py
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from .custom_ops import gemm_4bit_forward
|
| 2 |
+
|
| 3 |
+
__all__ = ["gemm_4bit_forward"]
|
build/torch29-cxx11-cpu-x86_64-linux/_ops.py
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from . import _quantization_bitsandbytes_cpu_3c456c8
|
| 3 |
+
ops = torch.ops._quantization_bitsandbytes_cpu_3c456c8
|
| 4 |
+
|
| 5 |
+
def add_op_namespace_prefix(op_name: str):
|
| 6 |
+
"""
|
| 7 |
+
Prefix op by namespace.
|
| 8 |
+
"""
|
| 9 |
+
return f"_quantization_bitsandbytes_cpu_3c456c8::{op_name}"
|
build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_3c456c8.abi3.so
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8892fa05e9e4e6c4dc3b91b8813376472226a2b0d857327c1daf864cc5aae3b1
|
| 3 |
+
size 1988192
|
build/torch29-cxx11-cpu-x86_64-linux/custom_ops.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch
|
| 2 |
+
from ._ops import ops
|
| 3 |
+
|
| 4 |
+
def gemm_4bit_forward(
|
| 5 |
+
input: torch.Tensor,
|
| 6 |
+
weight: torch.Tensor,
|
| 7 |
+
absmax: torch.Tensor,
|
| 8 |
+
blocksize: int,
|
| 9 |
+
quant_type: int,
|
| 10 |
+
) -> torch.Tensor:
|
| 11 |
+
original_dtype = input.dtype
|
| 12 |
+
if original_dtype != torch.bfloat16:
|
| 13 |
+
input = input.to(torch.bfloat16)
|
| 14 |
+
|
| 15 |
+
output = ops.gemm_4bit_forward(input, weight, absmax, blocksize, quant_type)
|
| 16 |
+
if original_dtype != torch.bfloat16:
|
| 17 |
+
output = output.to(original_dtype)
|
| 18 |
+
|
| 19 |
+
return output
|
build/torch29-cxx11-cpu-x86_64-linux/metadata.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"version": 1,
|
| 3 |
+
"license": "MIT",
|
| 4 |
+
"python-depends": []
|
| 5 |
+
}
|
build/torch29-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import ctypes
|
| 2 |
+
import sys
|
| 3 |
+
|
| 4 |
+
import importlib
|
| 5 |
+
from pathlib import Path
|
| 6 |
+
from types import ModuleType
|
| 7 |
+
|
| 8 |
+
def _import_from_path(file_path: Path) -> ModuleType:
|
| 9 |
+
# We cannot use the module name as-is, after adding it to `sys.modules`,
|
| 10 |
+
# it would also be used for other imports. So, we make a module name that
|
| 11 |
+
# depends on the path for it to be unique using the hex-encoded hash of
|
| 12 |
+
# the path.
|
| 13 |
+
path_hash = "{:x}".format(ctypes.c_size_t(hash(file_path.absolute())).value)
|
| 14 |
+
module_name = path_hash
|
| 15 |
+
spec = importlib.util.spec_from_file_location(module_name, file_path)
|
| 16 |
+
if spec is None:
|
| 17 |
+
raise ImportError(f"Cannot load spec for {module_name} from {file_path}")
|
| 18 |
+
module = importlib.util.module_from_spec(spec)
|
| 19 |
+
if module is None:
|
| 20 |
+
raise ImportError(f"Cannot load module {module_name} from spec")
|
| 21 |
+
sys.modules[module_name] = module
|
| 22 |
+
spec.loader.exec_module(module) # type: ignore
|
| 23 |
+
return module
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
globals().update(vars(_import_from_path(Path(__file__).parent.parent / "__init__.py")))
|