[CUDA] Add L1 regression objective for cuda_exp#5457
Conversation
update log in test_register_logger
…oft/LightGBM into cuda/objective-regression
| SynchronizeCUDADevice(__FILE__, __LINE__); | ||
| } | ||
|
|
||
| template <> |
There was a problem hiding this comment.
This is for template instantiation.
| label_t* cuda_trans_label_; | ||
| double* cuda_block_buffer_; | ||
| CUDAVector<label_t> cuda_trans_label_; | ||
| CUDAVector<double> cuda_block_buffer_; |
There was a problem hiding this comment.
cuda_labels_ and cuda_weights_ is label_t* type, why these two are CUDAVector?
There was a problem hiding this comment.
cuda_labels_ and cuda_weights_ are just pointers to memory allocated by Metadata class, not allocated by the objective class. So we simply use pointers.
|
|
||
|
|
||
| double CUDARegressionL1loss::LaunchCalcInitScoreKernel() const { | ||
| const double alpha = 0.9f; |
There was a problem hiding this comment.
@shiyu1994 Why did you use 0.9 here while if I'm not mistaken original CPU implementation uses 0.5?
|
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. |
Add L1 regression objective for cuda_exp. This PR also includes implementations of basic CUDA algorithms like quantile calculation and more forms of bitonic sort.