code: def compute_gpu(self, test_gpu_tensor, test_host_tensor, axis):
      M = self.get_gpu_tensor()
      f = theano.function(
          [M],
          [T.max(M, axis=axis), T.argmax(M, axis=axis)],
          name="shape:"
          + str(test_gpu_tensor.shape)
          + "/axis:"
          + str(axis)
          + "/GPU",
          mode=mode_with_gpu,
      )
      check_if_gpu_reduce_in_graph(f)
      f(test_gpu_tensor)
      theano_max, theano_argmax = f(test_gpu_tensor)
      ref_max, ref_argmax = numpy_maxandargmax(
          test_host_tensor, axis=axis
      )
      utt.assert_allclose(ref_max, theano_max)
      utt.assert_allclose(ref_argmax, theano_argmax)
  
imports: from __future__ import print_function, absolute_import, division
  from unittest import TestCase
  import numpy
  import theano
  import theano.tensor
  from theano.tests import unittest_tools
  from theano.tests.unittest_tools import SkipTest
  from .config import mode_with_gpu, mode_without_gpu
  from .test_basic_ops import rand_gpuarray
  from ..None import GpuArrayType
  from ..reduction import GpuMaxAndArgmax
  from ..dnn import GpuDnnReduction
  import math
label_desc: Use image node_id 8 for calling the BaseTest obj's underlying member method code with example usage: obj.compute_gpu(test_gpu_tensor, test_host_tensor, axis) without return types