diff --git a/tinygrad/runtime/ops_amd.py b/tinygrad/runtime/ops_amd.py index c837daa54f..2375582163 100644 --- a/tinygrad/runtime/ops_amd.py +++ b/tinygrad/runtime/ops_amd.py @@ -305,7 +305,7 @@ class AMDComputeQueue(HWQueue): def bind(self, dev:AMDDevice): self.binded_device = dev self.hw_page = dev.allocator.alloc(len(self._q) * 4, BufferSpec(cpu_access=True, nolru=True, uncached=True)) - hw_view = MMIOInterface(self.hw_page.va_addr, self.hw_page.size, fmt='I') + hw_view = self.hw_page.cpu_view().view(fmt='I') for i, value in enumerate(self._q): hw_view[i] = value self.indirect_cmd = [self.pm4.PACKET3(self.pm4.PACKET3_INDIRECT_BUFFER, 2), *data64_le(self.hw_page.va_addr), @@ -376,7 +376,7 @@ class AMDCopyQueue(HWQueue): self.binded_device = dev self.hw_page = dev.allocator.alloc((qsz:=round_up(len(self._q), 8)) * 4, BufferSpec(cpu_access=True, nolru=True, uncached=True)) - hw_view = MMIOInterface(self.hw_page.va_addr, self.hw_page.size, fmt='I') + hw_view = self.hw_page.cpu_view().view(fmt='I') for i in range(qsz): hw_view[i] = self._q[i] if i < len(self._q) else 0 self.indirect_cmd = [self.sdma.SDMA_OP_INDIRECT | self.sdma.SDMA_PKT_INDIRECT_HEADER_VMID(0), *data64_le(self.hw_page.va_addr), qsz, diff --git a/tinygrad/runtime/ops_nv.py b/tinygrad/runtime/ops_nv.py index 88c8f0f02c..6a9987ec49 100644 --- a/tinygrad/runtime/ops_nv.py +++ b/tinygrad/runtime/ops_nv.py @@ -104,7 +104,7 @@ class NVCommandQueue(HWQueue[NVSignal, 'NVDevice', 'NVProgram', 'NVArgsState']): def bind(self, dev:NVDevice): self.binded_device = dev self.hw_page = dev.allocator.alloc(len(self._q) * 4, BufferSpec(cpu_access=True, nolru=True)) - hw_view = MMIOInterface(self.hw_page.va_addr, self.hw_page.size, fmt='I') + hw_view = self.hw_page.cpu_view().view(fmt='I') for i, value in enumerate(self._q): hw_view[i] = value # From now on, the queue is on the device for faster submission.