| 228 | self.supports_copy_from_disk, self.supports_transfer = supports_copy_from_disk, supports_transfer |
| 229 | # overridden in LRUAllocator |
| 230 | def alloc(self, size:int, options:BufferSpec|None=None): |
| 231 | assert size > 0, f"alloc size must be positive, getting {size}" |
| 232 | try: return self._alloc(size, options if options is not None else self.default_buffer_spec) |
| 233 | except (RuntimeError, MemoryError) as e: raise MemoryError(f"Allocation of {size_to_str(size)} failed on {self.dev.device}. " |
| 234 | f"Used: {size_to_str(GlobalCounters.mem_used_per_device[self.dev.device])}") from e |
| 235 | def free(self, opaque, size:int, options:BufferSpec|None=None): |
| 236 | self._free(opaque, options if options is not None else self.default_buffer_spec) |
| 237 | |