Download tests/test_rope_memory.py from StarAtNyte1/beam-boot: direct link, hf CLI and curl.
- Browser
- Download file 1.06 kB
-
https://huggingface.co/StarAtNyte1/beam-boot/resolve/main/tests/test_rope_memory.py
- Command line
-
hf download hf://StarAtNyte1/beam-boot/tests/test_rope_memory.py
-
curl -L -o test_rope_memory.py https://huggingface.co/StarAtNyte1/beam-boot/resolve/main/tests/test_rope_memory.py
1.06 kB
| import random | |
| import unittest | |
| import torch | |
| from beamboot.rope_memory import RotaryCacheMemory | |
| class RotaryMemoryTests(unittest.TestCase): | |
| def check_memory(self, dtype): | |
| memory = RotaryCacheMemory(dtype) | |
| reference = [0]*16 | |
| rng = random.Random(112) | |
| for _ in range(200): | |
| address, value = rng.randrange(16), rng.randrange(16) | |
| memory.write(address, value) | |
| reference[address] = value | |
| self.assertEqual(memory.read(address), value) | |
| for address, value in enumerate(reference): | |
| self.assertEqual(memory.read(address), value) | |
| self.assertEqual(memory.position, 432) | |
| def test_float32(self): self.check_memory(torch.float32) | |
| def test_bfloat16(self): self.check_memory(torch.bfloat16) | |
| def test_evicted_write_is_not_reliably_readable(self): | |
| memory = RotaryCacheMemory(window=32) | |
| memory.write(0, 7) | |
| for _ in range(32): memory.write(1, 3) | |
| self.assertNotEqual(memory.read(0), 7) | |
| self.assertEqual(memory.read(1), 3) | |