[Apache TVM Discuss] [Development/pre-RFC] [RFC] Better tvm logger in C++ side

2021-12-19 Thread Junru Shao via Apache TVM Discuss
Another idea @zxybazh and I have been discussing is the possibility to unify Python and CXX logging system via packed functions, i.e. the CXX logging system could potentially call back to python's logging module --- [Visit Topic](https://discuss.tvm.apache.org/t/rfc-better-tvm-logger-in-c

[Apache TVM Discuss] [Development/pre-RFC] [RFC] Better tvm logger in C++ side

2021-12-19 Thread Cody H. Yu via Apache TVM Discuss
I like this proposal a lot. Here are my two cents in terms of use cases. In the C++ side, PyTorch has two logging systems: - `LOG(LEVEL)`: This is what we familiar with, including DEBUG, INFO, WARNING, and FATAL. - `VLOG(INT_LEVEL)`: This is only for debugging, `INT_LEVEL` could range from 0 t

[Apache TVM Discuss] [Development/pre-RFC] [RFC] Better tvm logger in C++ side

2021-12-19 Thread Junru Shao via Apache TVM Discuss
This is definitely extremely important! I would love to further discuss with you on the environment variables used here. Do you think it’s possible to unify DMLC_ and TVM_ environment variables? Is it possible to minimize the number of env variables to use? Is there any precedent we could refe

[Apache TVM Discuss] [Development/pre-RFC] [RFC] Better tvm logger in C++ side

2021-12-19 Thread Leandro Nunes (Arm) via Apache TVM Discuss
I think this is a great initiative @pzq. The only suggestion I'd put on top of it, is that we also can make the Python side to - generally - respect the same rules, environment variables, etc. Just to keep in mind that we can offer a better experience for our users if these rules apply more wi

[Apache TVM Discuss] [Development/pre-RFC] [RFC] Better tvm logger in C++ side

2021-12-19 Thread Pzq via Apache TVM Discuss
For now, tvm uses the dmlc log in `dmlc-core` by default, which lacks good log level management. Below is some underperformance in tvm. 1. `LOG(INFO)` shares the same severity with `LOG(WARNING)` and `LOG(ERROR)`, 2. `LOG(DEBUG)` does not exist. Instead, tvm contains a macro `TVM_LOG_DEBUG` an