Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CUDA] Fix row-wise histogram construction with dense data matrix #5103

Merged
merged 2 commits into from
Mar 30, 2022

Conversation

shiyu1994
Copy link
Collaborator

Currently row-wise histogram construction cannot run successfully with dense data matrix. The check row_ptr_bit_type should be skipped here for dense data matrix,

if (cuda_row_data_->row_ptr_bit_type() == 16) {
LaunchConstructHistogramKernelInner1<HIST_TYPE, SHARED_HIST_SIZE, BIN_TYPE, uint16_t>(cuda_smaller_leaf_splits, num_data_in_smaller_leaf);
} else if (cuda_row_data_->row_ptr_bit_type() == 32) {
LaunchConstructHistogramKernelInner1<HIST_TYPE, SHARED_HIST_SIZE, BIN_TYPE, uint32_t>(cuda_smaller_leaf_splits, num_data_in_smaller_leaf);
} else if (cuda_row_data_->row_ptr_bit_type() == 64) {
LaunchConstructHistogramKernelInner1<HIST_TYPE, SHARED_HIST_SIZE, BIN_TYPE, uint64_t>(cuda_smaller_leaf_splits, num_data_in_smaller_leaf);
} else {
Log::Fatal("Unknown row_ptr_bit_type = %d", cuda_row_data_->row_ptr_bit_type());
}

In addition, we disable the use of multi-value feature group in cuda_exp for now in this PR. Because we don't have an implementation of sparse bin currently, thus using multi-value feature group can be too costly for GPU memory. We force the feature groups to be single-value.

@shiyu1994 shiyu1994 merged commit 417c732 into microsoft:master Mar 30, 2022
@jameslamb
Copy link
Collaborator

Thanks for this fix! Two things:

  1. Why was this change so urgent that it needed to be merged with admin powers, even when one CI job was failing? (build link)
  2. In the future, can you please try to ensure that "fix" type PRs are accompanied by tests that would prevent the issue from being re-introduced in the future?

@StrikerRUS StrikerRUS added the fix label Mar 30, 2022
@jameslamb jameslamb mentioned this pull request Oct 7, 2022
40 tasks
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity since it was closed. To start a new related discussion, open a new issue at https://github.com/microsoft/LightGBM/issues including a reference to this.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants