code: def test_split_images_col_gpu():
      blocks = [32, 32, 1]
      threads_per_block = [32, 8, 1]
      pipe = numba_func_split_image_pipe(
          batch_size=8,
          num_threads=1,
          device_id=0,
          run_fn=split_images_col_sample_gpu,
          setup_fn=setup_split_images_col,
          out_types=[dali_types.UINT8 for i in range(3)],
          in_types=[dali_types.UINT8],
          outs_ndim=[2, 2, 2],
          ins_ndim=[3],
          device="gpu",
          blocks=blocks,
          threads_per_block=threads_per_block,
      )
      pipe.build()
      for _ in range(3):
          images_in, R, G, B = pipe.run()
          for i in range(len(images_in)):
              assert np.array_equal(
                  to_array(images_in[i]),
                  np.stack(
                      [to_array(R[i]), to_array(G[i]), to_array(B[i])],
                      axis=2,
                  ),
              )
  
imports: import numpy
  import os
  from nvidia.dali import pipeline_def
  import nvidia.dali
  import nvidia.dali.fn
  import nvidia.dali.types
  from nose import with_setup
  from test_utils import get_dali_extra_path, to_array, check_numba_compatibility_cpu, check_numba_compatibility_gpu
  from nvidia.dali.plugin.numba.fn.experimental import numba_function
  from numba import cuda
label_desc: Use image node_id 36 for calling a global function with example usage: test_split_images_col_gpu() without return types