code: def _test_extremely_large_data(device):
      in_size = 30000
      out_size = 10
      channels = 3
  
      def get_data():
          out = np.full(
              [in_size, in_size, channels], 42, dtype=np.uint8
          )
          for c in range(channels):
              out[in_size - 1, in_size - 1, c] = c
          return [out]
  
      pipe = Pipeline(1, 3, 0, prefetch_queue_depth=1)
      input = fn.external_source(source=get_data, device=device)
  
      rotated = fn.warp_affine(
          input,
          matrix=[-1, 0, in_size, 0, -1, in_size],
          fill_value=255.0,
          size=[out_size, out_size],
          interp_type=types.INTERP_NN,
      )
      pipe.set_outputs(rotated)
      pipe.build()
  
      out = None
      try:
          (out,) = pipe.run()
      except RuntimeError as e:
          if "bad_alloc" in str(e):
              print("Skipping test due to out-of-memory error:", e)
              return
          raise
      except MemoryError as e:
          print("Skipping test due to out-of-memory error:", e)
          return
      if device == "cpu":
          out = out.at(0)
      else:
          out = out.as_cpu().at(0)
      assert out.shape == (out_size, out_size, channels)
      for c in range(channels):
          assert out[0, 0, c] == c
  
imports: import nose_utils
  from nvidia.dali.pipeline import Pipeline
  import nvidia.dali.ops
  import nvidia.dali.fn
  import nvidia.dali.types
  import numpy
  import math
  import os
  import cv2
  from sequences_test_utils import video_suite_helper, SampleDesc, ArgCb
  from test_utils import compare_pipelines
  import random
label_desc: Use image node_id 8 for calling a global function with example usage: _test_extremely_large_data(device) and returns: list