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:

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