1. 19 Dec, 2020 1 commit
    • Itamar Turner-Trauring's avatar
      [python] Windows wheels that support GPUs via OpenCL (#3403) · 222a7368
      Itamar Turner-Trauring authored
      
      
      * Add specialized OpenCL/Python package build path
      
      * Refer to upstream OpenCL repository
      
      * Reset build job count in setup.py
      
      * Run test for dual CPU/GPU code in CI
      
      * TEMPORARY: refer to OpenCL fork to ensure Linux CI builds succeed
      
      * Try switching to OpenCL 2.0
      
      * Add --opencl-python-pacakge option to wheel
      
      * Fix some typos.
      
      * Remove intermediate cmake target
      
      * Restrict OpenCL headers to documented API version
      
      * Refresh the environment after installation
      
      * Try testing with two processes
      
      * Use command line definition to activate integrated build
      
      * Try newer OpenCL runtime
      
      * If we hit OpenCL code path that's good enough
      
      * Make tests run correctly
      
      * Correct directory
      
      * Flag reference to unofficial repo with FIXME
      
      * TEMPORARY: update private repo tag for dependency
      
      * Further post-merge fixes.
      
      * Fix attribute name.
      
      * Reformat with black.
      
      * Rewrite config.h before library compilation for Windows wheel
      
      * Run dual cpu/gpu test once only for Windows bdist CI
      
      * Avoid C API tests when building gpu library for wheel
      
      * TEMPORARY -- add clinfo tool to vm for debugging
      
      * Increase compilation logging
      
      * Rename OpenCL registry parameter after driver installation
      
      * Install legacy OpenCL runtime
      
      * ...
      
      * Remove config.h change, clinfo installation, latest opencl runtime reference
      
      * Add explicit script exit
      
      * revert to 18.1 intel driver
      
      * Run test_dual.py in two different modes
      
      * Revert "Run test_dual.py in two different modes"
      
      This reverts commit cbfec02659816f0cb321e1184994a9c2f37d2a77.
      
      * Remove unused expected failure test
      
      * Install OpenCL in separate powershell script
      
      * fix setup.py imports
      
      * activate conda env after session update
      
      * separate update functions; exit opencl installation on error
      
      * nothing; start pipeline
      
      * download from original source
      
      * specify tls version for installer download
      
      * eliminate variable from command
      
      * download opencl installer in parts
      
      * remove duplicate setup.py command class entry
      
      * download smaller parts
      
      * remove redundant bdist wheel class
      
      * Import chocolatey modules and use RefreshEnv
      
      * insert pipeline cache for opencl installer
      
      * rerun to ensure pipeline cache hit
      
      * add comments, test another pipeline cache hit
      
      * remove cache task; download full installer file from new location
      
      * try another installer download timing
      
      * reinsert pipeline cache
      
      * retain cache task; download full file on cache miss
      
      * test cache hit again
      
      * remove todo
      Co-authored-by: default avatarTP Boudreau <tpboudreau@gmail.com>
      222a7368
  2. 09 Dec, 2020 1 commit
    • Nikita Titov's avatar
      [python] Drop Python 2 support (#3581) · 44a6fb7f
      Nikita Titov authored
      * Update setup.py
      
      * Update .appveyor.yml
      
      * Update .travis.yml
      
      * Update .vsts-ci.yml
      
      * Update __init__.py
      
      * Update test.sh
      
      * Update test_windows.ps1
      
      * Update advanced_example.py
      
      * Update requirements_base.txt
      
      * Update conf.py
      
      * Update conf.py
      
      * Update test_engine.py
      
      * Update utils.py
      
      * Update dockerfile-r
      
      * Update README.md
      
      * Update dockerfile.gpu
      
      * Update test_consistency.py
      
      * Update basic.py
      
      * Update compat.py
      
      * Update engine.py
      
      * Update sklearn.py
      
      * Update sklearn.py
      
      * Update callback.py
      
      * Update setup.py
      
      * Update __init__.py
      
      * Update plotting.py
      
      * Update sklearn.py
      
      * Update engine.py
      
      * Update compat.py
      
      * Update callback.py
      
      * Update basic.py
      
      * Update compat.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update compat.py
      
      * Update compat.py
      
      * Update plotting.py
      
      * Update engine.py
      
      * Update basic.py
      
      * Update sklearn.py
      
      * Update compat.py
      
      * Update engine.py
      
      * Update engine.py
      
      * Update callback.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update sklearn.py
      
      * Update sklearn.py
      
      * Update plotting.py
      
      * Update sklearn.py
      
      * Update compat.py
      
      * Update compat.py
      
      * Update engine.py
      
      * Update plotting.py
      
      * Update sklearn.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update compat.py
      
      * Update compat.py
      
      * Update compat.py
      
      * Update engine.py
      
      * Update basic.py
      
      * Update compat.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update compat.py
      
      * Update compat.py
      
      * Update basic.py
      
      * Update basic.py
      
      * Update .vsts-ci.yml
      
      * Update .vsts-ci.yml
      
      * Update conf.py
      
      * Revert "Update dockerfile-r"
      
      This reverts commit 4ff6ffc7e3eeda24cc6a59a3bb0c973f02d9d71c.
      44a6fb7f
  3. 08 Dec, 2020 1 commit
    • Alberto Ferreira's avatar
      Fix model locale issue and improve model R/W performance. (#3405) · 792c9303
      Alberto Ferreira authored
      * Fix LightGBM models locale sensitivity and improve R/W performance.
      
      When Java is used, the default C++ locale is broken. This is true for
      Java providers that use the C API or even Python models that require JEP.
      
      This patch solves that issue making the model reads/writes insensitive
      to such settings.
      To achieve it, within the model read/write codebase:
       - C++ streams are imbued with the classic locale
       - Calls to functions that are dependent on the locale are replaced
       - The default locale is not changed!
      
      This approach means:
       - The user's locale is never tampered with, avoiding issues such as
          https://github.com/microsoft/LightGBM/issues/2979 with the previous
          approach https://github.com/microsoft/LightGBM/pull/2891
       - Datasets can still be read according the user's locale
       - The model file has a single format independent of locale
      
      Changes:
       - Add CommonC namespace which provides faster locale-independent versions of Common's methods
       - Model code makes conversions through CommonC
       - Cleanup unused Common methods
       - Performance improvements. Use fast libraries for locale-agnostic conversion:
         - value->string: https://github.com/fmtlib/fmt
         - string->double: https://github.com/lemire/fast_double_parser (10x
            faster double parsing according to their benchmark)
      
      Bugfixes:
       - https://github.com/microsoft/LightGBM/issues/2500
       - https://github.com/microsoft/LightGBM/issues/2890
       - https://github.com/ninia/jep/issues/205
      
       (as it is related to LGBM as well)
      
      * Align CommonC namespace
      
      * Add new external_libs/ to python setup
      
      * Try fast_double_parser fix #1
      
      Testing commit e09e5aad828bcb16bea7ed0ed8322e019112fdbe
      
      If it works it should fix more LGBM builds
      
      * CMake: Attempt to link fmt without explicit PUBLIC tag
      
      * Exclude external_libs from linting
      
      * Add exernal_libs to MANIFEST.in
      
      * Set dynamic linking option for fmt.
      
      * linting issues
      
      * Try to fix lint includes
      
      * Try to pass fPIC with static fmt lib
      
      * Try CMake P_I_C option with fmt library
      
      * [R-package] Add CMake support for R and CRAN
      
      * Cleanup CMakeLists
      
      * Try fmt hack to remove stdout
      
      * Switch to header-only mode
      
      * Add PRIVATE argument to target_link_libraries
      
      * use fmt in header-only mode
      
      * Remove CMakeLists comment
      
      * Change OpenMP to PUBLIC linking in Mac
      
      * Update fmt submodule to 7.1.2
      
      * Use fmt in header-only-mode
      
      * Remove fmt from CMakeLists.txt
      
      * Upgrade fast_double_parser to v0.2.0
      
      * Revert "Add PRIVATE argument to target_link_libraries"
      
      This reverts commit 3dd45dde7b92531b2530ab54522bb843c56227a7.
      
      * Address James Lamb's comments
      
      * Update R-package/.Rbuildignore
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Upgrade to fast_double_parser v0.3.0 - Solaris support
      
      * Use legacy code only in Solaris
      
      * Fix lint issues
      
      * Fix comment
      
      * Address StrikerRUS's comments (solaris ifdef).
      
      * Change header guards
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      792c9303
  4. 26 Nov, 2020 1 commit
  5. 21 Sep, 2020 1 commit
  6. 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
  7. 15 Sep, 2020 1 commit
  8. 11 Aug, 2020 1 commit
  9. 09 May, 2020 1 commit
  10. 13 Apr, 2020 1 commit
  11. 10 Apr, 2020 1 commit
    • Nikita Titov's avatar
      [python] Re-enable scikit-learn 0.22+ support (#2949) · c633c6c2
      Nikita Titov authored
      * Revert "specify the last supported version of scikit-learn (#2637)"
      
      This reverts commit d1002776.
      
      * ban scikit-learn 0.22.0 and skip broken test
      
      * fix updated test
      
      * fix lint test
      
      * Revert "fix lint test"
      
      This reverts commit 8b4db0805fe7a9e7f7eb0be3eac231f85026d196.
      c633c6c2
  12. 12 Jan, 2020 1 commit
  13. 19 Dec, 2019 1 commit
  14. 27 Oct, 2019 1 commit
  15. 28 Aug, 2019 1 commit
  16. 17 Aug, 2019 1 commit
  17. 08 May, 2019 1 commit
  18. 29 Apr, 2019 1 commit
  19. 20 Mar, 2019 1 commit
  20. 02 Feb, 2019 1 commit
  21. 27 Jan, 2019 1 commit
  22. 26 Jan, 2019 1 commit
  23. 07 Nov, 2018 1 commit
  24. 05 Nov, 2018 1 commit
  25. 25 Oct, 2018 1 commit
  26. 17 Oct, 2018 1 commit
    • Guolin Ke's avatar
      [ci] speed up the linux builds (#1745) · 1a1255ac
      Guolin Ke authored
      * speed up the build
      
      * remove gpu docker
      
      * add boost ppa
      
      * remove duplicate installs
      
      * Update test.sh
      
      * conda install mkl qt
      
      * addd windows
      
      * Update .vsts-ci.yml
      
      * fix gpu boost
      1a1255ac
  27. 26 Aug, 2018 2 commits
  28. 19 Aug, 2018 1 commit
  29. 29 Jul, 2018 1 commit
  30. 15 Jul, 2018 1 commit
  31. 03 Jun, 2018 1 commit
  32. 28 Feb, 2018 1 commit
  33. 31 Dec, 2017 1 commit
    • Nikita Titov's avatar
      [python] added option to install python-package with mpi version and... · c97abff4
      Nikita Titov authored
      [python] added option to install python-package with mpi version and possibility to pass CMake options (#1034)
      
      * fixed hierarchy of installation guide sections; made installation with proto support more verbose
      
      * added option to install with protobuf support to python package
      
      * fixed pylint
      
      * added option to install MPI version to python package
      
      * added tests for python-package installation with options --proto and --mpi
      
      * hotfix
      
      * removed unnecessary note from docs
      
      * removed unnecessary line from travis script
      
      * reverted proto
      
      * Revert "reverted proto"
      
      This reverts commit 5203448bb90a13844cf330527ca971eabb45a4a8.
      
      * reverted protobuf from python-package
      
      * added options for cmake in python-package
      
      * fixed typos
      
      * fixed options readability
      
      * reworked installation logging
      
      * fixed docs according to review comments
      
      * fixed pylint
      
      * fixed space in log path
      c97abff4
  34. 01 Nov, 2017 1 commit
  35. 18 Sep, 2017 1 commit
  36. 10 Sep, 2017 1 commit
  37. 08 Sep, 2017 1 commit
    • Nikita Titov's avatar
      [python] [setup] improving installation (#880) · 8984111f
      Nikita Titov authored
      * disabled logs from compilers; fixed #874
      
      * fixed safe clear_fplder
      
      * added windows folder to manifest.in
      
      * added windows folder to build
      
      * added library path
      
      * added compilation with MSBuild from .sln-file
      
      * fixed unknown PlatformToolset returns exitcode 0
      
      * hotfix
      
      * updated Readme
      
      * removed return
      
      * added installation with mingw test to appveyor
      
      * let's test appveyor with both VS 2015 and VS 2017; but MinGW isn't installed on VS 2017 image
      
      * fixed built-in name 'file'
      
      * simplified appveyor
      
      * removed excess data_files
      
      * fixed unreadable paths
      
      * separated exceptions for cmake and mingw
      
      * refactored silent_call
      
      * don't create artifacts with VS 2015 and mingw
      
      * be more precise with python versioning in Travis
      
      * removed unnecessary if statement
      
      * added classifiers for PyPI and python versions badge
      
      * changed python version in travis
      
      * added support of scikit-learn 0.18.x
      
      * added more python versions to Travis
      
      * added more python versions to Appveyor
      
      * reduced number of tests in Travis
      
      * Travis trick is not needed anymore
      
      * attempt to fix according to https://github.com/Microsoft/LightGBM/pull/880#discussion_r137438856
      8984111f
  38. 01 Sep, 2017 1 commit
  39. 18 Aug, 2017 1 commit