code: def test_multi_device(self, xp):
      @cupy.fuse()
      def f(x, y):
          return x + y * 2
  
      with cupy.cuda.Device(0):
          x1 = testing.shaped_random((3, 3), xp, xp.int64, seed=0)
          y1 = testing.shaped_random((3, 3), xp, xp.int64, seed=1)
          out1 = f(x1, y1)
  
      with cupy.cuda.Device(1):
          x2 = testing.shaped_random((3, 3), xp, xp.int64, seed=2)
          y2 = testing.shaped_random((3, 3), xp, xp.int64, seed=3)
          out2 = f(x2, y2)
  
      return out1, out2
  
imports: import threading
  import unittest
  from unittest import mock
  import pytest
  import cupy
  from cupy import testing
  from cupy_tests.core_tests.fusion_tests import fusion_utils
label_desc: Use image node_id 1 for calling the TestFusionMultiDevice obj's underlying member method code with example usage: obj.test_multi_device(xp) and returns: out1,  out2, unknown