Skip to content

Commit 4fa4837

Browse files
committed
Merge branch 'nccl-dev' of https://github.com/Microsoft/LightGBM into nccl-dev
2 parents 37fb144 + 3e1452a commit 4fa4837

File tree

9 files changed

+31
-6
lines changed

9 files changed

+31
-6
lines changed

.vsts-ci.yml

+4
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,9 @@ jobs:
254254
- script: |
255255
git clean -d -f -x
256256
displayName: 'Clean source directory'
257+
# LGBM_SKIP_DASK_TESTS=true is set below only because running the tests under emulation is so slow...
258+
# in theory, 'lightgbm.dask' should work without issue on aarch64 Linux systems.
259+
# That could probably be removed as part of https://github.com/microsoft/LightGBM/issues/6788
257260
- script: |
258261
cat > docker-script.sh <<EOF
259262
export CONDA=\$HOME/miniforge
@@ -273,6 +276,7 @@ jobs:
273276
--env BUILD_ARTIFACTSTAGINGDIRECTORY=$BUILD_ARTIFACTSTAGINGDIRECTORY \
274277
--env BUILD_DIRECTORY=$BUILD_DIRECTORY \
275278
--env COMPILER=$COMPILER \
279+
--env LGBM_SKIP_DASK_TESTS=true \
276280
--env METHOD=$METHOD \
277281
--env OS_NAME=linux \
278282
--env PRODUCES_ARTIFACTS=$PRODUCES_ARTIFACTS \

R-package/R/lightgbm.R

+3
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@
6969
#' in \code{params}, that metric will be considered the "first" one. If you omit \code{metric},
7070
#' a default metric will be used based on your choice for the parameter \code{obj} (keyword argument)
7171
#' or \code{objective} (passed into \code{params}).
72+
#'
73+
#' \bold{NOTE:} if using \code{boosting_type="dart"}, any early stopping configuration will be ignored
74+
#' and early stopping will not be performed.
7275
#' @section Model serialization:
7376
#'
7477
#' LightGBM model objects can be serialized and de-serialized through functions such as \code{save}

R-package/man/lgb.cv.Rd

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

R-package/man/lgb.train.Rd

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

R-package/man/lgb_shared_params.Rd

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

R-package/man/lightgbm.Rd

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/Parallel-Learning-Guide.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ LightGBM's Python-package supports distributed learning via `Dask`_. This integr
6464

6565
.. warning::
6666

67-
Dask integration is only tested on Linux.
67+
Dask integration is only tested on macOS and Linux.
6868

6969
Dask Examples
7070
'''''''''''''

python-package/lightgbm/callback.py

+5
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,11 @@ def early_stopping(
468468
To check only the first metric set ``first_metric_only`` to True.
469469
The index of iteration that has the best performance will be saved in the ``best_iteration`` attribute of a model.
470470
471+
.. note::
472+
473+
If using ``boosting_type="dart"``, this callback has no effect and early stopping
474+
will not be performed.
475+
471476
Parameters
472477
----------
473478
stopping_rounds : int

tests/python_package_test/test_dask.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import socket
66
from itertools import groupby
77
from os import getenv
8-
from platform import machine
98
from sys import platform
109
from urllib.parse import urlparse
1110

@@ -16,10 +15,8 @@
1615

1716
from .utils import sklearn_multiclass_custom_objective
1817

19-
if not platform.startswith("linux"):
20-
pytest.skip("lightgbm.dask is currently supported in Linux environments", allow_module_level=True)
21-
if machine() != "x86_64":
22-
pytest.skip("lightgbm.dask tests are currently skipped on some architectures like arm64", allow_module_level=True)
18+
if platform in {"cygwin", "win32"}:
19+
pytest.skip("lightgbm.dask is not currently supported on Windows", allow_module_level=True)
2320
if not lgb.compat.DASK_INSTALLED:
2421
pytest.skip("Dask is not installed", allow_module_level=True)
2522

@@ -58,6 +55,10 @@
5855
pytest.mark.skipif(getenv("TASK", "") == "mpi", reason="Fails to run with MPI interface"),
5956
pytest.mark.skipif(getenv("TASK", "") == "gpu", reason="Fails to run with GPU interface"),
6057
pytest.mark.skipif(getenv("TASK", "") == "cuda", reason="Fails to run with CUDA interface"),
58+
pytest.mark.skipif(
59+
getenv("LGBM_SKIP_DASK_TESTS", "") == "true",
60+
reason="Skipping lightgbm.dask tests (found env variable LGBM_SKIP_DASK_TESTS=true)",
61+
),
6162
]
6263

6364

0 commit comments

Comments
 (0)