[doc] prefer 'cmake -B' and 'cmake --build' everywhere (#10717)

This commit is contained in:
James Lamb 2024-08-21 13:16:55 -05:00 committed by GitHub
parent 24d225c1ab
commit 03bd1183bc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 37 additions and 66 deletions

View File

@ -18,8 +18,8 @@ run CMake with option ``-DPLUGIN_RMM=ON`` (``-DUSE_CUDA=ON`` also required):
.. code-block:: sh
cmake .. -DUSE_CUDA=ON -DUSE_NCCL=ON -DPLUGIN_RMM=ON
make -j$(nproc)
cmake -B build -S . -DUSE_CUDA=ON -DUSE_NCCL=ON -DPLUGIN_RMM=ON
cmake --build build -j$(nproc)
CMake will attempt to locate the RMM library in your build environment. You may choose to build
RMM from the source, or install it using the Conda package manager. If CMake cannot find RMM, you
@ -28,9 +28,9 @@ should specify the location of RMM with the CMake prefix:
.. code-block:: sh
# If using Conda:
cmake .. -DUSE_CUDA=ON -DUSE_NCCL=ON -DPLUGIN_RMM=ON -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
cmake -B build -S . -DUSE_CUDA=ON -DUSE_NCCL=ON -DPLUGIN_RMM=ON -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
# If using RMM installed with a custom location
cmake .. -DUSE_CUDA=ON -DUSE_NCCL=ON -DPLUGIN_RMM=ON -DCMAKE_PREFIX_PATH=/path/to/rmm
cmake -B build -S . -DUSE_CUDA=ON -DUSE_NCCL=ON -DPLUGIN_RMM=ON -DCMAKE_PREFIX_PATH=/path/to/rmm
********************************
Informing XGBoost about RMM pool

View File

@ -68,10 +68,8 @@ After obtaining the source code, one builds XGBoost by running CMake:
.. code-block:: bash
cd xgboost
mkdir build
cd build
cmake ..
make -j$(nproc)
cmake -B build -S .
cmake --build build -j$(nproc)
Building on MacOS
=================
@ -94,12 +92,10 @@ following from the root of the XGBoost directory:
.. code-block:: bash
mkdir build
cd build
cmake .. -G"Visual Studio 14 2015 Win64"
# for VS15: cmake .. -G"Visual Studio 15 2017" -A x64
# for VS16: cmake .. -G"Visual Studio 16 2019" -A x64
cmake --build . --config Release
cmake -B build -S . -G"Visual Studio 14 2015 Win64"
# for VS15: cmake -B build -S . -G"Visual Studio 15 2017" -A x64
# for VS16: cmake -B build -S . -G"Visual Studio 16 2019" -A x64
cmake --build build --config Release
This specifies an out of source build using the Visual Studio 64 bit generator. (Change the ``-G`` option appropriately if you have a different version of Visual Studio installed.)
@ -127,10 +123,8 @@ From the command line on Linux starting from the XGBoost directory:
.. code-block:: bash
mkdir build
cd build
cmake .. -DUSE_CUDA=ON
make -j4
cmake -B build -S . -DUSE_CUDA=ON
cmake --build build -j4
.. note:: Specifying compute capability
@ -142,10 +136,8 @@ From the command line on Linux starting from the XGBoost directory:
.. code-block:: bash
mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DUSE_NCCL=ON -DNCCL_ROOT=/path/to/nccl2
make -j4
cmake -B build -S . -DUSE_CUDA=ON -DUSE_NCCL=ON -DNCCL_ROOT=/path/to/nccl2
cmake --build build -j4
Some additional flags are available for NCCL, ``BUILD_WITH_SHARED_NCCL`` enables building XGBoost with NCCL as a shared library, while ``USE_DLOPEN_NCCL`` enables XGBoost to load NCCL at runtime using ``dlopen``.
@ -153,9 +145,7 @@ On Windows, run CMake as follows:
.. code-block:: bash
mkdir build
cd build
cmake .. -G"Visual Studio 17 2022" -A x64 -DUSE_CUDA=ON
cmake -B build -S . -G"Visual Studio 17 2022" -A x64 -DUSE_CUDA=ON
(Change the ``-G`` option appropriately if you have a different version of Visual Studio installed.)
@ -163,7 +153,7 @@ The above cmake configuration run will create an ``xgboost.sln`` solution file i
.. code-block:: bash
cmake --build . --target xgboost --config Release
cmake --buildbuild. --target xgboost --config Release
To speed up compilation, run multiple jobs in parallel by appending option ``-- /MP``.
@ -250,14 +240,11 @@ There are several ways to build and install the package from source:
.. code-block:: bash
# Under xgboost source directory
mkdir build
cd build
# Build shared library libxgboost.so
cmake .. -GNinja
ninja
cmake -B build -S . -GNinja
cmake --build build
# Install as editable installation
cd ../python-package
cd ./python-package
pip install -e .
4. Use ``libxgboost.so`` on system path.
@ -336,11 +323,8 @@ above snippet can be replaced by:
.. code-block:: bash
mkdir build
cd build
cmake .. -DR_LIB=ON
make -j$(nproc)
make install
cmake -B build -S . -DR_LIB=ON
cmake --build build --target install -j$(nproc)
Installing the development version with Visual Studio (Windows)
@ -368,10 +352,8 @@ Open the Command Prompt and navigate to the XGBoost directory, and then run the
.. code-block:: bash
cd C:\path\to\xgboost
mkdir build
cd build
cmake .. -G"Visual Studio 16 2019" -A x64 -DR_LIB=ON -DR_VERSION=4.0.0
cmake --build . --target install --config Release
cmake -B build -S . -G"Visual Studio 16 2019" -A x64 -DR_LIB=ON -DR_VERSION=4.0.0
cmake --build build --target install --config Release
.. _r_gpu_support:
@ -385,10 +367,8 @@ On Linux, starting from the XGBoost directory type:
.. code-block:: bash
mkdir build
cd build
cmake .. -DUSE_CUDA=ON -DR_LIB=ON
make install -j$(nproc)
cmake -B build -S . -DUSE_CUDA=ON -DR_LIB=ON
cmake --build build --target install -j$(nproc)
When default target is used, an R package shared library would be built in the ``build`` area.
The ``install`` target, in addition, assembles the package files with this shared library under ``build/R-package`` and runs ``R CMD INSTALL``.
@ -413,10 +393,8 @@ Open the Command Prompt and navigate to the XGBoost directory, and then run the
.. code-block:: bash
cd C:\path\to\xgboost
mkdir build
cd build
cmake .. -G"Visual Studio 16 2019" -A x64 -DUSE_CUDA=ON -DR_LIB=ON -DR_VERSION=4.0.0
cmake --build . --target install --config Release
cmake -B build -S . -G"Visual Studio 16 2019" -A x64 -DUSE_CUDA=ON -DR_LIB=ON -DR_VERSION=4.0.0
cmake --build build --target install --config Release
If CMake can't find your R during the configuration step, you might provide the location of R to CMake like this: ``-DLIBR_HOME="C:\Program Files\R\R-4.0.0"``.

View File

@ -130,10 +130,9 @@ To build and run C++ unit tests enable tests while running CMake:
.. code-block:: bash
mkdir build
cd build
cmake -GNinja -DGOOGLE_TEST=ON -DUSE_DMLC_GTEST=ON -DUSE_CUDA=ON -DUSE_NCCL=ON ..
ninja
cmake -B build -S . -GNinja -DGOOGLE_TEST=ON -DUSE_DMLC_GTEST=ON -DUSE_CUDA=ON -DUSE_NCCL=ON
cmake --build build
cd ./build
./testxgboost
Flags like ``USE_CUDA``, ``USE_DMLC_GTEST`` are optional. For more info about how to build

View File

@ -26,14 +26,12 @@ Run the following commands on your terminal. The below commands will install the
# clone the XGBoost repository & its submodules
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
mkdir build
cd build
# Activate the Conda environment, into which we'll install XGBoost
conda activate [env_name]
# Build the compiled version of XGBoost inside the build folder
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
cmake -B build -S . -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
# install XGBoost in your conda environment (usually under [your home directory]/miniconda3)
make install
cmake --build build --target install
*********************************************************************
Configure CMakeList.txt file of your application to link with XGBoost
@ -55,14 +53,12 @@ To ensure that CMake can locate the XGBoost library, supply ``-DCMAKE_PREFIX_PAT
.. code-block:: bash
# Navigate to the build directory for your application
cd build
# Activate the Conda environment where we previously installed XGBoost
conda activate [env_name]
# Invoke CMake with CMAKE_PREFIX_PATH
cmake .. -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
cmake -B build -S . -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
# Build your application
make
cmake --build build
************************
Useful Tips To Remember

View File

@ -33,8 +33,6 @@ See also [Intel® oneAPI Programming Guide](https://www.intel.com/content/www/us
From the ``xgboost`` directory, run:
```bash
$ mkdir build
$ cd build
$ cmake .. -DPLUGIN_SYCL=ON
$ make -j
$ cmake -B build -S . -DPLUGIN_SYCL=ON
$ cmake --build build -j
```