IntelPython/scikit-learn_bench

Make use of "--device(s)" for XGBoost

Alexsandruss opened this issue · 3 comments

CPU and GPU configs for XGBoost have only few differences: in data-format (pandas vs cudf) and tree-method (hist vs gpu_hist). Dispatching for them with --devices(s) argument will simplify configs.

SKL_Bench_Team1 working on this issue

Hi, we found that xgb_cpu_main_config.json and xgb_gpu_main_config.json not only have differences between data-format and tree-method, but also have differences in some cases as the screenshot shows:
MicrosoftTeams-image (3)
We are considering to combine CPU and GPU config files into a single file, we can use --device to handle the differences between data-format and tree-method, as for other differences, we think it can use nested dictionaries, for example, "enable-experimental-json-serialization": {"cpu": "False", "gpu": "True"}, but in this case, we need to add some code when parsing these parameters, do you think this is a good way to fix this issue? because we want to simplify configs and also keep the flexibility.

Device support for XGBoost is integrated in refactoring(#133), so this issue will become solved in future