Граф коммитов

73 Коммитов

Автор SHA1 Сообщение Дата
Guolin Ke f1b08ac82d fix #499 2017-05-07 15:31:37 +08:00
Tsukasa OMOTO 5bc6596eae Use gcc-7 on OSX (#497)
Homebrew updated gcc to 7.1.
0387fe46e9
0ab90d39e3
2017-05-07 11:26:16 +08:00
Guolin Ke 9e2ad71a79 only use static link for Boost in Windows. 2017-04-26 11:54:19 +08:00
Guolin Ke fb96b717a8 Link Boost by static library. 2017-04-25 12:17:26 +08:00
Huan Zhang 8487d0a224 Fix compilation problems with MSVC (#443)
* Fix warnings when compiled with -pedantic

* add -DBOOST_ALL_NO_LIB for windows build

* fix some more MSVC warnings

* Break OpenCL string literal to smaller pieces to avoid error C2026 of MSVC

The string was longer than the limit of 16380 single-byte characters.

This affects Visual Studio 2005 - 2015. Untested on VS 2017.
2017-04-23 19:28:52 +08:00
Laurae 8bf1297a7f Removing architecture optimizations (#440) 2017-04-22 08:35:58 +08:00
Guolin Ke 66b7f03238 reduce branching in histogram sum-up. 2017-04-17 10:35:38 +08:00
Guolin Ke 062bfa7964 Revert "[WIP]faster histogram sum up" (#422)
* Revert "python-package: support valid_names in scikit-learn API (#420)"

This reverts commit de39dbcf3d.

* Revert "faster histogram sum up (#418)"

This reverts commit 98c7c2a35a.
2017-04-17 10:16:23 +08:00
Guolin Ke 98c7c2a35a faster histogram sum up (#418)
* 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.
2017-04-16 09:10:35 +08:00
Huan Zhang 6be087487f Move Boost.Compute include path to the beginning of compiler search paths (#411)
* fix the size of vector cnt_per_class

* put Boost.Compute includes at the beginning

We want to put the submodule Boost.Compute at the beginning of compiler search
paths, because the submodule usually contains upstream bug fixes that have not
been included in the stable Boost releases installed on the host OS.
2017-04-13 10:38:55 +08:00
Huan Zhang 0bb4a825af Initial GPU acceleration support for LightGBM (#368)
* 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
2017-04-09 21:53:14 +08:00
Qiwei Ye eade219e39 merge conflict 2017-03-18 13:31:57 +08:00
Qiwei Ye f23e608348 change compile to gcc on Apple as default 2017-03-18 12:55:02 +08:00
Carlos Becker 9595b8c11a Fixed library install dir on Windows 2017-01-24 09:58:08 +01:00
cbecker 300cee50b0 Make openmp optional, allow for dylib mac library output (#204)
* Added possibility to compile without openmp (useful for clang on Mac)

* Added CMake option to create dylib on MacOS
2017-01-12 22:46:09 +08:00
Guolin Ke b51c7be43e refine Dataset class (#113)
Provide a high level Dataset class for easy use.
2016-12-08 21:36:11 +08:00
Guolin Ke 6a792d16b4 fix library name in cmake with VS 2016-12-07 12:25:42 +08:00
Guolin Ke f1ccc4a38d change openmp to REQUIRED 2016-12-07 11:55:35 +08:00
Guolin Ke 637dc0a274 fix mingw and cygwin in cmake 2016-12-07 11:45:55 +08:00
Guolin Ke 70c31c075d simplify cmake 2016-12-07 11:31:31 +08:00
Guolin Ke 55cd60968d update cmake to build library 2016-11-08 21:24:05 +08:00
Guolin Ke f20a2c4de2 Change bulid target name to lower case. 2016-10-08 16:13:56 +08:00
Guolin Ke 1c774687cf first commit 2016-08-05 14:06:01 +08:00