1. 05 Oct, 2021 1 commit
  2. 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
  3. 20 Sep, 2020 1 commit
    • 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
  4. 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
  5. 05 Jun, 2020 1 commit
  6. 01 Jun, 2020 1 commit
  7. 11 Mar, 2020 1 commit
  8. 08 Mar, 2020 1 commit
  9. 03 Mar, 2020 1 commit
  10. 02 Mar, 2020 1 commit
    • Guolin Ke's avatar
      speed up multi-val bin subset for bagging (#2827) · d0bec9e9
      Guolin Ke authored
      * speed up multi-val bin subset for bagging
      
      * remove the duplicated codes
      
      * code refine
      
      * some codes refactoring
      
      * move `is_constant_hessian` into `TrainingShareStates`
      
      * refine
      
      * fix bug
      
      * fix bug when num_groups_ < 0
      
      * fix gpu
      
      * fix gpu bagging
      
      * fix gpu bug
      
      * typo
      
      * Update src/treelearner/serial_tree_learner.h
      d0bec9e9
  11. 20 Feb, 2020 1 commit
    • Nikita Titov's avatar
      added feature infos to JSON dump (#2660) · c4a7ab81
      Nikita Titov authored
      
      
      * added feature infos to JSON dump
      
      * slight json schema refactor
      
      * simpified code
      
      * refactor feature_infos
      
      * refactoring
      
      * Update src/boosting/gbdt.cpp
      
      * Update dataset.h
      
      * Update include/LightGBM/dataset.h
      
      * simplify
      
      * Apply suggestions from code review
      
      * parse string and construct JSON objs
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      c4a7ab81
  12. 19 Feb, 2020 1 commit
    • Guolin Ke's avatar
      [python] [R-package] refine the parameters for Dataset (#2594) · 9f79e840
      Guolin Ke authored
      
      
      * reset
      
      * fix a bug
      
      * fix test
      
      * Update c_api.h
      
      * support to no filter features by min_data
      
      * add warning in reset config
      
      * refine warnings for override dataset's parameter
      
      * some cleans
      
      * clean code
      
      * clean code
      
      * refine C API function doxygen comments
      
      * refined new param description
      
      * refined doxygen comments for R API function
      
      * removed stuff related to int8
      
      * break long line in warning message
      
      * removed tests which results cannot be validated anymore
      
      * added test for warnings about unchangeable params
      
      * write parameter from dataset to booster
      
      * consider free_raw_data.
      
      * fix params
      
      * fix bug
      
      * implementing R
      
      * fix typo
      
      * filter params in R
      
      * fix R
      
      * not min_data
      
      * refined tests
      
      * fixed linting
      
      * refine
      
      * pilint
      
      * add docstring
      
      * fix docstring
      
      * R lint
      
      * updated description for C API function
      
      * use param aliases in Python
      
      * fixed typo
      
      * fixed typo
      
      * added more params to test
      
      * removed debug print
      
      * fix dataset construct place
      
      * fix merge bug
      
      * Update feature_histogram.hpp
      
      * add is_sparse back
      
      * remove unused parameters
      
      * fix lint
      
      * add data random seed
      
      * update
      
      * [R-package] centrallized Dataset parameter aliases and added tests on Dataset parameter updating (#2767)
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      9f79e840
  13. 17 Feb, 2020 1 commit
  14. 08 Feb, 2020 1 commit
  15. 02 Feb, 2020 1 commit
    • Guolin Ke's avatar
      Support both row-wise and col-wise multi-threading (#2699) · 509c2e50
      Guolin Ke authored
      
      
      * commit
      
      * fix a bug
      
      * fix bug
      
      * reset to track changes
      
      * refine the auto choose logic
      
      * sort the time stats output
      
      * fix include
      
      * change  multi_val_bin_sparse_threshold
      
      * add cmake
      
      * add _mm_malloc and _mm_free for cross platform
      
      * fix cmake bug
      
      * timer for split
      
      * try to fix cmake
      
      * fix tests
      
      * refactor DataPartition::Split
      
      * fix test
      
      * typo
      
      * formating
      
      * Revert "formating"
      
      This reverts commit 5b8de4f7fb9d975ee23701d276a66d40ee6d4222.
      
      * add document
      
      * [R-package] Added tests on use of force_col_wise and force_row_wise in training (#2719)
      
      * naming
      
      * fix gpu code
      
      * Update include/LightGBM/bin.h
      Co-Authored-By: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/treelearner/ocl/histogram16.cl
      
      * test: swap compilers for CI
      
      * fix omp
      
      * not avx2
      
      * no aligned for feature histogram
      
      * Revert "refactor DataPartition::Split"
      
      This reverts commit 256e6d9641ade966a1f54da1752e998a1149b6f8.
      
      * slightly refactor data partition
      
      * reduce the memory cost
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      509c2e50
  16. 14 Jan, 2020 1 commit
    • Guolin Ke's avatar
      support most frequent bin (#2689) · c7e90393
      Guolin Ke authored
      * implement
      
      * fix warning
      
      * fix bug
      
      * fix a bug
      
      * remove unneed function
      
      * fix data push bug
      
      * fix valid data push
      
      * fix bug for missing_type=zero
      
      * refine split
      
      * renames
      
      * typo
      c7e90393
  17. 13 Jan, 2020 1 commit
  18. 07 Oct, 2019 1 commit
  19. 28 Sep, 2019 1 commit
    • Belinda Trotta's avatar
      Predefined bin thresholds (#2325) · cc7a1e27
      Belinda Trotta authored
      * Fix bug where small values of max_bin cause crash.
      
      * Revert "Fix bug where small values of max_bin cause crash."
      
      This reverts commit fe5c8e2547057c1fa5750bcddd359dd7708fab4b.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Use stable sort.
      
      * Minor style and doc fixes.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Use stable sort.
      
      * Minor style and doc fixes.
      
      * Change binning behavior to be same as PR #2342.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Use stable sort.
      
      * Minor style and doc fixes.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Use stable sort.
      
      * Minor style and doc fixes.
      
      * Change binning behavior to be same as PR #2342.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Minor style and doc fixes.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Minor style and doc fixes.
      
      * Change binning behavior to be same as PR #2342.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Use stable sort.
      
      * Minor style and doc fixes.
      
      * Add functionality to force bin thresholds.
      
      * Fix style issues.
      
      * Use stable sort.
      
      * Minor style and doc fixes.
      
      * Change binning behavior to be same as PR #2342.
      
      * Use different bin finding function for predefined bounds.
      
      * Fix style issues.
      
      * Minor refactoring, overload FindBinWithZeroAsOneBin.
      
      * Fix style issues.
      
      * Fix bug and add new test.
      
      * Add warning when using categorical features with forced bins.
      
      * Pass forced_upper_bounds by reference.
      
      * Pass container types by const reference.
      
      * Get categorical features using FeatureBinMapper.
      
      * Fix bug for small max_bin.
      
      * Move GetForcedBins to DatasetLoader.
      
      * Find forced bins in dataset_loader.
      
      * Minor fixes.
      cc7a1e27
  20. 13 Apr, 2019 1 commit
  21. 11 Apr, 2019 1 commit
  22. 26 Feb, 2019 1 commit
    • remcob-gr's avatar
      Add ability to move features from one data set to another in memory (#2006) · 219c943d
      remcob-gr authored
      * Initial attempt to implement appending features in-memory to another data set
      
      The intent is for this to enable munging files together easily, without needing to round-trip via numpy or write multiple copies to disk.
      In turn, that enables working more efficiently with data sets that were written separately.
      
      * Implement Dataset.dump_text, and fix small bug in appending of group bin boundaries.
      
      Dumping to text enables us to compare results, without having to worry about issues like features being reordered.
      
      * Add basic tests for validation logic for add_features_from.
      
      * Remove various internal mapping items from dataset text dumps
      
      These are too sensitive to the exact feature order chosen, which is not visible to the user.
      Including them in tests appears unnecessary, as the data dumping code should provide enough coverage.
      
      * Add test that add_features_from results in identical data sets according to dump_text.
      
      * Add test that booster behaviour after using add_features_from matches that of training on the full data
      
      This checks:
      - That training after add_features_from works at all
      - That add_features_from does not cause training to misbehave
      
      * Expose feature_penalty and monotone_types/constraints via get_field
      
      These getters allow us to check that add_features_from does the right thing with these vectors.
      
      * Add tests that add_features correctly handles feature_penalty and monotone_constraints.
      
      * Ensure add_features_from properly frees the added dataset and add unit test for this
      
      Since add_features_from moves the feature group pointers from the added dataset to the dataset being added to, the added dataset is invalid after the call.
      We must ensure we do not try and access this handle.
      
      * Remove some obsolete TODOs
      
      * Tidy up DumpTextFile by using a single iterator for each feature
      
      This iterators were also passed around as raw pointers without being freed, which is now fixed.
      
      * Factor out offsetting logic in AddFeaturesFrom
      
      * Remove obsolete TODO
      
      * Remove another TODO
      
      This one is debatable, test code can be a bit messy and duplicate-heavy, factoring it out tends to end badly.
      Leaving this for now, will revisit if adding more tests later on becomes a mess.
      
      * Add documentation for newly-added methods.
      
      * Fix whitespace issues identified by pylint.
      
      * Fix a few more whitespace issues.
      
      * Fix doc comments
      
      * Implement deep copying for feature groups.
      
      * Replace awkward std::move usage by emplace_back, and reduce vector size to num_features rather than num_total_features.
      
      * Copy feature groups in addFeaturesFrom, rather than moving them.
      
      * Fix bugs in FeatureGroup copy constructor and ensure source dataset remains usable
      
      * Add reserve to PushVector and PushOffset
      
      * Move definition of Clone into class body
      
      * Fix PR review issues
      
      * Fix for loop increment style.
      
      * Fix test failure
      
      * Some more docstring fixes.
      
      * Remove blank line
      219c943d
  23. 06 Feb, 2019 1 commit
  24. 02 Feb, 2019 1 commit
  25. 20 Dec, 2018 1 commit
  26. 16 Aug, 2018 1 commit
  27. 27 Feb, 2018 1 commit
    • ebernhardson's avatar
      Experimental support for HDFS (#1243) · 7e186a57
      ebernhardson authored
      * Read and write datsets from hdfs.
      * Only enabled when cmake is run with -DUSE_HDFS:BOOL=TRUE
      * Introduces VirtualFile(Reader|Writer) to asbtract VFS differences
      7e186a57
  28. 15 Dec, 2017 1 commit
  29. 02 Sep, 2017 1 commit
  30. 20 Aug, 2017 1 commit
  31. 18 Aug, 2017 1 commit
  32. 30 Jul, 2017 1 commit
    • Guolin Ke's avatar
      Better missing value handle (#747) · 00cb04a2
      Guolin Ke authored
      * finish the data loading part
      
      * allow prediction.
      
      * fix bug for decision type.
      
      * finish split finding part
      
      * fix bugs.
      
      * bug fixed. add a test .
      
      * fix pep8 .
      
      * update documents.
      
      * fix test bugs.
      
      * fix a format
      
      * fix import error in python test.
      
      * disable missing handle in categorial features.
      
      * fix a bug.
      
      * add more tests.
      
      * fix pep8
      
      * fix bugs.
      
      * remove the missing handle code for categorical feature.
      00cb04a2
  33. 16 Jun, 2017 1 commit
  34. 15 May, 2017 1 commit
  35. 17 Apr, 2017 2 commits
  36. 16 Apr, 2017 1 commit
    • Guolin Ke's avatar
      faster histogram sum up (#418) · 98c7c2a3
      Guolin Ke authored
      * some refactor.
      
      * two stage sum up to reduce sum up error.
      
      * add more two-stage sumup.
      
      * some refactor.
      
      * add alignment.
      
      * change name to aligned_allocator.
      
      * remove some useless sumup.
      
      * fix a warning.
      
      * add -march=native .
      
      * remove the padding of gradients.
      
      * no alignment.
      
      * fix test.
      
      * change KNumSumupGroup to 32768.
      
      * change gcc flags.
      98c7c2a3
  37. 09 Apr, 2017 1 commit
    • Huan Zhang's avatar
      Initial GPU acceleration support for LightGBM (#368) · 0bb4a825
      Huan Zhang authored
      * add dummy gpu solver code
      
      * initial GPU code
      
      * fix crash bug
      
      * first working version
      
      * use asynchronous copy
      
      * use a better kernel for root
      
      * parallel read histogram
      
      * sparse features now works, but no acceleration, compute on CPU
      
      * compute sparse feature on CPU simultaneously
      
      * fix big bug; add gpu selection; add kernel selection
      
      * better debugging
      
      * clean up
      
      * add feature scatter
      
      * Add sparse_threshold control
      
      * fix a bug in feature scatter
      
      * clean up debug
      
      * temporarily add OpenCL kernels for k=64,256
      
      * fix up CMakeList and definition USE_GPU
      
      * add OpenCL kernels as string literals
      
      * Add boost.compute as a submodule
      
      * add boost dependency into CMakeList
      
      * fix opencl pragma
      
      * use pinned memory for histogram
      
      * use pinned buffer for gradients and hessians
      
      * better debugging message
      
      * add double precision support on GPU
      
      * fix boost version in CMakeList
      
      * Add a README
      
      * reconstruct GPU initialization code for ResetTrainingData
      
      * move data to GPU in parallel
      
      * fix a bug during feature copy
      
      * update gpu kernels
      
      * update gpu code
      
      * initial port to LightGBM v2
      
      * speedup GPU data loading process
      
      * Add 4-bit bin support to GPU
      
      * re-add sparse_threshold parameter
      
      * remove kMaxNumWorkgroups and allows an unlimited number of features
      
      * add feature mask support for skipping unused features
      
      * enable kernel cache
      
      * use GPU kernels withoug feature masks when all features are used
      
      * REAdme.
      
      * REAdme.
      
      * update README
      
      * fix typos (#349)
      
      * change compile to gcc on Apple as default
      
      * clean vscode related file
      
      * refine api of constructing from sampling data.
      
      * fix bug in the last commit.
      
      * more efficient algorithm to sample k from n.
      
      * fix bug in filter bin
      
      * change to boost from average output.
      
      * fix tests.
      
      * only stop training when all classes are finshed in multi-class.
      
      * limit the max tree output. change hessian in multi-class objective.
      
      * robust tree model loading.
      
      * fix test.
      
      * convert the probabilities to raw score in boost_from_average of classification.
      
      * fix the average label for binary classification.
      
      * Add boost_from_average to docs (#354)
      
      * don't use "ConvertToRawScore" for self-defined objective function.
      
      * boost_from_average seems doesn't work well in binary classification. remove it.
      
      * For a better jump link (#355)
      
      * Update Python-API.md
      
      * for a better jump in page
      
      A space is needed between `#` and the headers content according to Github's markdown format [guideline](https://guides.github.com/features/mastering-markdown/)
      
      After adding the spaces, we can jump to the exact position in page by click the link.
      
      * fixed something mentioned by @wxchan
      
      * Update Python-API.md
      
      * add FitByExistingTree.
      
      * adapt GPU tree learner for FitByExistingTree
      
      * avoid NaN output.
      
      * update boost.compute
      
      * fix typos (#361)
      
      * fix broken links (#359)
      
      * update README
      
      * disable GPU acceleration by default
      
      * fix image url
      
      * cleanup debug macro
      
      * remove old README
      
      * do not save sparse_threshold_ in FeatureGroup
      
      * add details for new GPU settings
      
      * ignore submodule when doing pep8 check
      
      * allocate workspace for at least one thread during builing Feature4
      
      * move sparse_threshold to class Dataset
      
      * remove duplicated code in GPUTreeLearner::Split
      
      * Remove duplicated code in FindBestThresholds and BeforeFindBestSplit
      
      * do not rebuild ordered gradients and hessians for sparse features
      
      * support feature groups in GPUTreeLearner
      
      * Initial parallel learners with GPU support
      
      * add option device, cleanup code
      
      * clean up FindBestThresholds; add some omp parallel
      
      * constant hessian optimization for GPU
      
      * Fix GPUTreeLearner crash when there is zero feature
      
      * use np.testing.assert_almost_equal() to compare lists of floats in tests
      
      * travis for GPU
      0bb4a825
  38. 05 Apr, 2017 1 commit
  39. 21 Mar, 2017 1 commit