Skip to content

Possible bug in feature_parallel_tree_learner.cpp #6888

@celestinoxp

Description

@celestinoxp

Description

I identified a possible bug in LightGBM's feature-parallel mode that directly affects the quality of cuts in distributed scenarios. Specifically, the SyncUpGlobalBestSplit function is receiving the same input buffer twice, instead of also using the output buffer, which prevents proper synchronization of “best splits” across machines and can result in suboptimal models

File: src/treelearner/feature_parallel_tree_learner.cpp
Line 71

SyncUpGlobalBestSplit(
    input_buffer_.data(),
    input_buffer_.data(),  //should be output_buffer_.data()
    &smaller_best_split,
    &larger_best_split,
    this->config_->max_cat_threshold
);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions