* implement broadcast for federated communicator * implement allreduce * add communicator factory * add device adapter * add device communicator to factory * add rabit communicator * add rabit communicator to the factory * add nccl device communicator * add synchronize to device communicator * add back print and getprocessorname * add python wrapper and c api * clean up types * fix non-gpu build * try to fix ci * fix std::size_t * portable string compare ignore case * c style size_t * fix lint errors * cross platform setenv * fix memory leak * fix lint errors * address review feedback * add python test for rabit communicator * fix failing gtest * use json to configure communicators * fix lint error * get rid of factories * fix cpu build * fix include * fix python import * don't export collective.py yet * skip collective communicator pytest on windows * add review feedback * update documentation * remove mpi communicator type * fix tests * shutdown the communicator separately Co-authored-by: Hyunsu Cho <chohyu01@cs.washington.edu>
This folder contains test cases for XGBoost c++ core, Python package and some other CI facilities.
Directories
- ci_build: Test facilities for Jenkins CI and GitHub action.
- cli: Basic test for command line executable
xgboost. Most of the other command line specific tests are in Python testtest_cli.py - cpp: Tests for C++ core, using Google test framework.
- python: Tests for Python package, demonstrations and CLI. For how to setup the
dependencies for tests, see conda files in
ci_build. - python-gpu: Similar to python tests, but for GPU.
- travis: CI facilities for Travis.
- distributed: Legacy tests for distributed system. Most of the distributed tests are
in Python tests using
daskand jvm package usingspark. - benchmark: Legacy benchmark code. There are a number of benchmark projects for XGBoost with much better configurations.
Others
- pytest.ini: Describes the
pytestmarker for python tests, some markers are generated byconftest.pyfile.