text: import tvm
  import tvm.testing
  import numpy as np
  from tvm import relay
  
  
  def test_compile_engine():
      engine = relay.backend.compile_engine.get()
      def get_func(shape):
          x = relay.var("x", shape=shape)
          y = relay.add(x, x)
          z = relay.add(y, x)
          f = relay.ir_pass.infer_type(relay.Function([x], z))
          return f
      z1 = engine.lower(get_func((10,)), "llvm")
      z2 = engine.lower(get_func((10,)), "llvm")
      z3 = engine.lower(get_func(()), "llvm")
      assert z1.same_as(z2)
      assert not z3.same_as(z1)
      if tvm.context("cuda").exist:
          z4 = engine.lower(get_func(()), "cuda")
          assert not z3.same_as(z4)
  
      # Test JIT target
      for target in ["llvm"]:
          ctx = tvm.context(target)
          if ctx.exist:
              f = engine.jit(get_func((10,)), target)
              x = tvm.nd.array(np.ones(10).astype("float32"), ctx=ctx)
              y = tvm.nd.empty((10,), ctx=ctx)
              f(x, y)
              tvm.testing.assert_allclose(
                  y.asnumpy(), x.asnumpy() * 3)
      engine.dump()
  
  
  if __name__ == "__main__":
      test_compile_engine()
  