code: def get_shared_array(
      data, strides=None, order="C", stream=0, portable=False, wc=True
  ):
      """Return populated shared memory between GPU and CPU.
  
      Parameters
      ----------
      data : cupy.ndarray or numpy.ndarray
          The array to be copied to shared buffer
      strides: int or None
      order: char
      stream : int
          Stream number (0 for default)
      portable : bool
      wc : bool
      """
  
      shape = data.shape
      dtype = data.dtype
  
      # Allocate mapped, shared memory in Numba
      shared_mem_array = cuda.mapped_array(
          shape,
          dtype=dtype,
          strides=strides,
          order=order,
          stream=stream,
          portable=portable,
          wc=wc,
      )
  
      # Load data into array space
      shared_mem_array[:] = data
  
      return shared_mem_array
  
file_path: cusignal/python/cusignal/utils/arraytools.py
imports: import cupy
  import numpy
  from numba import cuda
label_desc: Use image node_id 1 for calling a global function with example usage: get_shared_array(data, strides, order, stream, portable, wc) and returns: shared_mem_array