microsoft / BitBLAS

BitBLAS is a library to support mixed-precision matrix multiplications, especially for quantized LLM deployment.
MIT License
361 stars 29 forks source link

[BUG] TVM PopenPoolExecutor may have some bugs on TL Scripts #211

Open LeiWang1999 opened 1 day ago

LeiWang1999 commented 1 day ago

When using PopenPoolExecutor for parallel lowering in TLScript, an unexpected bug occurs. An IRModule that can be successfully lowered outside of PopenPoolExecutor fails to lower after being passed through PopenPoolExecutor. The issue seems to be related to serialization and deserialization in PopenPoolExecutor.

This problem occurs even though the script itself appears correct, and using the same IRModule outside of PopenPoolExecutor works as expected. The executor in use is tvm’s custom implementation of PopenPoolExecutor.

### Tasks
- [ ] Implement Parser and Printer for T.layout
- [ ] Implement Test case with PopenPoolExecutor
LeiWang1999 commented 1 day ago

tvm.contrib.popen_pool.PopenPoolExecutor perfectly works on packing and re-packing TIR/TE Related items. But TL may introduce some extra stuff that breaks the pipeline.

LeiWang1999 commented 1 day ago

Closed, PR #207 has been updated into ThreadPoolExecutor as the workload is not too heavy.

LeiWang1999 commented 17 hours ago

The problem may be due to the missing implementation for the IRPrinter and Parser of T.Layout.