Download tests/test_tensor_memory.py from StarAtNyte1/beam-boot: direct link, hf CLI and curl.
- Browser
- Download file 1.23 kB
-
https://huggingface.co/StarAtNyte1/beam-boot/resolve/main/tests/test_tensor_memory.py
- Command line
-
hf download hf://StarAtNyte1/beam-boot/tests/test_tensor_memory.py
-
curl -L -o test_tensor_memory.py https://huggingface.co/StarAtNyte1/beam-boot/resolve/main/tests/test_tensor_memory.py
1.23 kB
| import random | |
| import unittest | |
| import torch | |
| from beamboot.tensor_memory import TensorMemory | |
| class TensorMemoryTests(unittest.TestCase): | |
| def test_updates_match_reference(self): | |
| rng = random.Random(812) | |
| mem = TensorMemory(max_writes=256) | |
| reference = [0] * 16 | |
| for _ in range(256): | |
| a, v = rng.randrange(16), rng.randrange(256) | |
| mem.write(a, v) | |
| reference[a] = v | |
| self.assertEqual(mem.read_byte(a), v) | |
| for a in range(16): | |
| self.assertEqual(mem.read_byte(a), reference[a]) | |
| def test_window_loses_old_memory(self): | |
| mem = TensorMemory(window=2) | |
| mem.write(1, 42) | |
| mem.write(2, 20) | |
| mem.write(3, 30) | |
| self.assertNotEqual(mem.read_byte(1), 42) | |
| def test_write_limit_and_validation(self): | |
| mem = TensorMemory(max_writes=1) | |
| with self.assertRaises(ValueError): mem.write(16, 1) | |
| mem.write(0, 255) | |
| with self.assertRaises(ValueError): mem.write(0, 2) | |
| def test_bfloat16_is_measured_not_assumed(self): | |
| mem = TensorMemory(max_writes=4, dtype=torch.bfloat16) | |
| mem.write(1, 11) | |
| mem.write(1, 22) | |
| self.assertEqual(mem.read_byte(1), 22) | |