1. 13 Nov, 2020 1 commit
    • shiyu1994's avatar
      Optimization of row-wise histogram construction (#3522) · 0655d67c
      shiyu1994 authored
      
      
      * store without offset in multi_val_dense_bin
      
      * fix offset bug
      
      * add comment for offset
      
      * add comment for bin type selection
      
      * faster operations for offset
      
      * keep most freq bin in histogram for multi val dense
      
      * use original feature iterators
      
      * consider 9 cases (3 x 3) for multi val bin construction
      
      * fix dense bin setting
      
      * fix bin data in multi val group
      
      * fix offset of the first feature histogram
      
      * use float hist buf
      
      * avx in histogram construction
      
      * use avx for hist construction without prefetch
      
      * vectorize bin extraction
      
      * use only 128 vec
      
      * use avx2
      
      * use vectorization for sparse row wise
      
      * add bit size for multi val dense bin
      
      * float with no vectorization
      
      * change multithreading strategy to dynamic
      
      * remove intrinsic header
      
      * fix dense multi val col copy
      
      * remove bit size
      
      * use large enough block size when the bin number is large
      
      * calc min block size by sparsity
      
      * rescale gradients
      
      * rollback gradients scaling
      
      * single precision histogram buffer as an option
      
      * add float hist buffer with thread buffer
      
      * fix setting zero in hist data
      
      * fix hist begin pointer in tree learners
      
      * remove debug logs
      
      * remove omp simd
      
      * update Makevars of R-package
      
      * fix feature group binary storing
      
      * two row wise for double hist buffer
      
      * add subfeature for two row wise
      
      * remove useless code and fix two row wise
      
      * refactor code
      
      * grouping the dense feature groups can get sparse multi val bin
      
      * clean format problems
      
      * one thread for two blocks in sep row wise
      
      * use ordered gradients for sep row wise
      
      * fix grad ptr
      
      * ordered grad with combined block for sep row wise
      
      * fix block threading
      
      * use the same min block size
      
      * rollback share min block size
      
      * remove logs
      
      * Update src/io/dataset.cpp
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * fix parameter description
      
      * remove sep_row_wise
      
      * remove check codes
      
      * add check for empty multi val bin
      
      * fix lint error
      
      * rollback changes in config.h
      
      * Apply suggestions from code review
      Co-authored-by: default avatarUbuntu <shiyu@gbdt-04.ren3kv4wanvufliwrpy4k03lsf.xx.internal.cloudapp.net>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      0655d67c
  2. 07 Nov, 2020 1 commit
  3. 01 Nov, 2020 1 commit
  4. 27 Oct, 2020 2 commits
  5. 18 Oct, 2020 1 commit
    • James Lamb's avatar
      [ci] [R-package] Fix memory leaks found by valgrind (#3443) · 81d76113
      James Lamb authored
      
      
      * fix int64 write error
      
      * attempt
      
      * [WIP] [ci] [R-package] Add CI job that runs valgrind tests
      
      * update all-successful
      
      * install
      
      * executable
      
      * fix redirect stuff
      
      * Apply suggestions from code review
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * more flags
      
      * add mc to msvc proj
      
      * fix memory leak in mc
      
      * Update monotone_constraints.hpp
      
      * Update r_package.yml
      
      * remove R_INT64_PTR
      
      * disable openmp
      
      * Update gbdt_model_text.cpp
      
      * Update gbdt_model_text.cpp
      
      * Apply suggestions from code review
      
      * try to free vector
      
      * free more memories.
      
      * Update src/boosting/gbdt_model_text.cpp
      
      * fix using
      
      * try the UNPROTECT(1);
      
      * fix a const pointer
      
      * fix Common
      
      * reduce UNPROTECT
      
      * remove UNPROTECT(1);
      
      * fix null handle
      
      * fix predictor
      
      * use NULL after free
      
      * fix a leaking in test
      
      * try more fixes
      
      * test the effect of tests
      
      * throw exception in Fatal
      
      * add test back
      
      * Apply suggestions from code review
      
      * commet some tests
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      * trying to comment out tests
      
      * Update openmp_wrapper.h
      
      * Apply suggestions from code review
      
      * Update configure
      
      * Update configure.ac
      
      * trying to uncomment
      
      * more comments
      
      * more uncommenting
      
      * more uncommenting
      
      * fix comment
      
      * more uncommenting
      
      * uncomment fully-commented out stuff
      
      * try uncommenting more dataset tests
      
      * uncommenting more tests
      
      * ok getting closer
      
      * more uncommenting
      
      * free dataset
      
      * skipping a test, more uncommenting
      
      * more skipping
      
      * re-enable OpenMP
      
      * allow on OpenMP thing
      
      * move valgrind to comment-only job
      
      * Apply suggestions from code review
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * changes from code review
      
      * Apply suggestions from code review
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * linting
      
      * issue comments too
      
      * remove issue_comment
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      81d76113
  6. 30 Sep, 2020 1 commit
    • Guolin Ke's avatar
      stable multi-threading sum reduction (#3385) · 692c9a5b
      Guolin Ke authored
      * Update serial_tree_learner.cpp
      
      * Update src/treelearner/serial_tree_learner.cpp
      
      * stable multi-threading reduction
      
      * Update src/treelearner/serial_tree_learner.cpp
      
      * more fixes
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      * Update src/boosting/gbdt.cpp
      692c9a5b
  7. 29 Sep, 2020 1 commit
    • Guolin Ke's avatar
      fix warnings (#3399) · 3c0e12dc
      Guolin Ke authored
      * fix warnings
      
      * Apply suggestions from code review
      
      * Update feature_group.h
      
      * Update feature_group.h
      
      * Update src/treelearner/serial_tree_learner.cpp
      
      * Update multiclass_metric.hpp
      3c0e12dc
  8. 23 Sep, 2020 1 commit
  9. 21 Sep, 2020 1 commit
  10. 20 Sep, 2020 2 commits
    • Chip Kerchner's avatar
      [GPU] Add support for CUDA-based GPU build (#3160) · f7ad9457
      Chip Kerchner authored
      
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * Initial CUDA work
      
      * redirect log to python console (#3090)
      
      * redir log to python console
      
      * fix pylint
      
      * Apply suggestions from code review
      
      * Update basic.py
      
      * Apply suggestions from code review
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update c_api.h
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      * super-minor: better wording
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avatarStrikerRUS <nekit94-12@hotmail.com>
      
      * re-order includes (fixes #3132) (#3133)
      
      * Revert "re-order includes (fixes #3132) (#3133)" (#3153)
      
      This reverts commit 656d2676
      
      .
      
      * Missing change from previous rebase
      
      * Minor cleanup and removal of development scripts.
      
      * Only set gpu_use_dp on by default for CUDA. Other minor change.
      
      * Fix python lint indentation problem.
      
      * More python lint issues.
      
      * Big lint cleanup - more to come.
      
      * Another large lint cleanup - more to come.
      
      * Even more lint cleanup.
      
      * Minor cleanup so less differences in code.
      
      * Revert is_use_subset changes
      
      * Another rebase from master to fix recent conflicts.
      
      * More lint.
      
      * Simple code cleanup - add & remove blank lines, revert unneccessary format changes, remove added dead code.
      
      * Removed parameters added for CUDA and various bug fix.
      
      * Yet more lint and unneccessary changes.
      
      * Revert another change.
      
      * Removal of unneccessary code.
      
      * temporary appveyor.yml for building and testing
      
      * Remove return value in ReSize
      
      * Removal of unused variables.
      
      * Code cleanup from reviewers suggestions.
      
      * Removal of FIXME comments and unused defines.
      
      * More reviewers comments cleanup.
      
      * More reviewers comments cleanup.
      
      * More reviewers comments cleanup.
      
      * Fix config variables.
      
      * Attempt to fix check-docs failure
      
      * Update Paramster.rst for num_gpu
      
      * Removing test appveyor.yml
      
      * Add ƒCUDA_RESOLVE_DEVICE_SYMBOLS to libraries to fix linking issue.
      
      * Fixed handling of data elements less than 2K.
      
      * More reviewers comments cleanup.
      
      * Removal of TODO and fix printing of int64_t
      
      * Add cuda change for CI testing and remove cuda from device_type in python.
      
      * Missed one change form previous check-in
      
      * Removal AdditionConfig and fix settings.
      
      * Limit number of GPUs to one for now in CUDA.
      
      * Update Parameters.rst for previous check-in
      
      * Whitespace removal.
      
      * Cleanup unused code.
      
      * Changed uint/ushort/ulong to unsigned int/short/long to help Windows based CUDA compiler work.
      
      * Lint change from previous check-in.
      
      * Changes based on reviewers comments.
      
      * More reviewer comment changes.
      
      * Adding warning for is_sparse. Revert tmp_subset code. Only return FeatureGroupData if not is_multi_val_
      
      * Fix so that CUDA code will compile even if you enable the SCORE_T_USE_DOUBLE define.
      
      * Reviewer comment cleanup.
      
      * Replace warning with Log message. Removal of some of the USE_CUDA. Fix typo and removal of pragma once.
      
      * Remove PRINT debug for CUDA code.
      
      * Allow to use of multiple GPUs for CUDA.
      
      * More multi-GPUs enablement for CUDA.
      
      * More code cleanup based on reviews comments.
      
      * Update docs with latest config changes.
      Co-authored-by: default avatarGordon Fossum <fossum@us.ibm.com>
      Co-authored-by: default avatarChipKerchner <ckerchne@linux.vnet.ibm.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avatarStrikerRUS <nekit94-12@hotmail.com>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      f7ad9457
    • Guolin Ke's avatar
      improve subfeature_bynode (#3384) · 1fddabb5
      Guolin Ke authored
      * Update serial_tree_learner.cpp
      
      * Update src/treelearner/serial_tree_learner.cpp
      
      * Update src/treelearner/serial_tree_learner.cpp
      1fddabb5
  11. 15 Aug, 2020 1 commit
    • Guolin Ke's avatar
      fix zero bin in categorical split (#3305) · 03910760
      Guolin Ke authored
      * fix zero bin
      
      * some fix
      
      * fix bin mapping
      
      * fix
      
      * fix bug
      
      * use stable sort
      
      * fix cat forced split
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      03910760
  12. 25 Jul, 2020 1 commit
  13. 20 Jul, 2020 1 commit
  14. 02 Jul, 2020 1 commit
  15. 01 Jul, 2020 1 commit
  16. 28 Jun, 2020 1 commit
  17. 23 Jun, 2020 1 commit
    • Belinda Trotta's avatar
      Interaction constraints (#3126) · bca2da97
      Belinda Trotta authored
      * Add interaction constraints functionality.
      
      * Minor fixes.
      
      * Minor fixes.
      
      * Change lambda to function.
      
      * Fix gpu bug, remove extra blank lines.
      
      * Fix gpu bug.
      
      * Fix style issues.
      
      * Try to fix segfault on MACOS.
      
      * Fix bug.
      
      * Fix bug.
      
      * Fix bugs.
      
      * Change parameter format for R.
      
      * Fix R style issues.
      
      * Change string formatting code.
      
      * Change docs to say R package not supported.
      
      * Remove R functionality, moving to separate PR.
      
      * Keep track of branch features in tree object.
      
      * Only track branch features when feature interactions are enabled.
      
      * Fix lint error.
      
      * Update docs and simplify tests.
      bca2da97
  18. 05 Jun, 2020 1 commit
  19. 01 Jun, 2020 1 commit
  20. 26 May, 2020 1 commit
  21. 17 May, 2020 1 commit
  22. 03 May, 2020 1 commit
    • Belinda Trotta's avatar
      Path smoothing (#2950) · e50a9151
      Belinda Trotta authored
      * Path smoothing
      
      * Try to fix issue with gpu version.
      
      * Fix failing CI for R package.
      
      * Minor fixes.
      
      * Minor refactor.
      
      * Restore old code to get CI working.
      
      * Fix style issues.
      
      * Fix ci for R package.
      
      * Minor fixes for docs and code style.
      
      * Update docs.
      e50a9151
  23. 09 Apr, 2020 1 commit
    • CharlesAuguste's avatar
      Pr3 monotone constraints splits penalization (#2939) · 505a145f
      CharlesAuguste authored
      
      
      * Add the monotone penalty parameter to the config.
      
      * Pass tree in the necessary functions so it can be used in ComputeBestSplitForFeature.
      
      * Add monotone penalty.
      
      * Added link to the original report.
      
      * Add tests.
      
      * Fix GPU.
      
      * Revert "Pass tree in the necessary functions so it can be used in ComputeBestSplitForFeature."
      
      This reverts commit 37757e8e8f3a2c82a604f4af9a926da616660d2e.
      
      * Revert "Fix GPU."
      
      This reverts commit e49eeee41c883f3c97fd5cdbd53c9288094bffb6.
      
      * Added a shared pointer to the tree so the constraints can use it too.
      
      * Moved check on monotone penalty to config.cpp.
      
      * Python linting.
      
      * Use AssertTrue instead of assert_.
      
      * Fix penalization in test.
      
      * Make GPU deterministic in tests.
      
      * Rename tree to tree_ in monotone constraints.
      
      * Replaced epsilon by kEplison.
      
      * Typo.
      
      * Make tree pointer const.
      
      * Update src/treelearner/monotone_constraints.hpp
      Co-Authored-By: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * Update src/treelearner/monotone_constraints.hpp
      Co-Authored-By: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * Added alias for the penalty.
      
      * Remove useless comment.
      
      * Save CI time.
      
      * Refactor test_monotone_penalty_max.
      
      * Update include/LightGBM/config.h
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Fix doc to be in line with previous config change commit.
      Co-authored-by: default avatarCharles Auguste <auguste@dubquantdev801.ire.susq.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      505a145f
  24. 23 Mar, 2020 1 commit
    • CharlesAuguste's avatar
      Improving monotone constraints ("Fast" method; linked to #2305, #2717) (#2770) · a8c1e0a1
      CharlesAuguste authored
      
      
      * Add util functions.
      
      * Added monotone_constraints_method as a parameter.
      
      * Add the intermediate constraining method.
      
      * Updated tests.
      
      * Minor fixes.
      
      * Typo.
      
      * Linting.
      
      * Ran the parameter generator for the doc.
      
      * Removed usage of the FeatureMonotone function.
      
      * more fixes
      
      * Fix.
      
      * Remove duplicated code.
      
      * Add debug checks.
      
      * Typo.
      
      * Bug fix.
      
      * Disable the use of intermediate monotone constraints and feature sampling at the same time.
      
      * Added an alias for monotone constraining method.
      
      * Use the right variable to get the number of threads.
      
      * Fix DEBUG checks.
      
      * Add back check to determine if histogram is splittable.
      
      * Added forgotten override keywords.
      
      * Perform monotone constraint update only when necessary.
      
      * Small refactor of FastLeafConstraints.
      
      * Post rebase commit.
      
      * Small refactor.
      
      * Typo.
      
      * Added comment and slightly improved logic of monotone constraints.
      
      * Forgot a const.
      
      * Vectors that are to be modified need to be pointers.
      
      * Rename FastLeafConstraints to IntermediateLeafConstraints to match documentation.
      
      * Remove overload of GoUpToFindLeavesToUpdate.
      
      * Stop memory leaking.
      
      * Fix cpplint issues.
      
      * Fix checks.
      
      * Fix more cpplint issues.
      
      * Refactor config monotone constraints method.
      
      * Typos.
      
      * Remove useless empty lines.
      
      * Add new line to separate includes.
      
      * Replace unsigned ind by size_t.
      
      * Reduce number of trials in tests to decrease CI time.
      
      * Specify monotone constraints better in tests.
      
      * Removed outer loop in test of monotone constraints.
      
      * Added categorical features to the monotone constraints tests.
      
      * Add blank line.
      
      * Regenerate parameters automatically.
      
      * Speed up ShouldKeepGoingLeftRight.
      Co-authored-by: default avatarCharles Auguste <auguste@dubquantdev801.ire.susq.com>
      Co-authored-by: default avatarguolinke <guolin.ke@outlook.com>
      a8c1e0a1
  25. 11 Mar, 2020 1 commit
  26. 08 Mar, 2020 2 commits
  27. 06 Mar, 2020 2 commits
  28. 05 Mar, 2020 2 commits
    • guolinke's avatar
      better naming · 2051223b
      guolinke authored
      2051223b
    • Guolin Ke's avatar
      speed up `FindBestThresholdFromHistogram` (#2867) · 77d92b7c
      Guolin Ke authored
      * speed up for const hessian
      
      * rename template
      
      * some refactorings
      
      * refine
      
      * refine
      
      * simplify codes
      
      * fix random in feature histogram
      
      * code refine
      
      * refine
      
      * try fix
      
      * make gcc happy
      
      * remove timer
      
      * rollback some changes
      
      * more templates
      
      * fix a bug
      
      * reduce the cost of timer
      
      * fix gpu
      
      * fix bug
      
      * fix gpu
      77d92b7c
  29. 04 Mar, 2020 1 commit
  30. 02 Mar, 2020 5 commits
  31. 29 Feb, 2020 1 commit