code: def test_local_assert_no_cpu_op():
      rng = np.random.RandomState(utt.fetch_seed())
      m = rng.uniform(-1, 1, (10, 10)).astype("float32")
      ms = gpuarray_shared_constructor(m, name="m_shared")
      out = theano.tensor.tanh(ms).dot(ms.T)
  
      mode_local_assert = mode_with_gpu.including("assert_no_cpu_op")
      mode_local_assert = mode_local_assert.excluding(
          "local_gpua_elemwise"
      )
  
      old = theano.config.assert_no_cpu_op
      old2 = theano.config.on_opt_error
      # If the flag is raise
      try:
          theano.config.assert_no_cpu_op = "raise"
          theano.config.on_opt_error = "ignore"
  
          assert_raises(
              AssertionError,
              theano.function,
              [],
              out,
              mode=mode_local_assert,
          )
      finally:
          theano.config.assert_no_cpu_op = old
          theano.config.on_opt_error = old2
  
      # If the flag is ignore
      try:
          theano.config.assert_no_cpu_op = "ignore"
          f = theano.function([], out, mode=mode_local_assert)
          assert _check_stack_trace(f)
      finally:
          theano.config.assert_no_cpu_op = old
  
imports: from __future__ import absolute_import, print_function, division
  from nose.tools import assert_raises
  import numpy
  import theano
  from theano import tensor
  import theano.tensor.slinalg
  from theano.tests.breakpoint import PdbBreakpoint
  from theano.tests import unittest_tools, test_ifelse
  from theano.tensor.tests import test_basic
  from theano.gof.opt import check_stack_trace
  import theano.gpuarray
  from ..None import basic_ops
  from ..type import GpuArrayType, gpuarray_shared_constructor, get_context
  from ..basic_ops import GpuAlloc, GpuAllocEmpty, GpuReshape, GpuFromHost, HostFromGpu, host_from_gpu
  from ..blas import GpuGemm
  from ..elemwise import GpuCAReduceCuda, GpuCAReduceCPY, GpuElemwise, Elemwise, max_inputs_to_GpuElemwise
  from ..dnn import GpuDnnReduction
  from ..subtensor import GpuSubtensor
  from ..linalg import GpuCusolverSolve, cusolver_available, GpuCholesky
  from .config import mode_with_gpu, mode_without_gpu, test_ctx_name, SkipTest
  import unittest
  from theano.tensor.nnet import abstract_conv
  from theano.gpuarray import dnn, blas, opt
label_desc: Use image node_id 20 for calling a global function with example usage: test_local_assert_no_cpu_op() without return types