code: def test_gpu_stump_self_join_KNN(T_A, T_B):
      m = 3
      zone = int(np.ceil(m / 4))
      for k in range(2, 4):
          ref_mp = naive.stump(
              T_B, m, exclusion_zone=zone, row_wise=True, k=k
          )
          comp_mp = gpu_stump(T_B, m, ignore_trivial=True, k=k)
          naive.replace_inf(ref_mp)
          naive.replace_inf(comp_mp)
          npt.assert_almost_equal(ref_mp, comp_mp)
  
          comp_mp = gpu_stump(
              pd.Series(T_B), m, ignore_trivial=True, k=k
          )
          naive.replace_inf(comp_mp)
          npt.assert_almost_equal(ref_mp, comp_mp)
  
imports: import functools
  from unittest.mock import patch
  import numpy
  import numpy.testing
  import pandas
  from numba import cuda
  from stumpy import config, gpu_stump
  import naive
  import pytest
label_desc: Use image node_id 15 for calling a global function with example usage: test_gpu_stump_self_join_KNN(T_A, T_B) without return types