"src/git@developer.sourcefind.cn:tianlh/lightgbm-dcu.git" did not exist on "2a788165b377214d8ac73aa23576ff679b7d6c20"
Unverified Commit ea04c66c authored by Nikita Titov's avatar Nikita Titov Committed by GitHub
Browse files

[docs] update installation guide (#6696)



* Update Installation-Guide.rst

* Update script.js

* replace all Ninja sections with one paragraph

---------
Co-authored-by: default avatarshiyu1994 <shiyu_k1994@qq.com>
parent 784f3841
Installation Guide Installation Guide
================== ==================
This is a guide for building the LightGBM Command Line Interface (CLI). If you want to build the Python-package or R-package please refer to `Python-package`_ and `R-package`_ folders respectively.
All instructions below are aimed at compiling the 64-bit version of LightGBM. All instructions below are aimed at compiling the 64-bit version of LightGBM.
It is worth compiling the 32-bit version only in very rare special cases involving environmental limitations. It is worth compiling the 32-bit version only in very rare special cases involving environmental limitations.
The 32-bit version is slow and untested, so use it at your own risk and don't forget to adjust some of the commands below when installing. The 32-bit version is slow and untested, so use it at your own risk and don't forget to adjust some of the commands below when installing.
By default, instructions below will use **VS Build Tools** or **make** tool to compile the code.
It it possible to use `Ninja`_ tool instead of make on all platforms, but VS Build Tools cannot be replaced with Ninja.
You can add ``-G Ninja`` to CMake flags to use Ninja.
By default, instructions below will produce a shared library file and an executable file with command-line interface.
You can add ``-DBUILD_CLI=OFF`` to CMake flags to disable the executable compilation.
If you need to build a static library instead of a shared one, you can add ``-DBUILD_STATIC_LIB=ON`` to CMake flags. If you need to build a static library instead of a shared one, you can add ``-DBUILD_STATIC_LIB=ON`` to CMake flags.
By default, instructions below will place header files into system-wide folder.
You can add ``-DINSTALL_HEADERS=OFF`` to CMake flags to disable headers installation.
By default, on macOS, CMake is looking into Homebrew standard folders for finding dependencies (e.g. OpenMP).
You can add ``-DUSE_HOMEBREW_FALLBACK=OFF`` to CMake flags to disable this behaviour.
Users who want to perform benchmarking can make LightGBM output time costs for different internal routines by adding ``-DUSE_TIMETAG=ON`` to CMake flags. Users who want to perform benchmarking can make LightGBM output time costs for different internal routines by adding ``-DUSE_TIMETAG=ON`` to CMake flags.
It is possible to build LightGBM in debug mode. In this mode all compiler optimizations are disabled and LightGBM performs more checks internally. To enable debug mode you can add ``-DUSE_DEBUG=ON`` to CMake flags or choose ``Debug_*`` configuration (e.g. ``Debug_DLL``, ``Debug_mpi``) in Visual Studio depending on how you are building LightGBM. It is possible to build LightGBM in debug mode.
In this mode all compiler optimizations are disabled and LightGBM performs more checks internally.
To enable debug mode you can add ``-DUSE_DEBUG=ON`` to CMake flags or choose ``Debug_*`` configuration (e.g. ``Debug_DLL``, ``Debug_mpi``) in Visual Studio depending on how you are building LightGBM.
.. _sanitizers: .. _sanitizers:
...@@ -30,7 +43,7 @@ It is very useful to build `C++ unit tests <#build-c-unit-tests>`__ with sanitiz ...@@ -30,7 +43,7 @@ It is very useful to build `C++ unit tests <#build-c-unit-tests>`__ with sanitiz
.. _nightly-builds: .. _nightly-builds:
You can also download the artifacts of the latest successful build on master branch (nightly builds) here: |download artifacts|. You can download the artifacts of the latest successful build on master branch (nightly builds) here: |download artifacts|.
.. contents:: **Contents** .. contents:: **Contents**
:depth: 1 :depth: 1
...@@ -40,12 +53,10 @@ You can also download the artifacts of the latest successful build on master bra ...@@ -40,12 +53,10 @@ You can also download the artifacts of the latest successful build on master bra
Windows Windows
~~~~~~~ ~~~~~~~
On Windows LightGBM can be built using On Windows, LightGBM can be built using
- **Visual Studio**; - **Visual Studio**;
- **CMake** and **VS Build Tools**; - **CMake** and **VS Build Tools**;
- **CMake** and **MinGW**. - **CMake** and **MinGW**.
Visual Studio (or VS Build Tools) Visual Studio (or VS Build Tools)
...@@ -54,22 +65,23 @@ Visual Studio (or VS Build Tools) ...@@ -54,22 +65,23 @@ Visual Studio (or VS Build Tools)
With GUI With GUI
******** ********
1. Install `Visual Studio`_ (2015 or newer). 1. Install `Visual Studio`_.
2. Navigate to one of the releases at https://github.com/microsoft/LightGBM/releases, download ``LightGBM-complete_source_code_zip.zip``, and unzip it. 2. Navigate to one of the releases at https://github.com/microsoft/LightGBM/releases, download ``LightGBM-complete_source_code_zip.zip``, and unzip it.
3. Go to ``LightGBM-master/windows`` folder. 3. Go to ``LightGBM-complete_source_code_zip/windows`` folder.
4. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release`` configuration and click ``BUILD`` -> ``Build Solution (Ctrl+Shift+B)``. 4. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release`` configuration if you need executable file or ``DLL`` configuration if you need shared library and click ``Build`` -> ``Build Solution (Ctrl+Shift+B)``.
If you have errors about **Platform Toolset**, go to ``PROJECT`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine. If you have errors about **Platform Toolset**, go to ``Project`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine.
The ``.exe`` file will be in ``LightGBM-master/windows/x64/Release`` folder. The ``.exe`` file will be in ``LightGBM-complete_source_code_zip/windows/x64/Release`` folder.
The ``.dll`` file will be in ``LightGBM-complete_source_code_zip/windows/x64/DLL`` folder.
From Command Line From Command Line
***************** *****************
1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is already installed). 1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** is already installed).
2. Run the following commands: 2. Run the following commands:
...@@ -98,7 +110,7 @@ MinGW-w64 ...@@ -98,7 +110,7 @@ MinGW-w64
The ``.exe`` and ``.dll`` files will be in ``LightGBM/`` folder. The ``.exe`` and ``.dll`` files will be in ``LightGBM/`` folder.
**Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles"`` one more time if you encounter the ``sh.exe was found in your PATH`` error. **Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles"`` one more time or add ``-DCMAKE_SH=CMAKE_SH-NOTFOUND`` to CMake flags if you encounter the ``sh.exe was found in your PATH`` error.
It is recommended that you use **Visual Studio** since it has better multithreading efficiency in **Windows** for many-core systems It is recommended that you use **Visual Studio** since it has better multithreading efficiency in **Windows** for many-core systems
(see `Question 4 <./FAQ.rst#i-am-using-windows-should-i-use-visual-studio-or-mingw-for-compiling-lightgbm>`__ and `Question 8 <./FAQ.rst#cpu-usage-is-low-like-10-in-windows-when-using-lightgbm-on-very-large-datasets-with-many-core-systems>`__). (see `Question 4 <./FAQ.rst#i-am-using-windows-should-i-use-visual-studio-or-mingw-for-compiling-lightgbm>`__ and `Question 8 <./FAQ.rst#cpu-usage-is-low-like-10-in-windows-when-using-lightgbm-on-very-large-datasets-with-many-core-systems>`__).
...@@ -106,9 +118,17 @@ It is recommended that you use **Visual Studio** since it has better multithread ...@@ -106,9 +118,17 @@ It is recommended that you use **Visual Studio** since it has better multithread
Linux Linux
~~~~~ ~~~~~
On Linux LightGBM can be built using **CMake** and **gcc** or **Clang**. On Linux, LightGBM can be built using
- **CMake** and **gcc**;
- **CMake** and **Clang**.
After compilation the executable and ``.so`` files will be in ``LightGBM/`` folder.
1. Install `CMake`_. gcc
^^^
1. Install `CMake`_ and **gcc**.
2. Run the following commands: 2. Run the following commands:
...@@ -119,53 +139,69 @@ On Linux LightGBM can be built using **CMake** and **gcc** or **Clang**. ...@@ -119,53 +139,69 @@ On Linux LightGBM can be built using **CMake** and **gcc** or **Clang**.
cmake -B build -S . cmake -B build -S .
cmake --build build -j4 cmake --build build -j4
**Note**: In some rare cases you may need to install OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). Clang
^^^^^
Using ``Ninja`` 1. Install `CMake`_, **Clang** and **OpenMP**.
^^^^^^^^^^^^^^^
On Linux, LightGBM can also be built with `Ninja <https://ninja-build.org/>`__ instead of ``make``. 2. Run the following commands:
.. code:: sh .. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
cmake -B build -S . -G 'Ninja' export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake --build build -j2 cmake -B build -S .
cmake --build build -j4
macOS macOS
~~~~~ ~~~~~
On macOS LightGBM can be installed using **Homebrew**, or can be built using **CMake** and **Apple Clang** or **gcc**. On macOS, LightGBM can be installed using
Apple Clang - **Homebrew**;
^^^^^^^^^^^ - **MacPorts**;
or can be built using
Only **Apple Clang** version 8.1 or higher is supported. - **CMake** and **Apple Clang**;
- **CMake** and **gcc**.
Install Using ``Homebrew`` Install Using ``Homebrew``
************************** ^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code:: sh .. code:: sh
brew install lightgbm brew install lightgbm
Build from GitHub Refer to https://formulae.brew.sh/formula/lightgbm for more details.
*****************
1. Install `CMake`_ : Install Using ``MacPorts``
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code:: sh .. code:: sh
brew install cmake sudo port install LightGBM
Refer to https://ports.macports.org/port/LightGBM for more details.
**Note**: Port for LightGBM is not maintained by LightGBM's maintainers.
2. Install **OpenMP**: Build from GitHub
^^^^^^^^^^^^^^^^^
After compilation the executable and ``.dylib`` files will be in ``LightGBM/`` folder.
Apple Clang
***********
1. Install `CMake`_ and **OpenMP**:
.. code:: sh .. code:: sh
brew install libomp brew install cmake libomp
3. Run the following commands: 2. Run the following commands:
.. code:: sh .. code:: sh
...@@ -175,21 +211,15 @@ Build from GitHub ...@@ -175,21 +211,15 @@ Build from GitHub
cmake --build build -j4 cmake --build build -j4
gcc gcc
^^^ ***
1. Install `CMake`_ :
.. code:: sh
brew install cmake
2. Install **gcc**: 1. Install `CMake`_ and **gcc**:
.. code:: sh .. code:: sh
brew install gcc brew install cmake gcc
3. Run the following commands: 2. Run the following commands:
.. code:: sh .. code:: sh
...@@ -213,12 +243,10 @@ You can build LightGBM without OpenMP support but it is **strongly not recommend ...@@ -213,12 +243,10 @@ You can build LightGBM without OpenMP support but it is **strongly not recommend
Windows Windows
^^^^^^^ ^^^^^^^
On Windows a version of LightGBM without OpenMP support can be built using On Windows, a version of LightGBM without OpenMP support can be built using
- **Visual Studio**; - **Visual Studio**;
- **CMake** and **VS Build Tools**; - **CMake** and **VS Build Tools**;
- **CMake** and **MinGW**. - **CMake** and **MinGW**.
Visual Studio (or VS Build Tools) Visual Studio (or VS Build Tools)
...@@ -227,26 +255,27 @@ Visual Studio (or VS Build Tools) ...@@ -227,26 +255,27 @@ Visual Studio (or VS Build Tools)
With GUI With GUI
-------- --------
1. Install `Visual Studio`_ (2015 or newer). 1. Install `Visual Studio`_.
2. Navigate to one of the releases at https://github.com/microsoft/LightGBM/releases, download ``LightGBM-complete_source_code_zip.zip``, and unzip it. 2. Navigate to one of the releases at https://github.com/microsoft/LightGBM/releases, download ``LightGBM-complete_source_code_zip.zip``, and unzip it.
3. Go to ``LightGBM-master/windows`` folder. 3. Go to ``LightGBM-complete_source_code_zip/windows`` folder.
4. Open ``LightGBM.sln`` file with **Visual Studio**. 4. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release`` configuration if you need executable file or ``DLL`` configuration if you need shared library.
5. Go to ``PROJECT`` -> ``Properties`` -> ``Configuration Properties`` -> ``C/C++`` -> ``Language`` and change the ``OpenMP Support`` property to ``No (/openmp-)``. 5. Go to ``Project`` -> ``Properties`` -> ``Configuration Properties`` -> ``C/C++`` -> ``Language`` and change the ``OpenMP Support`` property to ``No (/openmp-)``.
6. Get back to the project's main screen, then choose ``Release`` configuration and click ``BUILD`` -> ``Build Solution (Ctrl+Shift+B)``. 6. Get back to the project's main screen and click ``Build`` -> ``Build Solution (Ctrl+Shift+B)``.
If you have errors about **Platform Toolset**, go to ``PROJECT`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine. If you have errors about **Platform Toolset**, go to ``Project`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine.
The ``.exe`` file will be in ``LightGBM-master/windows/x64/Release`` folder. The ``.exe`` file will be in ``LightGBM-complete_source_code_zip/windows/x64/Release`` folder.
The ``.dll`` file will be in ``LightGBM-complete_source_code_zip/windows/x64/DLL`` folder.
From Command Line From Command Line
----------------- -----------------
1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is already installed). 1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** is already installed).
2. Run the following commands: 2. Run the following commands:
...@@ -275,14 +304,36 @@ MinGW-w64 ...@@ -275,14 +304,36 @@ MinGW-w64
The ``.exe`` and ``.dll`` files will be in ``LightGBM/`` folder. The ``.exe`` and ``.dll`` files will be in ``LightGBM/`` folder.
**Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles" -DUSE_OPENMP=OFF`` one more time if you encounter the ``sh.exe was found in your PATH`` error. **Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles" -DUSE_OPENMP=OFF`` one more time or add ``-DCMAKE_SH=CMAKE_SH-NOTFOUND`` to CMake flags if you encounter the ``sh.exe was found in your PATH`` error.
Linux Linux
^^^^^ ^^^^^
On Linux a version of LightGBM without OpenMP support can be built using **CMake** and **gcc** or **Clang**. On Linux, a version of LightGBM without OpenMP support can be built using
- **CMake** and **gcc**;
- **CMake** and **Clang**.
After compilation the executable and ``.so`` files will be in ``LightGBM/`` folder.
gcc
***
1. Install `CMake`_ and **gcc**.
2. Run the following commands:
.. code:: sh
1. Install `CMake`_. git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
cmake -B build -S . -DUSE_OPENMP=OFF
cmake --build build -j4
Clang
*****
1. Install `CMake`_ and **Clang**.
2. Run the following commands: 2. Run the following commands:
...@@ -290,20 +341,24 @@ On Linux a version of LightGBM without OpenMP support can be built using **CMake ...@@ -290,20 +341,24 @@ On Linux a version of LightGBM without OpenMP support can be built using **CMake
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake -B build -S . -DUSE_OPENMP=OFF cmake -B build -S . -DUSE_OPENMP=OFF
cmake --build build -j4 cmake --build build -j4
macOS macOS
^^^^^ ^^^^^
On macOS a version of LightGBM without OpenMP support can be built using **CMake** and **Apple Clang** or **gcc**. On macOS, a version of LightGBM without OpenMP support can be built using
- **CMake** and **Apple Clang**;
- **CMake** and **gcc**.
After compilation the executable and ``.dylib`` files will be in ``LightGBM/`` folder.
Apple Clang Apple Clang
*********** ***********
Only **Apple Clang** version 8.1 or higher is supported. 1. Install `CMake`_:
1. Install `CMake`_ :
.. code:: sh .. code:: sh
...@@ -321,19 +376,13 @@ Only **Apple Clang** version 8.1 or higher is supported. ...@@ -321,19 +376,13 @@ Only **Apple Clang** version 8.1 or higher is supported.
gcc gcc
*** ***
1. Install `CMake`_ : 1. Install `CMake`_ and **gcc**:
.. code:: sh .. code:: sh
brew install cmake brew install cmake gcc
2. Install **gcc**: 2. Run the following commands:
.. code:: sh
brew install gcc
3. Run the following commands:
.. code:: sh .. code:: sh
...@@ -354,35 +403,36 @@ If you need to run a distributed learning application with high performance comm ...@@ -354,35 +403,36 @@ If you need to run a distributed learning application with high performance comm
Windows Windows
^^^^^^^ ^^^^^^^
On Windows an MPI version of LightGBM can be built using On Windows, an MPI version of LightGBM can be built using
- **MS MPI** and **Visual Studio**; - **MS MPI** and **Visual Studio**;
- **MS MPI**, **CMake** and **VS Build Tools**. - **MS MPI**, **CMake** and **VS Build Tools**.
**Note**: Building MPI version by **MinGW** is not supported due to the miss of MPI library in it.
With GUI With GUI
******** ********
1. You need to install `MS MPI`_ first. Both ``msmpisdk.msi`` and ``msmpisetup.exe`` are needed. 1. You need to install `MS MPI`_ first. Both ``msmpisdk.msi`` and ``msmpisetup.exe`` are needed.
2. Install `Visual Studio`_ (2015 or newer). 2. Install `Visual Studio`_.
3. Navigate to one of the releases at https://github.com/microsoft/LightGBM/releases, download ``LightGBM-complete_source_code_zip.zip``, and unzip it. 3. Navigate to one of the releases at https://github.com/microsoft/LightGBM/releases, download ``LightGBM-complete_source_code_zip.zip``, and unzip it.
4. Go to ``LightGBM-master/windows`` folder. 4. Go to ``LightGBM-complete_source_code_zip/windows`` folder.
5. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release_mpi`` configuration and click ``BUILD`` -> ``Build Solution (Ctrl+Shift+B)``. 5. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release_mpi`` configuration and click ``Build`` -> ``Build Solution (Ctrl+Shift+B)``.
If you have errors about **Platform Toolset**, go to ``PROJECT`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine. If you have errors about **Platform Toolset**, go to ``Project`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine.
The ``.exe`` file will be in ``LightGBM-master/windows/x64/Release_mpi`` folder. The ``.exe`` file will be in ``LightGBM-complete_source_code_zip/windows/x64/Release_mpi`` folder.
From Command Line From Command Line
***************** *****************
1. You need to install `MS MPI`_ first. Both ``msmpisdk.msi`` and ``msmpisetup.exe`` are needed. 1. You need to install `MS MPI`_ first. Both ``msmpisdk.msi`` and ``msmpisetup.exe`` are needed.
2. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is already installed). 2. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** is already installed).
3. Run the following commands: 3. Run the following commands:
...@@ -395,18 +445,22 @@ From Command Line ...@@ -395,18 +445,22 @@ From Command Line
The ``.exe`` and ``.dll`` files will be in ``LightGBM/Release`` folder. The ``.exe`` and ``.dll`` files will be in ``LightGBM/Release`` folder.
**Note**: Building MPI version by **MinGW** is not supported due to the miss of MPI library in it.
Linux Linux
^^^^^ ^^^^^
On Linux an MPI version of LightGBM can be built using **Open MPI**, **CMake** and **gcc** or **Clang**. On Linux, an MPI version of LightGBM can be built using
1. Install `Open MPI`_. - **CMake**, **gcc** and **Open MPI**;
- **CMake**, **Clang** and **Open MPI**.
2. Install `CMake`_. After compilation the executable and ``.so`` files will be in ``LightGBM/`` folder.
3. Run the following commands: gcc
***
1. Install `CMake`_, **gcc** and `Open MPI`_.
2. Run the following commands:
.. code:: sh .. code:: sh
...@@ -415,37 +469,41 @@ On Linux an MPI version of LightGBM can be built using **Open MPI**, **CMake** a ...@@ -415,37 +469,41 @@ On Linux an MPI version of LightGBM can be built using **Open MPI**, **CMake** a
cmake -B build -S . -DUSE_MPI=ON cmake -B build -S . -DUSE_MPI=ON
cmake --build build -j4 cmake --build build -j4
**Note**: In some rare cases you may need to install OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). Clang
*****
macOS
^^^^^
On macOS an MPI version of LightGBM can be built using **Open MPI**, **CMake** and **Apple Clang** or **gcc**. 1. Install `CMake`_, **Clang**, **OpenMP** and `Open MPI`_.
Apple Clang 2. Run the following commands:
***********
Only **Apple Clang** version 8.1 or higher is supported. .. code:: sh
1. Install `CMake`_ : git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake -B build -S . -DUSE_MPI=ON
cmake --build build -j4
.. code:: sh macOS
^^^^^
brew install cmake On macOS, an MPI version of LightGBM can be built using
2. Install **OpenMP**: - **CMake**, **Open MPI** and **Apple Clang**;
- **CMake**, **Open MPI** and **gcc**.
.. code:: sh After compilation the executable and ``.dylib`` files will be in ``LightGBM/`` folder.
brew install libomp Apple Clang
***********
3. Install **Open MPI**: 1. Install `CMake`_, **OpenMP** and `Open MPI`_:
.. code:: sh .. code:: sh
brew install open-mpi brew install cmake libomp open-mpi
4. Run the following commands: 2. Run the following commands:
.. code:: sh .. code:: sh
...@@ -457,25 +515,13 @@ Only **Apple Clang** version 8.1 or higher is supported. ...@@ -457,25 +515,13 @@ Only **Apple Clang** version 8.1 or higher is supported.
gcc gcc
*** ***
1. Install `CMake`_ : 1. Install `CMake`_, `Open MPI`_ and **gcc**:
.. code:: sh
brew install cmake
2. Install **gcc**:
.. code:: sh .. code:: sh
brew install gcc brew install cmake open-mpi gcc
3. Install **Open MPI**: 2. Run the following commands:
.. code:: sh
brew install open-mpi
4. Run the following commands:
.. code:: sh .. code:: sh
...@@ -488,48 +534,19 @@ gcc ...@@ -488,48 +534,19 @@ gcc
Build GPU Version Build GPU Version
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
Linux
^^^^^
On Linux a GPU version of LightGBM (``device_type=gpu``) can be built using **OpenCL**, **Boost**, **CMake** and **gcc** or **Clang**.
The following dependencies should be installed before compilation:
- **OpenCL** 1.2 headers and libraries, which is usually provided by GPU manufacture.
The generic OpenCL ICD packages (for example, Debian package ``ocl-icd-libopencl1`` and ``ocl-icd-opencl-dev``) can also be used.
- **libboost** 1.56 or later (1.61 or later is recommended).
We use Boost.Compute as the interface to GPU, which is part of the Boost library since version 1.61. However, since we include the source code of Boost.Compute as a submodule, we only require the host has Boost 1.56 or later installed. We also use Boost.Align for memory allocation. Boost.Compute requires Boost.System and Boost.Filesystem to store offline kernel cache.
The following Debian packages should provide necessary Boost libraries: ``libboost-dev``, ``libboost-system-dev``, ``libboost-filesystem-dev``.
- **CMake**
To build LightGBM GPU version, run the following commands:
.. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
cmake -B build -S . -DUSE_GPU=1
# if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
# cmake -B build -S . -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/
cmake --build build
**Note**: In some rare cases you may need to install OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this).
Windows Windows
^^^^^^^ ^^^^^^^
On Windows a GPU version of LightGBM (``device_type=gpu``) can be built using **OpenCL**, **Boost**, **CMake** and **VS Build Tools** or **MinGW**. On Windows, a GPU version of LightGBM (``device_type=gpu``) can be built using
- **OpenCL**, **Boost**, **CMake** and **VS Build Tools**;
- **OpenCL**, **Boost**, **CMake** and **MinGW**.
If you use **MinGW**, the build procedure is similar to the build on Linux. If you use **MinGW**, the build procedure is similar to the build on Linux.
Following procedure is for the **MSVC** (Microsoft Visual C++) build. Following procedure is for the **MSVC** (Microsoft Visual C++) build.
1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is installed). 1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** is installed).
2. Install **OpenCL** for Windows. The installation depends on the brand (NVIDIA, AMD, Intel) of your GPU card. 2. Install **OpenCL** for Windows. The installation depends on the brand (NVIDIA, AMD, Intel) of your GPU card.
...@@ -559,13 +576,68 @@ Following procedure is for the **MSVC** (Microsoft Visual C++) build. ...@@ -559,13 +576,68 @@ Following procedure is for the **MSVC** (Microsoft Visual C++) build.
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
cmake -B build -S . -A x64 -DUSE_GPU=1 -DBOOST_ROOT=C:/local/boost_1_63_0 -DBOOST_LIBRARYDIR=C:/local/boost_1_63_0/lib64-msvc-14.0 cmake -B build -S . -A x64 -DUSE_GPU=ON -DBOOST_ROOT=C:/local/boost_1_63_0 -DBOOST_LIBRARYDIR=C:/local/boost_1_63_0/lib64-msvc-14.0
# if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following: # if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
# cmake -B build -S . -A x64 -DUSE_GPU=1 -DBOOST_ROOT=C:/local/boost_1_63_0 -DBOOST_LIBRARYDIR=C:/local/boost_1_63_0/lib64-msvc-14.0 -DOpenCL_LIBRARY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64/OpenCL.lib" -DOpenCL_INCLUDE_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include" # cmake -B build -S . -A x64 -DUSE_GPU=ON -DBOOST_ROOT=C:/local/boost_1_63_0 -DBOOST_LIBRARYDIR=C:/local/boost_1_63_0/lib64-msvc-14.0 -DOpenCL_LIBRARY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64/OpenCL.lib" -DOpenCL_INCLUDE_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include"
cmake --build build --target ALL_BUILD --config Release cmake --build build --target ALL_BUILD --config Release
**Note**: ``C:/local/boost_1_63_0`` and ``C:/local/boost_1_63_0/lib64-msvc-14.0`` are locations of your **Boost** binaries (assuming you've downloaded 1.63.0 version for Visual Studio 2015). **Note**: ``C:/local/boost_1_63_0`` and ``C:/local/boost_1_63_0/lib64-msvc-14.0`` are locations of your **Boost** binaries (assuming you've downloaded 1.63.0 version for Visual Studio 2015).
The ``.exe`` and ``.dll`` files will be in ``LightGBM/Release`` folder.
Linux
^^^^^
On Linux, a GPU version of LightGBM (``device_type=gpu``) can be built using
- **CMake**, **OpenCL**, **Boost** and **gcc**;
- **CMake**, **OpenCL**, **Boost** and **Clang**.
**OpenCL** headers and libraries are usually provided by GPU manufacture.
The generic OpenCL ICD packages (for example, Debian packages ``ocl-icd-libopencl1``, ``ocl-icd-opencl-dev``, ``pocl-opencl-icd``) can also be used.
Required **Boost** libraries (Boost.Align, Boost.System, Boost.Filesystem, Boost.Chrono) should be provided by the following Debian packages: ``libboost-dev``, ``libboost-system-dev``, ``libboost-filesystem-dev``, ``libboost-chrono-dev``.
After compilation the executable and ``.so`` files will be in ``LightGBM/`` folder.
gcc
***
1. Install `CMake`_, **gcc**, **OpenCL** and **Boost**.
2. Run the following commands:
.. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
cmake -B build -S . -DUSE_GPU=ON
# if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
# cmake -B build -S . -DUSE_GPU=ON -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/
cmake --build build -j4
Clang
*****
1. Install `CMake`_, **Clang**, **OpenMP**, **OpenCL** and **Boost**.
2. Run the following commands:
.. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake -B build -S . -DUSE_GPU=ON
# if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
# cmake -B build -S . -DUSE_GPU=ON -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/
cmake --build build -j4
macOS
^^^^^
The GPU version is not supported on macOS.
Docker Docker
^^^^^^ ^^^^^^
...@@ -574,60 +646,84 @@ Refer to `GPU Docker folder <https://github.com/microsoft/LightGBM/tree/master/d ...@@ -574,60 +646,84 @@ Refer to `GPU Docker folder <https://github.com/microsoft/LightGBM/tree/master/d
Build CUDA Version Build CUDA Version
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
The `original GPU build <#build-gpu-version>`__ of LightGBM (``device_type=gpu``) is based on OpenCL. The `original GPU version <#build-gpu-version>`__ of LightGBM (``device_type=gpu``) is based on OpenCL.
The CUDA-based build (``device_type=cuda``) is a separate implementation. The CUDA-based version (``device_type=cuda``) is a separate implementation.
Use this version in Linux environments with an NVIDIA GPU with compute capability 6.0 or higher. Use this version in Linux environments with an NVIDIA GPU with compute capability 6.0 or higher.
Windows
^^^^^^^
The CUDA version is not supported on Windows.
Use the `GPU version <#build-gpu-version>`__ (``device_type=gpu``) for GPU acceleration on Windows.
Linux Linux
^^^^^ ^^^^^
On Linux a CUDA version of LightGBM can be built using **CUDA**, **CMake** and **gcc** or **Clang**. On Linux, a CUDA version of LightGBM can be built using
The following dependencies should be installed before compilation: - **CMake**, **gcc** and **CUDA**;
- **CMake**, **Clang** and **CUDA**.
- **CUDA** 11.0 or later libraries. Please refer to `this detailed guide`_. Pay great attention to the minimum required versions of host compilers listed in the table from that guide and use only recommended versions of compilers. Please refer to `this detailed guide`_ for **CUDA** libraries installation.
- **CMake** After compilation the executable and ``.so`` files will be in ``LightGBM/`` folder.
To build LightGBM CUDA version, run the following commands: gcc
***
.. code:: sh 1. Install `CMake`_, **gcc** and **CUDA**.
2. Run the following commands:
git clone --recursive https://github.com/microsoft/LightGBM .. code:: sh
cd LightGBM
cmake -B build -S . -DUSE_CUDA=1 git clone --recursive https://github.com/microsoft/LightGBM
cmake --build build -j4 cd LightGBM
cmake -B build -S . -DUSE_CUDA=ON
cmake --build build -j4
Clang
*****
1. Install `CMake`_, **Clang**, **OpenMP** and **CUDA**.
2. Run the following commands:
**Note**: In some rare cases you may need to install OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). .. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake -B build -S . -DUSE_CUDA=ON
cmake --build build -j4
macOS macOS
^^^^^ ^^^^^
The CUDA version is not supported on macOS. The CUDA version is not supported on macOS.
Windows
^^^^^^^
The CUDA version is not supported on Windows.
Use the GPU version (``device_type=gpu``) for GPU acceleration on Windows.
Build Java Wrapper Build Java Wrapper
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
Using the following instructions you can generate a JAR file containing the LightGBM `C API <./Development-Guide.rst#c-api>`__ wrapped by **SWIG**. Using the following instructions you can generate a JAR file containing the LightGBM `C API <./Development-Guide.rst#c-api>`__ wrapped by **SWIG**.
After compilation the ``.jar`` file will be in ``LightGBM/build`` folder.
Windows Windows
^^^^^^^ ^^^^^^^
On Windows a Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMake** and **VS Build Tools** or **MinGW**. On Windows, a Java wrapper of LightGBM can be built using
- **Java**, **SWIG**, **CMake** and **VS Build Tools**;
- **Java**, **SWIG**, **CMake** and **MinGW**.
VS Build Tools VS Build Tools
************** **************
1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is already installed). 1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** is already installed).
2. Install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly). 2. Install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` environment variable is set properly).
3. Run the following commands: 3. Run the following commands:
...@@ -638,14 +734,12 @@ VS Build Tools ...@@ -638,14 +734,12 @@ VS Build Tools
cmake -B build -S . -A x64 -DUSE_SWIG=ON cmake -B build -S . -A x64 -DUSE_SWIG=ON
cmake --build build --target ALL_BUILD --config Release cmake --build build --target ALL_BUILD --config Release
The ``.jar`` file will be in ``LightGBM/build`` folder and the ``.dll`` files will be in ``LightGBM/Release`` folder.
MinGW-w64 MinGW-w64
********* *********
1. Install `Git for Windows`_, `CMake`_ and `MinGW-w64`_. 1. Install `Git for Windows`_, `CMake`_ and `MinGW-w64`_.
2. Install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly). 2. Install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` environment variable is set properly).
3. Run the following commands: 3. Run the following commands:
...@@ -656,9 +750,7 @@ MinGW-w64 ...@@ -656,9 +750,7 @@ MinGW-w64
cmake -B build -S . -G "MinGW Makefiles" -DUSE_SWIG=ON cmake -B build -S . -G "MinGW Makefiles" -DUSE_SWIG=ON
cmake --build build -j4 cmake --build build -j4
The ``.jar`` file will be in ``LightGBM/build`` folder and the ``.dll`` files will be in ``LightGBM/`` folder. **Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles" -DUSE_SWIG=ON`` one more time or add ``-DCMAKE_SH=CMAKE_SH-NOTFOUND`` to CMake flags if you encounter the ``sh.exe was found in your PATH`` error.
**Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles" -DUSE_SWIG=ON`` one more time if you encounter the ``sh.exe was found in your PATH`` error.
It is recommended to use **VS Build Tools (Visual Studio)** since it has better multithreading efficiency in **Windows** for many-core systems It is recommended to use **VS Build Tools (Visual Studio)** since it has better multithreading efficiency in **Windows** for many-core systems
(see `Question 4 <./FAQ.rst#i-am-using-windows-should-i-use-visual-studio-or-mingw-for-compiling-lightgbm>`__ and `Question 8 <./FAQ.rst#cpu-usage-is-low-like-10-in-windows-when-using-lightgbm-on-very-large-datasets-with-many-core-systems>`__). (see `Question 4 <./FAQ.rst#i-am-using-windows-should-i-use-visual-studio-or-mingw-for-compiling-lightgbm>`__ and `Question 8 <./FAQ.rst#cpu-usage-is-low-like-10-in-windows-when-using-lightgbm-on-very-large-datasets-with-many-core-systems>`__).
...@@ -666,9 +758,15 @@ It is recommended to use **VS Build Tools (Visual Studio)** since it has better ...@@ -666,9 +758,15 @@ It is recommended to use **VS Build Tools (Visual Studio)** since it has better
Linux Linux
^^^^^ ^^^^^
On Linux a Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMake** and **gcc** or **Clang**. On Linux, a Java wrapper of LightGBM can be built using
- **CMake**, **gcc**, **Java** and **SWIG**;
- **CMake**, **Clang**, **Java** and **SWIG**.
gcc
***
1. Install `CMake`_, `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly). 1. Install `CMake`_, **gcc**, `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` environment variable is set properly).
2. Run the following commands: 2. Run the following commands:
...@@ -679,34 +777,40 @@ On Linux a Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMa ...@@ -679,34 +777,40 @@ On Linux a Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMa
cmake -B build -S . -DUSE_SWIG=ON cmake -B build -S . -DUSE_SWIG=ON
cmake --build build -j4 cmake --build build -j4
**Note**: In some rare cases you may need to install OpenMP runtime library separately (use your package manager and search for ``lib[g|i]omp`` for doing this). Clang
*****
macOS 1. Install `CMake`_, **Clang**, **OpenMP**, `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` environment variable is set properly).
^^^^^
On macOS a Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMake** and **Apple Clang** or **gcc**. 2. Run the following commands:
First, install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly). .. code:: sh
Then, either follow the **Apple Clang** or **gcc** installation instructions below.
Apple Clang git clone --recursive https://github.com/microsoft/LightGBM
*********** cd LightGBM
export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake -B build -S . -DUSE_SWIG=ON
cmake --build build -j4
Only **Apple Clang** version 8.1 or higher is supported. macOS
^^^^^
1. Install `CMake`_ : On macOS, a Java wrapper of LightGBM can be built using
.. code:: sh - **CMake**, **Java**, **SWIG** and **Apple Clang**;
- **CMake**, **Java**, **SWIG** and **gcc**.
brew install cmake Apple Clang
***********
2. Install **OpenMP**: 1. Install `CMake`_, **Java** (also make sure that ``JAVA_HOME`` environment variable is set properly), `SWIG`_ and **OpenMP**:
.. code:: sh .. code:: sh
brew install libomp brew install cmake openjdk swig libomp
export JAVA_HOME="$(brew --prefix openjdk)/libexec/openjdk.jdk/Contents/Home/"
3. Run the following commands: 2. Run the following commands:
.. code:: sh .. code:: sh
...@@ -718,19 +822,14 @@ Only **Apple Clang** version 8.1 or higher is supported. ...@@ -718,19 +822,14 @@ Only **Apple Clang** version 8.1 or higher is supported.
gcc gcc
*** ***
1. Install `CMake`_ : 1. Install `CMake`_, **Java** (also make sure that ``JAVA_HOME`` environment variable is set properly), `SWIG`_ and **gcc**:
.. code:: sh .. code:: sh
brew install cmake brew install cmake openjdk swig gcc
export JAVA_HOME="$(brew --prefix openjdk)/libexec/openjdk.jdk/Contents/Home/"
2. Install **gcc**:
.. code:: sh
brew install gcc
3. Run the following commands: 2. Run the following commands:
.. code:: sh .. code:: sh
...@@ -740,15 +839,31 @@ gcc ...@@ -740,15 +839,31 @@ gcc
cmake -B build -S . -DUSE_SWIG=ON cmake -B build -S . -DUSE_SWIG=ON
cmake --build build -j4 cmake --build build -j4
Build Python-package
~~~~~~~~~~~~~~~~~~~~
Refer to `Python-package folder <https://github.com/microsoft/LightGBM/tree/master/python-package>`__.
Build R-package
~~~~~~~~~~~~~~~
Refer to `R-package folder <https://github.com/microsoft/LightGBM/tree/master/R-package>`__.
Build C++ Unit Tests Build C++ Unit Tests
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
Windows Windows
^^^^^^^ ^^^^^^^
On Windows, C++ unit tests of LightGBM can be built using **CMake** and **VS Build Tools**. On Windows, C++ unit tests of LightGBM can be built using
- **CMake** and **VS Build Tools**;
- **CMake** and **MinGW**.
VS Build Tools
**************
1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is already installed). 1. Install `Git for Windows`_, `CMake`_ and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** is already installed).
2. Run the following commands: 2. Run the following commands:
...@@ -756,17 +871,43 @@ On Windows, C++ unit tests of LightGBM can be built using **CMake** and **VS Bui ...@@ -756,17 +871,43 @@ On Windows, C++ unit tests of LightGBM can be built using **CMake** and **VS Bui
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
cmake -B build -S . -A x64 -DBUILD_CPP_TEST=ON -DUSE_OPENMP=OFF cmake -B build -S . -A x64 -DBUILD_CPP_TEST=ON
cmake --build build --target testlightgbm --config Debug cmake --build build --target testlightgbm --config Debug
The ``.exe`` file will be in ``LightGBM/Debug`` folder. The ``.exe`` file will be in ``LightGBM/Debug`` folder.
MinGW-w64
*********
1. Install `Git for Windows`_, `CMake`_ and `MinGW-w64`_.
2. Run the following commands:
.. code:: console
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
cmake -B build -S . -G "MinGW Makefiles" -DBUILD_CPP_TEST=ON
cmake --build build --target testlightgbm -j4
The ``.exe`` file will be in ``LightGBM/`` folder.
**Note**: You may need to run the ``cmake -B build -S . -G "MinGW Makefiles" -DBUILD_CPP_TEST=ON`` one more time or add ``-DCMAKE_SH=CMAKE_SH-NOTFOUND`` to CMake flags if you encounter the ``sh.exe was found in your PATH`` error.
Linux Linux
^^^^^ ^^^^^
On Linux a C++ unit tests of LightGBM can be built using **CMake** and **gcc** or **Clang**. On Linux, a C++ unit tests of LightGBM can be built using
- **CMake** and **gcc**;
- **CMake** and **Clang**.
After compilation the executable file will be in ``LightGBM/`` folder.
gcc
***
1. Install `CMake`_. 1. Install `CMake`_ and **gcc**.
2. Run the following commands: 2. Run the following commands:
...@@ -774,24 +915,42 @@ On Linux a C++ unit tests of LightGBM can be built using **CMake** and **gcc** o ...@@ -774,24 +915,42 @@ On Linux a C++ unit tests of LightGBM can be built using **CMake** and **gcc** o
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
cmake -B build -S . -DBUILD_CPP_TEST=ON -DUSE_OPENMP=OFF cmake -B build -S . -DBUILD_CPP_TEST=ON
cmake --build build --target testlightgbm -j4
Clang
*****
1. Install `CMake`_, **Clang** and **OpenMP**.
2. Run the following commands:
.. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
export CXX=clang++-14 CC=clang-14 # replace "14" with version of Clang installed on your machine
cmake -B build -S . -DBUILD_CPP_TEST=ON
cmake --build build --target testlightgbm -j4 cmake --build build --target testlightgbm -j4
macOS macOS
^^^^^ ^^^^^
On macOS a C++ unit tests of LightGBM can be built using **CMake** and **Apple Clang** or **gcc**. On macOS, a C++ unit tests of LightGBM can be built using
- **CMake** and **Apple Clang**;
- **CMake** and **gcc**.
After compilation the executable file will be in ``LightGBM/`` folder.
Apple Clang Apple Clang
*********** ***********
Only **Apple Clang** version 8.1 or higher is supported. 1. Install `CMake`_ and **OpenMP**:
1. Install `CMake`_ :
.. code:: sh .. code:: sh
brew install cmake brew install cmake libomp
2. Run the following commands: 2. Run the following commands:
...@@ -799,42 +958,32 @@ Only **Apple Clang** version 8.1 or higher is supported. ...@@ -799,42 +958,32 @@ Only **Apple Clang** version 8.1 or higher is supported.
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
cmake -B build -S . -DBUILD_CPP_TEST=ON -DUSE_OPENMP=OFF cmake -B build -S . -DBUILD_CPP_TEST=ON
cmake --build build --target testlightgbm -j4 cmake --build build --target testlightgbm -j4
gcc gcc
*** ***
1. Install `CMake`_ : 1. Install `CMake`_ and **gcc**:
.. code:: sh .. code:: sh
brew install cmake brew install cmake gcc
2. Install **gcc**:
.. code:: sh 2. Run the following commands:
brew install gcc
3. Run the following commands:
.. code:: sh .. code:: sh
git clone --recursive https://github.com/microsoft/LightGBM git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM cd LightGBM
export CXX=g++-7 CC=gcc-7 # replace "7" with version of gcc installed on your machine export CXX=g++-7 CC=gcc-7 # replace "7" with version of gcc installed on your machine
cmake -B build -S . -DBUILD_CPP_TEST=ON -DUSE_OPENMP=OFF cmake -B build -S . -DBUILD_CPP_TEST=ON
cmake --build build --target testlightgbm -j4 cmake --build build --target testlightgbm -j4
.. |download artifacts| image:: ./_static/images/artifacts-not-available.svg .. |download artifacts| image:: ./_static/images/artifacts-not-available.svg
:target: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html :target: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
.. _Python-package: https://github.com/microsoft/LightGBM/tree/master/python-package
.. _R-package: https://github.com/microsoft/LightGBM/tree/master/R-package
.. _Visual Studio: https://visualstudio.microsoft.com/downloads/ .. _Visual Studio: https://visualstudio.microsoft.com/downloads/
.. _Git for Windows: https://git-scm.com/download/win .. _Git for Windows: https://git-scm.com/download/win
...@@ -864,3 +1013,5 @@ gcc ...@@ -864,3 +1013,5 @@ gcc
.. _this detailed guide: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html .. _this detailed guide: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
.. _following docs: https://github.com/google/sanitizers/wiki .. _following docs: https://github.com/google/sanitizers/wiki
.. _Ninja: https://ninja-build.org
...@@ -15,7 +15,7 @@ $(() => { ...@@ -15,7 +15,7 @@ $(() => {
/* Collapse specified sections in the installation guide */ /* Collapse specified sections in the installation guide */
if (window.location.pathname.toLocaleLowerCase().indexOf("installation-guide") !== -1) { if (window.location.pathname.toLocaleLowerCase().indexOf("installation-guide") !== -1) {
$( $(
'<style>.closed, .opened {cursor: pointer;} .closed:before, .opened:before {font-family: FontAwesome; display: inline-block; padding-right: 6px;} .closed:before {content: "\\f078";} .opened:before {content: "\\f077";}</style>', '<style>.closed, .opened {cursor: pointer;} .closed:before, .opened:before {font-family: FontAwesome; display: inline-block; padding-right: 6px;} .closed:before {content: "\\f054";} .opened:before {content: "\\f078";}</style>',
).appendTo("body"); ).appendTo("body");
const collapsible = [ const collapsible = [
"#build-threadless-version-not-recommended", "#build-threadless-version-not-recommended",
...@@ -23,6 +23,8 @@ $(() => { ...@@ -23,6 +23,8 @@ $(() => {
"#build-gpu-version", "#build-gpu-version",
"#build-cuda-version", "#build-cuda-version",
"#build-java-wrapper", "#build-java-wrapper",
"#build-python-package",
"#build-r-package",
"#build-c-unit-tests", "#build-c-unit-tests",
]; ];
$.each(collapsible, (_, val) => { $.each(collapsible, (_, val) => {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment