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

374 Коммитов

Автор SHA1 Сообщение Дата
shiyu1994 bed9f3ff6d
[ci] Upgrade Azure VMSS to use Mariner Linux (#6222)
* Update .vsts-ci.yml for Azure Pipelines

Upgrade Azure VM Scale Set to use Mariner (Azure Linux) systems.

* Update .vsts-ci.yml

* Update .vsts-ci.yml

* Update .vsts-ci.yml

* Update .vsts-ci.yml

* Update .vsts-ci.yml

* upgrade clang to clang-17

* add -y in apt install

* update name of mariner agent pool

* fix clang 17 compiler name

* apt update before install clang 17

* update libomp version for clang 17

* use clang-17 only for Mariner agents

* fix CXX and CC
2023-12-20 01:18:51 +08:00
James Lamb 1548b42bac
[R-package] [c++] add tighter multithreading control, avoid global OpenMP side effects (fixes #4705, fixes #5102) (#6226) 2023-12-07 17:03:16 -06:00
david-cortes 4546a8fded
[R-package] Use `cat()` instead of `print()` for metrics and callbacks (#6171) 2023-11-02 07:36:03 -05:00
Oliver Borchert 3405ee82b9
[python-package] Allow to pass Arrow table as training data (#6034) 2023-11-01 08:21:48 -05:00
Oliver Borchert 2d358d5d20
[ci] use `mamba` instead of `conda` in macOS and Linux CI jobs (#6140) 2023-10-25 09:48:42 -05:00
James Lamb 8ed371cee4
set explicit number of threads in every OpenMP `parallel` region (#6135) 2023-10-09 20:05:51 -05:00
shiyu1994 f901f47141
[CUDA] CUDA Quantized Training (fixes #5606) (#5933)
* 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
2023-10-08 23:25:46 +08:00
James Lamb 3d9ada7657
[ci] [R-package] enforce more {lintr} checks (#6130) 2023-10-08 09:42:54 -05:00
James Lamb 3c7e38be27
[ci] [R-package] test against R 4.3 on Windows (#6061) 2023-10-06 08:21:32 -05:00
James Lamb 63a882b740
[CUDA] drop CUDA 10 support, start supporting CUDA 12 (fixes #5789) (#6099) 2023-09-30 08:34:50 -05:00
James Lamb fe7f8fe646
[ci] ensure correct R version is used on GitHub Actions (fixes #5640) (#6107) 2023-09-20 10:31:43 -05:00
Oliver Borchert 5792b5b21e
[ci] Fix typo in dependencies (#6100) 2023-09-14 21:47:57 -05:00
James Lamb 5ea005790e
[ci] [R-package] test against R 4.3 on Linux and macOS (#6075) 2023-09-04 11:09:30 -05:00
James Lamb 4ea170f30a
[python-package] use dataclass for CallbackEnv (#6048) 2023-08-21 12:05:37 -05:00
James Lamb e0d63b5735
[ci] fix GPG key download for R Linux jobs (fixes #6038) (#6039)
* [ci] fix GPG key download for R Linux jobs

* force use of the new config file

* empty commit
2023-08-15 10:12:31 +08:00
shiyu1994 fe838d88a7
[ci] enforce dask version to be >=2023.5.0 in some builds (fixes #6030) (#6032)
* enforce dask version to be >=2023.5.0

* fix Python 3.7 builds

---------

Co-authored-by: James Lamb <jaylamb20@gmail.com>
2023-08-12 00:20:20 +08:00
James Lamb 20975badd7
[ci] [R-package] use {lintr} 3.1 (#5997) 2023-08-04 14:02:09 -05:00
James Lamb 9a84b61d93
[ci] use newer h5py in AppVeyor jobs (fixes #5995) (#5996) 2023-07-20 15:25:12 -05:00
James Lamb d9c7c72ad1
[ci] [python-package] Add CI job testing compatibility with oldest possible versions (#5936) 2023-07-05 20:06:12 -05:00
James Lamb 30942a32e3
[python-package] [ci] switch to PEP 517 / 518 builds (remove `setup.py`) (fixes #5061) (#5759) 2023-06-15 11:30:34 -05:00
James Lamb 179206fb12
[ci] remove brew update-reset again (fixes #5670) (#5925) 2023-06-14 13:21:30 -05:00
James Lamb b859f7b17e
[python-package] ensure 'build-python.sh' always reinstalls (fixes #5906) (#5907) 2023-06-10 09:20:29 -05:00
James Lamb 36fe73aecb
[ci] stop relying on cran.microsoft.com in CI jobs (#5909) 2023-06-05 15:38:04 -05:00
James Lamb d48ade1f6c
[ci] use an MRAN snapshot for R 3.6 Linux jobs (fixes #5898) (#5903) 2023-05-31 11:11:43 -05:00
James Lamb 4536f4357b
add CMakeLists options to disable building CLI, installing headers (#5880) 2023-05-27 13:27:26 +02:00
James Lamb d47006f4d0
[ci] [python-package] use ruff, enforce flake8-bugbear and flake8-comprehensions checks (#5871) 2023-05-15 22:49:31 -05:00
James Lamb a2c1dec072
[ci] fix wheel renaming in test.sh (#5877) 2023-05-10 14:36:29 -05:00
James Lamb 1c873af9c0
[ci] [python-package] move tool configuration to pyproject.toml (#5872) 2023-05-08 18:05:54 -05:00
James Lamb a97c444b4c
[ci] [python-package] replace 'python setup.py' with a shell script (#5837) 2023-05-04 17:06:11 -05:00
James Lamb 11e17f39df
[ci] [python-package] check distributions with pydistcheck (#5838) 2023-05-04 12:02:38 -05:00
James Lamb 9a1c5dc92c
[ci] remove R 3.6 macOS CI jobs (#5859) 2023-05-04 09:48:53 -05:00
James Lamb 5989405cd3
[ci] put a temporary ceiling on pip (#5835) 2023-04-17 16:57:04 -05:00
James Lamb 638014d5c5
[ci] remove pin on tinytex in R CI jobs (#5821) 2023-04-07 12:37:48 -05:00
James Lamb 1f1ed5b44f
[ci] moving linting into small scripts (fixes #5142) (#5809) 2023-04-01 20:06:09 -05:00
James Lamb cb89de8b53
[ci] fix LaTeX tools installation in R jobs (fixes #5802) (#5807) 2023-03-27 15:05:05 -05:00
James Lamb 0007343796
[ci] speed up conda setup for macOS and Linux jobs (#5743) 2023-02-26 11:07:06 -06:00
James Lamb 885ea3ad45
[ci] [python-package] enforce 'twine check' and 'check-wheel-contents' on Python distributions (#5707) 2023-02-13 21:14:06 -06:00
James Lamb 8935591f94
[ci] restore flake8 checks (#5703) 2023-02-09 20:31:20 -06:00
James Lamb 4f47547c88
[CUDA] consolidate CUDA versions (#5677)
* [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: shiyu1994 <shiyu_k1994@qq.com>

* Apply suggestions from code review

* completely remove cuda_exp, update docs

---------

Co-authored-by: shiyu1994 <shiyu_k1994@qq.com>
2023-02-01 11:27:52 +08:00
James Lamb 9954bc4231
[R-package] discourage use of regex for fixed string comparisons (#5685) 2023-01-30 23:33:48 -06:00
James Lamb ad68f1375b
[ci] speed up conda setup for some jobs (#5668) 2023-01-26 21:58:27 -06:00
James Lamb 02d212b4c0
[ci] [python-package] enforce flake8 checks (fixes #5566) (#5659) 2023-01-12 15:59:52 -06:00
James Lamb 16fb267d39
[ci] fix brew errors in R macOS jobs (fixes #5670) (#5671) 2023-01-11 22:22:33 -06:00
James Lamb c2d2c99f44
[ci] run r-package Linux jobs in containers (#5638) 2023-01-10 13:21:15 -06:00
James Lamb 42b6322c7d
[ci] speed up Windows jobs (fixes #5647) (#5648) 2022-12-29 12:23:39 -06:00
James Lamb 7f4dbc8191
[ci] [python-package] fix missing import, test that lightgbm can be imported with only required dependencies (fixes #5631) (#5632) 2022-12-28 20:16:26 -06:00
James Lamb 7c1ab96fc1
[ci] use LightGBM CI image for building aarch64 wheels (fixes #5595) (#5622) 2022-12-28 14:45:01 -06:00
James Lamb 59c7313304
[ci] fix locale-setting in jobs running in ubuntu container (#5643) 2022-12-28 01:19:46 -06:00
Nikita Titov a17489328c
[ci] Use Ubuntu 22.04 as `ubuntu-latest` at CI (fixes #5186) (#5288) 2022-12-15 09:05:45 -06:00
James Lamb 87e3c0d9ba
[ci] test against R 4.2.2 (#5621) 2022-12-06 19:16:18 -06:00
Jonathan Giannuzzi 38a1f5821a
[ci] Build integrated OpenCL Linux wheels (#5252)
* Add integrated OpenCL build on Linux

* Build integrated OpenCL Linux wheel in CI

* Fix test_dual.py on Linux arm64

* Enable integrated OpenCL Linux wheel arm64 testing in CI

* Update documentation

* Add comment about gpu_use_dp

* add missing fi dropped in merge conflict resolution

* install opencl-headers on bdist task

* use new CI image for x86_64

* update check_dynamic_dependencies script

* use main CI image

Co-authored-by: James Lamb <jaylamb20@gmail.com>
2022-12-02 11:10:31 +08:00
James Lamb 16c8b3893b
[ci] [python-package] correct tag on x86_64 wheels (#5598) 2022-11-26 19:41:35 -06:00
Nikita Titov d067ab6e7e
[ci] migrate CI from macOS 10.15 to 11 (fixes #5391) (#5396) 2022-11-24 23:17:29 -06:00
James Lamb 60c92a969a
[ci] switch from MiKTeX to tinytex on Windows R jobs (fixes #5600) (#5602) 2022-11-24 21:05:23 -06:00
James Lamb 61ef3ada68
[ci] switch to manylinux_2_28 for Linux artifacts (fixes #5514, fixes #5589) (#5580) 2022-11-20 23:13:38 -06:00
Nikita Titov 1a67a36fd6
[ci] prefer CPython in Linux and macOS test environment (#5555) 2022-11-03 14:06:50 -05:00
James Lamb d8a6b8871b
[ci] fix R-package CI jobs and compatibility with OpenMP 15+ (fixes #5549, #5562) (#5563) 2022-11-02 16:38:52 -05:00
James Lamb 45dd49ec0d
[ci] [R-package] use R 4.2.1 in Windows CI jobs (fixes #4881) (#5503) 2022-10-08 23:45:22 -05:00
James Lamb 1d6d3b37da
[ci] prefer CPython in Windows test environment and use safer approach for cleaning up network (fixes #5509) (#5510) 2022-10-06 21:03:19 -05:00
James Lamb dc4794b62f
[ci] test against R 4.2 for macOS and Linux CI jobs (#5484) 2022-09-15 18:39:32 -05:00
James Lamb a65ba42c50
[ci] [R-package] ensure that MSVC jobs fail when tests fail (fixes #5439) (#5448) 2022-09-12 10:49:08 -07:00
James Lamb 000fdebfca
[ci] increase valgrind bytes lost limit to 352 (#5429) 2022-08-19 21:56:00 +08:00
Nikita Titov ebd9e860b5
[ci] temporarily pin scipy version and fix Python linting error (#5398) 2022-08-02 22:10:23 -05:00
James Lamb 8d12dca136
[ci] make check-docs job compatible with rstcheck 6.x (#5388) 2022-07-27 23:23:44 -05:00
Nikita Titov 24117b76a6
[ci][R-package] Minor refactoring for `lintr` code (#5327)
* Update utils.R

* Update lint_r_code.R

* Update lint_r_code.R

* Update lint_r_code.R

* Update lint_r_code.R
2022-06-26 14:50:19 -05:00
CuriousCorrelation 1b43214f72
[ci] [R-package] Add string_boundary_linter (#5324) 2022-06-23 18:13:14 -05:00
CuriousCorrelation 4b64b173c1
[ci] [R-package] Add paste_linter (#5320)
[ci] [R-package] Add paste_linter (#5303)
2022-06-22 16:46:48 -05:00
Saumya ff947bfac5
[ci] [R-package] Add duplicate_argument_linter (#5310)
* Add duplicate_argument_linter

* Add duplicate_argument_linter

* added acomment for duplicate argument

* Update R-package/tests/testthat/test_utils.R

Co-authored-by: José Morales <jmoralz92@gmail.com>

Co-authored-by: José Morales <jmoralz92@gmail.com>
2022-06-20 18:11:21 -05:00
CuriousCorrelation aaac8299ec
[ci] [R-package] Add a few more linters (#5311)
* [ci] Fix any_is_na linter key

* [ci] Add several linter checks (#5303)

Includes following linters

- any_duplicated_linter()
- inner_combine_linter()
- literal_coercion_linter()
- missing_argument_linter()
- numeric_leading_zero_linter()
- outer_negation_linter()
- package_hooks_linter()
- sprintf_linter()
- regex_subset_linter()
- unreachable_code_linter()
- vector_logic_linter()

These required no changes to the code base
2022-06-20 10:23:38 -05:00
CuriousCorrelation ef469d808e
[ci] [R-package] Add class_equals linter (#5307) 2022-06-20 10:19:08 -05:00
CuriousCorrelation 64f4a9fda4
[ci] [R-package] Add any_is_na_linter (#5306) 2022-06-19 21:45:00 -05:00
Nikita Titov 7f43767aec
[ci] Install PoCL in Docker for old Ubuntu 14.04 (#5286)
* Install PoCL in Docker for old Ubuntu 14.04

* Update .vsts-ci.yml

* Try with Clang

* switch back to gcc

* Switch from dev container to stable one
2022-06-18 21:17:14 -05:00
James Lamb 688f73d14a
[ci] [R-package] upgrade to lintr v3.0 (fixes #5228) (#5294) 2022-06-16 10:17:22 -05:00
Jonathan Giannuzzi f96c4ceb80
[ci] Pin lintr to <3.0 (#5290)
Do not use r-lintr 3.0+
2022-06-14 14:50:26 -05:00
Jonathan Giannuzzi 6b89651de1
[ci] Run Linux OpenCL tests against POCL instead of the AMD App SDK (#5282)
* Run OpenCL tests against POCL instead of the AMD App SDK

* Update .ci/setup.sh

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

* Run Linux gpu source on default Python version

* [docs] Update GPU Targets Table

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
2022-06-13 19:58:34 +03:00
James Lamb 0ebbf1e497
[ci] switch CRAN mirror to RStudio (#5230) 2022-05-22 21:31:31 -05:00
James Lamb b0774151cb
remove support for Solaris (fixes #5216) (#5226) 2022-05-22 09:27:59 +08:00
James Lamb 2871b53e8e
[ci] fix R Hub token (#5210) 2022-05-14 22:02:20 +03:00
Nikita Titov dad3915741
[ci] Prevent Python downgrading to pypy on Windows (2) (#5198)
* Update test_windows.ps1

* Update .appveyor.yml

* Update test_windows.ps1

* Update test_windows.ps1

* Update test_windows.ps1

* Update test_windows.ps1

* Update test_windows.ps1

* Update .appveyor.yml
2022-05-06 02:04:58 +03:00
Nikita Titov b2383e2f70
[ci] Prevent Python downgrading to pypy on Windows (#5197)
* Update test_windows.ps1

* Update .appveyor.yml

* Update .appveyor.yml
2022-05-04 14:16:13 -05:00
James Lamb b462d0a40f
[ci] update to R 4.1.3 and use macOS-latest for R jobs (fixes #4990) (#5137)
* [ci] update to R 4.1.3 and use macOS-latest for R jobs (fixes #4990)

* update Windows version

* update docs env

* simplify r-package config
2022-04-09 22:57:19 -05:00
James Lamb 3798f8720f
[ci] fail R macOS CI jobs earlier when installations fail (#5129)
* [ci] fail CI jobs earlier when installations fail

* more reliable link for R.pkg
2022-04-05 22:17:58 -05:00
Nikita Titov 46ebfd2132
[ci] Remove temp workaround for graphviz installation (#5126)
* Update test_windows.ps1

* Update .appveyor.yml

* Update .appveyor.yml
2022-04-05 08:04:22 -05:00
david-cortes 33eb03767d
[R-package] Promote number of threads to top-level argument in `lightgbm()` and change default to number of cores (#4972) 2022-03-31 19:58:19 -05:00
shiyu1994 6b56a90cd1
[CUDA] New CUDA version Part 1 (#4630)
* new cuda framework

* add histogram construction kernel

* before removing multi-gpu

* new cuda framework

* tree learner cuda kernels

* single tree framework ready

* single tree training framework

* remove comments

* boosting with cuda

* optimize for best split find

* data split

* move boosting into cuda

* parallel synchronize best split point

* merge split data kernels

* before code refactor

* use tasks instead of features as units for split finding

* refactor cuda best split finder

* fix configuration error with small leaves in data split

* skip histogram construction of too small leaf

* skip split finding of invalid leaves

stop when no leaf to split

* support row wise with CUDA

* copy data for split by column

* copy data from host to CPU by column for data partition

* add synchronize best splits for one leaf from multiple blocks

* partition dense row data

* fix sync best split from task blocks

* add support for sparse row wise for CUDA

* remove useless code

* add l2 regression objective

* sparse multi value bin enabled for CUDA

* fix cuda ranking objective

* support for number of items <= 2048 per query

* speedup histogram construction by interleaving global memory access

* split optimization

* add cuda tree predictor

* remove comma

* refactor objective and score updater

* before use struct

* use structure for split information

* use structure for leaf splits

* return CUDASplitInfo directly after finding best split

* split with CUDATree directly

* use cuda row data in cuda histogram constructor

* clean src/treelearner/cuda

* gather shared cuda device functions

* put shared CUDA functions into header file

* change smaller leaf from <= back to < for consistent result with CPU

* add tree predictor

* remove useless cuda_tree_predictor

* predict on CUDA with pipeline

* add global sort algorithms

* add global argsort for queries with many items in ranking tasks

* remove limitation of maximum number of items per query in ranking

* add cuda metrics

* fix CUDA AUC

* remove debug code

* add regression metrics

* remove useless file

* don't use mask in shuffle reduce

* add more regression objectives

* fix cuda mape loss

add cuda xentropy loss

* use template for different versions of BitonicArgSortDevice

* add multiclass metrics

* add ndcg metric

* fix cross entropy objectives and metrics

* fix cross entropy and ndcg metrics

* add support for customized objective in CUDA

* complete multiclass ova for CUDA

* separate cuda tree learner

* use shuffle based prefix sum

* clean up cuda_algorithms.hpp

* add copy subset on CUDA

* add bagging for CUDA

* clean up code

* copy gradients from host to device

* support bagging without using subset

* add support of bagging with subset for CUDAColumnData

* add support of bagging with subset for dense CUDARowData

* refactor copy sparse subrow

* use copy subset for column subset

* add reset train data and reset config for CUDA tree learner

add deconstructors for cuda tree learner

* add USE_CUDA ifdef to cuda tree learner files

* check that dataset doesn't contain CUDA tree learner

* remove printf debug information

* use full new cuda tree learner only when using single GPU

* disable all CUDA code when using CPU version

* recover main.cpp

* add cpp files for multi value bins

* update LightGBM.vcxproj

* update LightGBM.vcxproj

fix lint errors

* fix lint errors

* fix lint errors

* update Makevars

fix lint errors

* fix the case with 0 feature and 0 bin

fix split finding for invalid leaves

create cuda column data when loaded from bin file

* fix lint errors

hide GetRowWiseData when cuda is not used

* recover default device type to cpu

* fix na_as_missing case

fix cuda feature meta information

* fix UpdateDataIndexToLeafIndexKernel

* create CUDA trees when needed in CUDADataPartition::UpdateTrainScore

* add refit by tree for cuda tree learner

* fix test_refit in test_engine.py

* create set of large bin partitions in CUDARowData

* add histogram construction for columns with a large number of bins

* add find best split for categorical features on CUDA

* add bitvectors for categorical split

* cuda data partition split for categorical features

* fix split tree with categorical feature

* fix categorical feature splits

* refactor cuda_data_partition.cu with multi-level templates

* refactor CUDABestSplitFinder by grouping task information into struct

* pre-allocate space for vector split_find_tasks_ in CUDABestSplitFinder

* fix misuse of reference

* remove useless changes

* add support for path smoothing

* virtual destructor for LightGBM::Tree

* fix overlapped cat threshold in best split infos

* reset histogram pointers in data partition and spllit finder in ResetConfig

* comment useless parameter

* fix reverse case when na is missing and default bin is zero

* fix mfb_is_na and mfb_is_zero and is_single_feature_column

* remove debug log

* fix cat_l2 when one-hot

fix gradient copy when data subset is used

* switch shared histogram size according to CUDA version

* gpu_use_dp=true when cuda test

* revert modification in config.h

* fix setting of gpu_use_dp=true in .ci/test.sh

* fix linter errors

* fix linter error

remove useless change

* recover main.cpp

* separate cuda_exp and cuda

* fix ci bash scripts

add description for cuda_exp

* add USE_CUDA_EXP flag

* switch off USE_CUDA_EXP

* revert changes in python-packages

* more careful separation for USE_CUDA_EXP

* fix CUDARowData::DivideCUDAFeatureGroups

fix set fields for cuda metadata

* revert config.h

* fix test settings for cuda experimental version

* skip some tests due to unsupported features or differences in implementation details for CUDA Experimental version

* fix lint issue by adding a blank line

* fix lint errors by resorting imports

* fix lint errors by resorting imports

* fix lint errors by resorting imports

* merge cuda.yml and cuda_exp.yml

* update python version in cuda.yml

* remove cuda_exp.yml

* remove unrelated changes

* fix compilation warnings

fix cuda exp ci task name

* recover task

* use multi-level template in histogram construction

check split only in debug mode

* ignore NVCC related lines in parameter_generator.py

* update job name for CUDA tests

* apply review suggestions

* Update .github/workflows/cuda.yml

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

* Update .github/workflows/cuda.yml

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

* update header

* remove useless TODOs

* remove [TODO(shiyu1994): constrain the split with min_data_in_group] and record in #5062

* #include <LightGBM/utils/log.h> for USE_CUDA_EXP only

* fix include order

* fix include order

* remove extra space

* address review comments

* add warning when cuda_exp is used together with deterministic

* add comment about gpu_use_dp in .ci/test.sh

* revert changing order of included headers

Co-authored-by: Yu Shi <shiyu1994@qq.com>
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
2022-03-23 10:39:23 +08:00
Antoni Baum f77e0adf59
[python] make `early_stopping` callback pickleable (#5012)
* Turn `early_stopping` into a Callable class

* Fix

* Lint

* Remove print

* Fix order

* Revert "Lint"

This reverts commit 7ca8b55757.

* Apply suggestion from code review

* Nit

* Lint

* Move callable class outside the func for pickling

* Move _pickle and _unpickle to tests utils

* Add early stopping callback picklability test

* Nit

* Fix

* Lint

* Improve type hint

* Lint

* Lint

* Add cloudpickle to test_windows

* Update tests/python_package_test/test_engine.py

* Fix

* Apply suggestions from code review
2022-03-16 23:03:53 -05:00
Nikita Titov 31ab4d4231
[ci] fix current `master` fails with graphviz-related error (#5068)
* Update test_windows.ps1

* Update .appveyor.yml

* Update test_windows.ps1

* Update .appveyor.yml
2022-03-11 21:46:09 +08:00
James Lamb 2f27d4b226
[ci][docs] use miniforge for readthedocs builds (fixes #4954) (#4957)
* [ci] [docs] use mamba for readthedocs builds (fixes #4954)

* update docs

* simplify build script and add docs flag to gitignore

* exit with non-0 if build fails

* update CI job

* add doxygen

* remove outdated requirement_base.txt reference

* use conda create instead of conda env create

* fix conda create flags

* add nodefaults to env.yml

* Update docs/README.rst

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

* try to fix check-docs CI job

* additional changes

* switch from mamba to miniforge

* simplify docker command and fix issues in local build script

* Apply suggestions from code review

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

* update docs and conda

* Apply suggestions from code review

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
2022-02-19 06:29:56 +03:00
Nikita Titov 1862d7f53b
[ci] use conda-forge in Windows CI jobs and Docker images (#4993)
* Update dockerfile-python

* Update README.md

* Update dockerfile.gpu

* Update dockerfile.gpu

* Update .vsts-ci.yml

* Update .appveyor.yml

* Update test_windows.ps1
2022-02-12 04:08:37 +03:00
James Lamb 3500cb67b9
[ci] use conda-forge in Linux and macOS CI jobs (#4953)
* [ci] use conda-forge in CI jobs (fixes #4948)

* comment out more jobs

* try reverting graphviz patch, running more cuda jobs

* get graphviz from PyPI and try removing some patches for r-lintr

* start running appveyor again

* use conda-forge if using conda

* fix commands

* conda install graphviz

* try newer openmp

* pin below openmp 11.x

* focus on gpu task

* trying to narrow down error

* maybe gcc11 is the issue

* start adding other tests back

* pin openmp too

* maybe need to pin to gcc less than 10.x

* pin libgfortran and libstdcxx as well

* pin to gcc 9.3.0

* move constraints up to initial environment

* add all CI jobs back

* try installing python-graphviz separately

* try new lightgbm/vsts-agent image

* fix typo

* test if pinning gcc for linux gpu_source build is still necessary

* ok yes, pinning gcc is necessary

* test if Linux gpu_source works with Python 3.9.6

* no special exception for Linux gpu_source job

* pin to Python 3.9.6 in Linux gpu_source

* try explicitly asking for libstdcxx-ng for every linux build

* swap compilers

* switch compilers back

* revert accidental whitespace change

* comment out CI

* try Linux gpu_source with different Python versions

* Revert "try Linux gpu_source with different Python versions"

This reverts commit f6f63cbb9b.

* Revert "comment out CI"

This reverts commit ece191f01e.

* remove libxml2 install, change CONDA path

* avoid installing conda in rchk job

* empty commit 1

* empty commit 2

* empty commit 3

* empty commit 4

* add more verbose logging around installation of python-graphviz

* empty commit 1

* get mamba info

* get more conda info

* add another mamba info call

* allow for other macOS environments in GHA configuration

* Revert "allow for other macOS environments in GHA configuration"

This reverts commit a3c7a19926.

* get more logs from mamba

* get Build.ArtifactsStagingDirectory

* get more logs and try to force re-installing everything

* clean cache after every step

* remove --update-all and make logs less verbose

* remove more print statements and uncomment jobs

* test if conda-clean issue fixes segfaults for gpu_source

* pin python version for gpu_source

* empty commit 1

* use miniforge instead

* empty commit 1

* Apply suggestions from code review

* bring workarounds back

* remove duplicated graphviz system-wide installation (reverts #4095, #4097, #4238)

* empty commit 1

* empty commit 2

* empty commit 3

* empty commit 4

* empty commit 5

* empty commit 6

* empty commit 7

* empty commit 8

* empty commit 9

* empty commit 10

* empty commit 10

* empty commit 10

* empty commit 10

* empty commit 11

* one more try

* try to downgrade Python version for Linux GPU job

* swap compilers

* Revert "swap compilers"

This reverts commit f04dc27b17.

Co-authored-by: Nikita Titov <nekit94-12@hotmail.com>
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
2022-02-11 03:56:35 +03:00
James Lamb 0688f471fc
[ci] upgrade to R 4.1.2 in CI, change approach to macOS-latest R CI builds (fixes #4988) (#4989)
* [ci] manually create symlinks to R entrypoints on macOS (fixes #4988)

* exclude non-R CI jobs

* upgrade to R 4.1.2

* get logs for R install

* pin R 4.1.x jobs to macOS-10.15

* update to R 4.1.2 on Windows

* allow for non-latest macOS builds in GHA configuration

* fix prefix check

* fix config check

* more direct check for mac version

* uncomment other CIs

* update R version in CI job names
2022-01-31 20:45:53 -06:00
Nikita Titov 0075814f02
[ci] bump CUDA version from `11.5.0` to `11.5.1` at CI (#4967)
* Revert "[ci] ignore certificates for kitware apt channel in CUDA jobs (fixes #4646) (#4648)"

This reverts commit 10e0edc453.

* update cuda at CI
2022-01-23 15:39:41 +03:00
Nikita Titov f47b34f84c
[python] Drop Python 3.6 support (#4891)
* Update .appveyor.yml

* Update .vsts-ci.yml

* Update python_package.yml

* Update setup.py

* Update test.sh
2021-12-18 17:26:45 +03:00
Nikita Titov f77cfe8328
[ci] migrate CI from macOS 10.14 to 10.15 and drop support of Mojave (#4849)
* Update .vsts-ci.yml

* Update setup.sh

* Update .vsts-ci.yml

* Update test.sh

* Update README.rst
2021-12-05 00:00:32 +03:00
James Lamb 5fa887bb79
[R-package] [docs] add intro vignette (#3946) (#4775)
* [R-package] [docs] add intro vignette (#3946)

* add 10 test vignettes

* Revert "add 10 test vignettes"

This reverts commit 40fb2e2f19.

* Apply suggestions from code review

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

Co-authored-by: Michael Mayer <mayermichael79@gmail.com>
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
2021-11-17 22:15:32 -06:00
Nikita Titov 06e3c4a9bb
[ci] fix getting status of optional workflows in PRs with a lot of comments (#4806)
* Update get_workflow_status.py

* Update get_workflow_status.py
2021-11-17 11:32:03 +08:00
Nikita Titov 874e635924
[ci] ignore CMakeLint errors related to package names (#4801)
* Update test.sh

* Update test.sh

* Update test.sh

* Update FindLibR.cmake

* Update r_package.yml

* Update FindLibR.cmake

* Update r_package.yml
2021-11-14 16:24:14 +03:00
Nikita Titov 144036f2df
[ci] fix CMakeLint errors related to function naming case (#4794)
* Update CMakeLists.txt

* Update CMakeLists.txt

* Update static_analysis.yml

* Update CMakeLists.txt

* Update test.sh

* Update CMakeLists.txt

* Update static_analysis.yml
2021-11-13 19:38:28 -06:00
James Lamb 7152c49a76
[R-package] parallelize compilation in CMake-based builds (#4525)
* [R-package] parallelize compilation in CMake-based builds

* Apply suggestions from code review

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

* working on adding -j

* pass -j through to install.libs.R

* add docs on -j

* use -j4

* Update R-package/README.md

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>

Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
2021-11-10 09:39:59 +08:00
Nikita Titov e6273c72f1
[ci] Revert temp workaround for `freetype` version (#4776)
This reverts commit d62378b453.
2021-11-06 20:42:19 +03:00