mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-09-22 15:33:47 +08:00
eefc084302
version: sunnypilot v2025.003.000 (dev) date: 2025-12-18T05:48:43 master commit: 16c052af0835f049a67b80251d8cc1114fc08bb4
12 lines
559 B
Python
12 lines
559 B
Python
import numpy as np
|
|
from tinygrad.helpers import flat_mv
|
|
from tinygrad.device import Compiled, Allocator
|
|
|
|
class NpyAllocator(Allocator['NpyDevice']):
|
|
def _alloc(self, size:int, options=None) -> np.ndarray: return np.empty(size, dtype=np.uint8)
|
|
def _as_buffer(self, src:np.ndarray) -> memoryview: return flat_mv(np.require(src, requirements='C').data)
|
|
def _copyout(self, dest:memoryview, src:np.ndarray): dest[:] = self._as_buffer(src)
|
|
|
|
class NpyDevice(Compiled):
|
|
def __init__(self, device:str): super().__init__(device, NpyAllocator(self), None, None)
|