class_docstr: Async software pipeline test class.
docstr: Async software pipeline test.
code: def test_async_software_pipeline(
      self,
      hexagon_launcher,
      comp_type,
      data,
      reference,
      schedule,
      verify,
  ):
      """Async software pipeline test."""
      out_np = data[0]
      a_np = data[1]
      if comp_type == "single_input":
          ref = reference(a_np)
      else:
          b_np = data[2]
          ref = reference(a_np, b_np)
  
      with tvm.transform.PassContext(
          config={
              "tir.use_async_copy": 1,
              "tir.experimental_dma_bypass_cache": 1,
          }
      ):
          # tvm.lower(schedule.mod["main"]).show()
          func = tvm.build(
              schedule.mod["main"], target=get_hexagon_target("v68")
          )
  
      with hexagon_launcher.create_session() as hexagon_session:
          dev = hexagon_session.device
          mod = hexagon_session.load_module(func)
          out = tvm.nd.array(out_np, device=dev)
          a = tvm.nd.array(a_np, device=dev)
          if comp_type == "single_input":
              mod(a, out)
          else:
              b = tvm.nd.array(b_np, device=dev)
              mod(a, b, out)
  
          verify(out, ref)
  
file_path: tvm/tests/python/contrib/test_hexagon/test_software_pipeline_async.py
imports: import numpy
  import tvm
  from tvm import tir
  from tvm.script import tir
  from .infrastructure import get_hexagon_target
label_desc: Use image node_id 5 for calling the TestAsyncSoftwarePipeline obj's underlying member method code with example usage: obj.test_async_software_pipeline(hexagon_launcher, comp_type, data, reference, schedule, verify) without return types