Kernels
meatballhat-replicate danieldk HF Staff commited on
Commit
eddbfa3
·
0 Parent(s):

Duplicate from kernels-community/quantization-bitsandbytes

Browse files

Co-authored-by: Daniël de Kok <danieldk@users.noreply.huggingface.co>

Files changed (34) hide show
  1. .gitattributes +66 -0
  2. README.md +28 -0
  3. build/torch210-cxx11-cpu-x86_64-linux/__init__.py +3 -0
  4. build/torch210-cxx11-cpu-x86_64-linux/_ops.py +9 -0
  5. build/torch210-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_817f262.abi3.so +3 -0
  6. build/torch210-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
  7. build/torch210-cxx11-cpu-x86_64-linux/metadata.json +10 -0
  8. build/torch210-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
  9. build/torch211-cxx11-cpu-x86_64-linux/__init__.py +3 -0
  10. build/torch211-cxx11-cpu-x86_64-linux/_ops.py +9 -0
  11. build/torch211-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so +3 -0
  12. build/torch211-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
  13. build/torch211-cxx11-cpu-x86_64-linux/metadata.json +20 -0
  14. build/torch211-cxx11-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  15. build/torch211-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
  16. build/torch212-cxx11-cpu-x86_64-linux/__init__.py +3 -0
  17. build/torch212-cxx11-cpu-x86_64-linux/_ops.py +9 -0
  18. build/torch212-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_dbc4d19.abi3.so +3 -0
  19. build/torch212-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
  20. build/torch212-cxx11-cpu-x86_64-linux/metadata.json +20 -0
  21. build/torch212-cxx11-cpu-x86_64-linux/metadata.json.sigstore +1 -0
  22. build/torch212-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
  23. build/torch28-cxx11-cpu-x86_64-linux/__init__.py +3 -0
  24. build/torch28-cxx11-cpu-x86_64-linux/_ops.py +9 -0
  25. build/torch28-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_9739e82.abi3.so +3 -0
  26. build/torch28-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
  27. build/torch28-cxx11-cpu-x86_64-linux/metadata.json +4 -0
  28. build/torch28-cxx11-cpu-x86_64-linux/quantization_bitsandbytes/__init__.py +26 -0
  29. build/torch29-cxx11-cpu-x86_64-linux/__init__.py +3 -0
  30. build/torch29-cxx11-cpu-x86_64-linux/_ops.py +9 -0
  31. build/torch29-cxx11-cpu-x86_64-linux/_quantization_bitsandbytes_cpu_3c456c8.abi3.so +3 -0
  32. build/torch29-cxx11-cpu-x86_64-linux/custom_ops.py +19 -0
  33. build/torch29-cxx11-cpu-x86_64-linux/metadata.json +5 -0
  34. 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")))