code: def test_example_matmul(self, device):
      try:
          Device[device]
      except Exception:
          print(f"WARNING: {device} test isn't running")
          return
  
      x = Tensor.eye(64, device=device, requires_grad=True)
      y = Tensor.eye(64, device=device, requires_grad=True)
      z = y.matmul(x).sum()
      z.backward()
  
      x.grad.numpy()  # dz/dx
      y.grad.numpy()  # dz/dy
  
      assert x.grad.device == device
      assert y.grad.device == device
  
file_path: tinygrad/test/external/external_test_example.py
imports: import unittest
  from tinygrad import Device
  from tinygrad.tensor import Tensor
  from tinygrad.helpers import getenv, CI
label_desc: Use image node_id 4 for calling the TestExample obj's underlying member method code with example usage: obj.test_example_matmul(device) without return types