Skip to content

Commit 3e36068

Browse files
committed
Add xxhash hasher (disabled for now because it confuses the debugger)
1 parent b952427 commit 3e36068

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

exllamav2/generator/dynamic.py

+15-4
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
import threading
1616
import pprint
1717
from collections import deque
18-
import queue
1918
import hashlib
2019
from dataclasses import dataclass
20+
# import xxhash
2121
# from line_profiler import profile
2222

2323
# TODO:
@@ -34,6 +34,17 @@ def _tensor_blake2b_checksum(tensor: torch.Tensor, prev_hash: bytes | None) -> b
3434
hasher.update(tensor.numpy().tobytes())
3535
return hasher.digest()
3636

37+
# xxhasher = xxhash.xxh128()
38+
# def _tensor_xxhash128_checksum(tensor: torch.Tensor, prev_hash: bytes | None) -> bytes:
39+
# global xxhasher
40+
# xxhasher.reset()
41+
# if prev_hash is not None:
42+
# xxhasher.update(prev_hash)
43+
# xxhasher.update(tensor.numpy().tobytes())
44+
# return xxhasher.digest()
45+
46+
_tensor_hash_checksum = _tensor_blake2b_checksum
47+
3748
_uniquehash = 0
3849
def _randomhash():
3950
global _uniquehash
@@ -700,7 +711,7 @@ def ___validate_cache(self):
700711
# if ids.shape[-1] > 0:
701712
# assert page.prev_hash == prev_hash, "bad prev_hash " + str(job) + " -> " + str(page)
702713
# if ids.shape[-1] == self.page_size:
703-
# phash = _tensor_blake2b_checksum(ids, prev_hash)
714+
# phash = _tensor_hash_checksum(ids, prev_hash)
704715
# assert page.phash == phash, "bad phash " + str(job) + " -> " + str(page)
705716
# prev_hash = phash
706717
# spos = spos2
@@ -1624,7 +1635,7 @@ def receive_sample(
16241635
# assert page.sequence.shape[-1] == self.generator.page_size
16251636
# assert torch.all(page_ids == page.sequence)
16261637
# assert page_ids.shape[-1] == self.generator.page_size
1627-
new_hash = _tensor_blake2b_checksum(page_ids, last_hash)
1638+
new_hash = _tensor_hash_checksum(page_ids, last_hash)
16281639

16291640
# If another referenced page has the same hash, switch to referencing that instead
16301641

@@ -1883,7 +1894,7 @@ def prepare_for_queue(self, generator, serial_number: int):
18831894
for i in range(context_pages):
18841895
page_ids = seq.sequence_ids.torch_slice(i * page_size, (i + 1) * page_size)
18851896
assert page_ids.shape[-1] == self.generator.page_size
1886-
r_hash = _tensor_blake2b_checksum(page_ids, r_hash)
1897+
r_hash = _tensor_hash_checksum(page_ids, r_hash)
18871898
seq.page_hashes.append(r_hash)
18881899
all_unique_hashes.add(r_hash)
18891900

0 commit comments

Comments
 (0)