Bobby Wang 0ee11dac77
[jvm-packages][xgboost4j-gpu] Support GPU dataframe and DeviceQuantileDMatrix (#7195)
Following classes are added to support dataframe in java binding:

- `Column` is an abstract type for a single column in tabular data.
- `ColumnBatch` is an abstract type for dataframe.

- `CuDFColumn` is an implementaiton of `Column` that consume cuDF column
- `CudfColumnBatch` is an implementation of `ColumnBatch` that consumes cuDF dataframe.

- `DeviceQuantileDMatrix` is the interface for quantized data.

The Java implementation mimics the Python interface and uses `__cuda_array_interface__` protocol for memory indexing.  One difference is on JVM package, the data batch is staged on the host as java iterators cannot be reset.

Co-authored-by: jiamingy <jm.yuan@outlook.com>
2021-09-24 14:25:00 +08:00
..
2019-10-22 12:33:14 -04:00
2020-11-21 13:38:21 +08:00
2021-09-17 10:06:23 +08:00
2020-08-12 01:26:02 -07:00
2021-05-11 20:44:36 +08:00

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 test test_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 dask and jvm package using spark.
  • benchmark: Legacy benchmark code. There are a number of benchmark projects for XGBoost with much better configurations.

Others

  • pytest.ini: Describes the pytest marker for python tests, some markers are generated by conftest.py file.