1. 22 Sep, 2025 1 commit
    • Jeff Daily's avatar
      [ROCm] re-add support for ROCm builds · 61ec4f1a
      Jeff Daily authored
      Previously #6086 added ROCm support but after numerous rebases it lost
      critical changes. This PR restores the ROCm build.
      
      There are many source file changes but most were automated using the
      following:
      
      ```bash
      for f in `grep -rl '#ifdef USE_CUDA'`
      do
          sed -i 's@#ifdef USE_CUDA@#if defined(USE_CUDA) || defined(USE_ROCM)@g' $f
      done
      
      for f in `grep -rl '#endif  // USE_CUDA'`
      do
          sed -i 's@#endif  // USE_CUDA@#endif  // USE_CUDA || USE_ROCM@g' $f
      done
      ```
      61ec4f1a
  2. 24 Aug, 2025 1 commit
  3. 04 Aug, 2025 1 commit
  4. 17 Apr, 2025 1 commit
  5. 05 Dec, 2024 1 commit
  6. 01 Dec, 2024 1 commit
  7. 25 Oct, 2024 1 commit
  8. 18 Oct, 2024 1 commit
  9. 13 Oct, 2024 1 commit
  10. 02 Oct, 2024 1 commit
  11. 31 Jul, 2024 1 commit
  12. 12 Jul, 2024 2 commits
  13. 10 Jul, 2024 1 commit
  14. 05 Jul, 2024 1 commit
  15. 17 Jun, 2024 1 commit
  16. 05 Jun, 2024 1 commit
  17. 01 May, 2024 1 commit
  18. 23 Feb, 2024 1 commit
    • shiyu1994's avatar
      [c++][fix] Support Quantized Training with Categorical Features on CPU (#6301) · 776c5c3c
      shiyu1994 authored
      * support quantized training with categorical features on cpu
      
      * remove white spaces
      
      * add tests for quantized training with categorical features
      
      * skip tests for cuda version
      
      * fix cases when only 1 data block in row-wise quantized histogram construction with 8 inner bits
      
      * remove useless capture
      
      * fix compilation warnings
      
      revert useless changes
      
      * revert useless change
      
      * separate functions in feature histogram into cpp file
      
      * add feature_histogram.o in Makevars
      776c5c3c
  19. 20 Feb, 2024 1 commit
  20. 04 Dec, 2023 1 commit
  21. 22 Nov, 2023 1 commit
  22. 13 Nov, 2023 1 commit
  23. 07 Nov, 2023 1 commit
  24. 10 Oct, 2023 1 commit
  25. 08 Oct, 2023 1 commit
    • shiyu1994's avatar
      [CUDA] CUDA Quantized Training (fixes #5606) (#5933) · f901f471
      shiyu1994 authored
      * add quantized training (first stage)
      
      * add histogram construction functions for integer gradients
      
      * add stochastic rounding
      
      * update docs
      
      * fix compilation errors by adding template instantiations
      
      * update files for compilation
      
      * fix compilation of gpu version
      
      * initialize gradient discretizer before share states
      
      * add a test case for quantized training
      
      * add quantized training for data distributed training
      
      * Delete origin.pred
      
      * Delete ifelse.pred
      
      * Delete LightGBM_model.txt
      
      * remove useless changes
      
      * fix lint error
      
      * remove debug loggings
      
      * fix mismatch of vector and allocator types
      
      * remove changes in main.cpp
      
      * fix bugs with uninitialized gradient discretizer
      
      * initialize ordered gradients in gradient discretizer
      
      * disable quantized training with gpu and cuda
      
      fix msvc compilation errors and warnings
      
      * fix bug in data parallel tree learner
      
      * make quantized training test deterministic
      
      * make quantized training in test case more accurate
      
      * refactor test_quantized_training
      
      * fix leaf splits initialization with quantized training
      
      * check distributed quantized training result
      
      * add cuda gradient discretizer
      
      * add quantized training for CUDA version in tree learner
      
      * remove cuda computability 6.1 and 6.2
      
      * fix parts of gpu quantized training errors and warnings
      
      * fix build-python.sh to install locally built version
      
      * fix memory access bugs
      
      * fix lint errors
      
      * mark cuda quantized training on cuda with categorical features as unsupported
      
      * rename cuda_utils.h to cuda_utils.hu
      
      * enable quantized training with cuda
      
      * fix cuda quantized training with sparse row data
      
      * allow using global memory buffer in histogram construction with cuda quantized training
      
      * recover build-python.sh
      
      enlarge allowed package size to 100M
      f901f471
  26. 13 Sep, 2023 1 commit
  27. 12 Sep, 2023 1 commit
  28. 04 Sep, 2023 1 commit
    • Pavel Metrikov's avatar
      Treat position bias via GAM in LambdaMART (#5929) · 7e34d23c
      Pavel Metrikov authored
      
      
      * Update dataset.h
      
      * Update metadata.cpp
      
      * Update rank_objective.hpp
      
      * Update metadata.cpp
      
      * Update rank_objective.hpp
      
      * Update metadata.cpp
      
      * Update dataset.h
      
      * Update rank_objective.hpp
      
      * Update metadata.cpp
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Add files via upload
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update _rank.train.position
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update _rank.train.position
      
      * Update _rank.train.position
      
      * Update test_engine.py
      
      * Update _rank.train.position
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update the position of import statement
      
      * Update rank_objective.hpp
      
      * Update config.h
      
      * Update config_auto.cpp
      
      * Update rank_objective.hpp
      
      * Update rank_objective.hpp
      
      * update documentation
      
      * remove extra blank line
      
      * Update src/io/metadata.cpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/io/metadata.cpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * remove _rank.train.position
      
      * add position in python API
      
      * fix set_positions in basic.py
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update docs/Advanced-Topics.rst
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update docs/Advanced-Topics.rst
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * Update Advanced-Topics.rst
      
      * remove List from _LGBM_PositionType
      
      * move new position parameter to the last in Dataset constructor
      
      * add position_filename as a parameter
      
      * Update docs/Advanced-Topics.rst
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update docs/Advanced-Topics.rst
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update Advanced-Topics.rst
      
      * Update src/objective/rank_objective.hpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/io/metadata.cpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update metadata.cpp
      
      * Update python-package/lightgbm/basic.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update python-package/lightgbm/basic.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update python-package/lightgbm/basic.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update python-package/lightgbm/basic.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/io/metadata.cpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * more infomrative fatal message
      
      address more comments
      
      * update documentation for more flexible position specification
      
      * fix SetPosition
      
      add tests for get_position and set_position
      
      * remove position_filename
      
      * remove useless changes
      
      * Update python-package/lightgbm/basic.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * remove useless files
      
      * move position file when position set in Dataset
      
      * warn when positions are overwritten
      
      * skip ranking with position test in cuda
      
      * split test case
      
      * remove useless import
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update docs/Advanced-Topics.rst
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update Parameters.rst
      
      * Update rank_objective.hpp
      
      * Update config.h
      
      * update config_auto.cppp
      
      * Update docs/Advanced-Topics.rst
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * fix randomness in test case for gpu
      
      ---------
      Co-authored-by: default avatarshiyu1994 <shiyu_k1994@qq.com>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      7e34d23c
  29. 03 Sep, 2023 1 commit
  30. 13 Aug, 2023 1 commit
  31. 30 Jun, 2023 1 commit
  32. 05 May, 2023 1 commit
    • shiyu1994's avatar
      Add quantized training (CPU part) (#5800) · 17ecfab3
      shiyu1994 authored
      * add quantized training (first stage)
      
      * add histogram construction functions for integer gradients
      
      * add stochastic rounding
      
      * update docs
      
      * fix compilation errors by adding template instantiations
      
      * update files for compilation
      
      * fix compilation of gpu version
      
      * initialize gradient discretizer before share states
      
      * add a test case for quantized training
      
      * add quantized training for data distributed training
      
      * Delete origin.pred
      
      * Delete ifelse.pred
      
      * Delete LightGBM_model.txt
      
      * remove useless changes
      
      * fix lint error
      
      * remove debug loggings
      
      * fix mismatch of vector and allocator types
      
      * remove changes in main.cpp
      
      * fix bugs with uninitialized gradient discretizer
      
      * initialize ordered gradients in gradient discretizer
      
      * disable quantized training with gpu and cuda
      
      fix msvc compilation errors and warnings
      
      * fix bug in data parallel tree learner
      
      * make quantized training test deterministic
      
      * make quantized training in test case more accurate
      
      * refactor test_quantized_training
      
      * fix leaf splits initialization with quantized training
      
      * check distributed quantized training result
      17ecfab3
  33. 29 Mar, 2023 1 commit
  34. 14 Feb, 2023 1 commit
  35. 11 Feb, 2023 1 commit
  36. 01 Feb, 2023 1 commit
    • James Lamb's avatar
      [CUDA] consolidate CUDA versions (#5677) · 4f47547c
      James Lamb authored
      
      
      * [ci] speed up if-else, swig, and lint conda setup
      
      * add 'source activate'
      
      * python constraint
      
      * start removing cuda v1
      
      * comment out CI
      
      * remove more references
      
      * revert some unnecessaary changes
      
      * revert a few more mistakes
      
      * revert another change that ignored params
      
      * sigh
      
      * remove CUDATreeLearner
      
      * fix tests, docs
      
      * fix quoting in setup.py
      
      * restore all CI
      
      * Apply suggestions from code review
      Co-authored-by: default avatarshiyu1994 <shiyu_k1994@qq.com>
      
      * Apply suggestions from code review
      
      * completely remove cuda_exp, update docs
      
      ---------
      Co-authored-by: default avatarshiyu1994 <shiyu_k1994@qq.com>
      4f47547c
  37. 05 Jan, 2023 1 commit
  38. 29 Dec, 2022 1 commit
  39. 28 Dec, 2022 1 commit
    • Yifei Liu's avatar
      Decouple Boosting Types (fixes #3128) (#4827) · fffd066c
      Yifei Liu authored
      
      
      * add parameter data_sample_strategy
      
      * abstract GOSS as a sample strategy(GOSS1), togetherwith origial GOSS (Normal Bagging has not been abstracted, so do NOT use it now)
      
      * abstract Bagging as a subclass (BAGGING), but original Bagging members in GBDT are still kept
      
      * fix some variables
      
      * remove GOSS(as boost) and Bagging logic in GBDT
      
      * rename GOSS1 to GOSS(as sample strategy)
      
      * add warning about use GOSS as boosting_type
      
      * a little ; bug
      
      * remove CHECK when "gradients != nullptr"
      
      * rename DataSampleStrategy to avoid confusion
      
      * remove and add some ccomments, followingconvention
      
      * fix bug about GBDT::ResetConfig (ObjectiveFunction inconsistencty bet…
      
      * add std::ignore to avoid compiler warnings (anpotential fails)
      
      * update Makevars and vcxproj
      
      * handle constant hessian
      
      move resize of gradient vectors out of sample strategy
      
      * mark override for IsHessianChange
      
      * fix lint errors
      
      * rerun parameter_generator.py
      
      * update config_auto.cpp
      
      * delete redundant blank line
      
      * update num_data_ when train_data_ is updated
      
      set gradients and hessians when GOSS
      
      * check bagging_freq is not zero
      
      * reset config_ value
      
      merge ResetBaggingConfig and ResetGOSS
      
      * remove useless check
      
      * add ttests in test_engine.py
      
      * remove whitespace in blank line
      
      * remove arguments verbose_eval and evals_result
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/boosting/sample_strategy.cpp
      
      modify warning about setting goss as `boosting_type`
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      replace load_boston() with make_regression()
      
      remove value checks of mean_squared_error in test_sample_strategy_with_boosting()
      
      * Update tests/python_package_test/test_engine.py
      
      add value checks of mean_squared_error in test_sample_strategy_with_boosting()
      
      * Modify warnning about using goss as boosting type
      
      * Update tests/python_package_test/test_engine.py
      
      add random_state=42 for make_regression()
      
      reduce the threshold of mean_square_error
      
      * Update src/boosting/sample_strategy.cpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * remove goss from boosting types in documentation
      
      * Update src/boosting/bagging.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/boosting/bagging.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/boosting/goss.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/boosting/goss.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * rename GOSS with GOSSStrategy
      
      * update doc
      
      * address comments
      
      * fix table in doc
      
      * Update include/LightGBM/config.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * update documentation
      
      * update test case
      
      * revert useless change in test_engine.py
      
      * add tests for evaluation results in test_sample_strategy_with_boosting
      
      * include <string>
      
      * change to assert_allclose in test_goss_boosting_and_strategy_equivalent
      
      * more tolerance in result checking, due to minor difference in results of gpu versions
      
      * change == to np.testing.assert_allclose
      
      * fix test case
      
      * set gpu_use_dp to true
      
      * change --report to --report-level for rstcheck
      
      * use gpu_use_dp=true in test_goss_boosting_and_strategy_equivalent
      
      * revert unexpected changes of non-ascii characters
      
      * revert unexpected changes of non-ascii characters
      
      * remove useless changes
      
      * allocate gradients_pointer_ and hessians_pointer when necessary
      
      * add spaces
      
      * remove redundant virtual
      
      * include <LightGBM/utils/log.h> for USE_CUDA
      
      * check for  in test_goss_boosting_and_strategy_equivalent
      
      * check for identity in test_sample_strategy_with_boosting
      
      * remove cuda  option in test_sample_strategy_with_boosting
      
      * Update tests/python_package_test/test_engine.py
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update tests/python_package_test/test_engine.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * ResetGradientBuffers after ResetSampleConfig
      
      * ResetGradientBuffers after ResetSampleConfig
      
      * ResetGradientBuffers after bagging
      
      * remove useless code
      
      * check objective_function_ instead of gradients
      
      * enable rf with goss
      
      simplify params in test cases
      
      * remove useless changes
      
      * allow rf with feature subsampling alone
      
      * change position of ResetGradientBuffers
      
      * check for dask
      
      * add parameter types for data_sample_strategy
      Co-authored-by: default avatarGuangda Liu <v-guangdaliu@microsoft.com>
      Co-authored-by: default avatarYu Shi <shiyu_k1994@qq.com>
      Co-authored-by: default avatarGuangdaLiu <90019144+GuangdaLiu@users.noreply.github.com>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      fffd066c