Dear community,

I'm currently trying to **reduce overall Auto-TVM runtimes** by selectively 
tuning only the kernels that are actual hotspots in the application. 

**Hotspot detection** can be performed fairly easily, e.g. by using the **debug 
runtime** which gives a detailed callgraph profile when executing run().

My question is **how to match** these identified operations to the AutoTVM 
selected kernels. 

On the one hand, the profile information looks like [this 
example](https://docs.tvm.ai/dev/debugger.html) shows.  A prioritized list of 
nodes mostly identified by their LLVM IR name.

On the other hand, when selecting the tasks to be tuned ``` kernels 
=autotvm.task.extract_from_program(ir["main"], target=target, params=params, 
ops=None)``` gives you a list of 
[Task](https://docs.tvm.ai/api/python/autotvm.html#tvm.autotvm.task.task.Task) 
objects, e.g.:

```
Task(func_name=dense_nopack.x86, args=(('TENSOR', (1, 16), 'float32'), 
('TENSOR', (64, 16), 'float32'), None, 'float32'), kwargs={}, 
workload=('dense_nopack.x86', ('TENSOR', (1, 16), 'float32'), ('TENSOR', (64, 
16), 'float32'), None, 'float32'))
```

My question refers to how to match such Tasks to their IR counterparts? 

Any help, ideas, suggestions are much appreciated!
Thank you & Best regards





---
[Visit 
Topic](https://discuss.tvm.ai/t/autotvm-selective-tuning-of-hotspots/6083/1) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/b3ab2b4aee2549639b76b097f07b59596f5d6f8492a15dcdfdb721d70a74f9df).

Reply via email to