I’m new to TVM, and I’m trying to create a single-threaded schedule for building modules. There’s a simple example of this in tvm/docs/deploy/aocl_fpga.md for vector addition:
s = tvm.create_schedule(C.op)
px, x = s[C].split(C.op.axis[0], nparts=1)
s[C].bind(px, tvm.thread_axis("pipeline"))
Is there a general way of doing this? I haven’t found much documentation on the “pipeline” keyword. I’m having trouble replicating this pattern for other example schedules, like:
topi.generic.schedule_softmax(softmax_topi)
My goal is to generate one of these schedules for one of the pre-trained models imported from Keras, CoreML, MXNet, etc. I’m exploring the recently committed AOCL backend, and sometimes these single-theaded models are handled well by the Intel compiler. Hopefully this question makes sense. Let me know if I can modify the question to clarify anything.