зеркало из https://github.com/microsoft/LightGBM.git
[docs] documented version without OpenMP support (#1811)
This commit is contained in:
Родитель
59f10453dc
Коммит
5d46771acd
|
@ -15,6 +15,8 @@ For the build of Python-package and R-package, please refer to `Python-package`_
|
|||
|
||||
- `Docker <#docker>`__
|
||||
|
||||
- `Threadless Version (not Recommended) <#build-threadless-version-not-recommended>`__
|
||||
|
||||
- `MPI Version <#build-mpi-version>`__
|
||||
|
||||
- `GPU Version <#build-gpu-version>`__
|
||||
|
@ -177,6 +179,151 @@ Docker
|
|||
|
||||
Refer to `Docker folder <https://github.com/Microsoft/LightGBM/tree/master/docker>`__.
|
||||
|
||||
Build Threadless Version (not Recommended)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The default build version of LightGBM is based on OpenMP.
|
||||
However, you can build the LightGBM without OpenMP support, but it is **strongly not recommended**.
|
||||
|
||||
Windows
|
||||
^^^^^^^
|
||||
|
||||
On Windows version of LightGBM without OpenMP support can be built using
|
||||
|
||||
- **Visual Studio**;
|
||||
|
||||
- **CMake** and **VS Build Tools**;
|
||||
|
||||
- **CMake** and **MinGW**.
|
||||
|
||||
Visual Studio (or VS Build Tools)
|
||||
*********************************
|
||||
|
||||
With GUI
|
||||
--------
|
||||
|
||||
1. Install `Visual Studio`_ (2015 or newer).
|
||||
|
||||
2. Download `zip archive`_ and unzip it.
|
||||
|
||||
3. Go to ``LightGBM-master/windows`` folder.
|
||||
|
||||
4. Open ``LightGBM.sln`` file with **Visual Studio**.
|
||||
|
||||
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)``.
|
||||
|
||||
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.
|
||||
|
||||
From Command Line
|
||||
-----------------
|
||||
|
||||
1. Install `Git for Windows`_, `CMake`_ (3.8 or higher) and `VS Build Tools`_ (**VS Build Tools** is not needed if **Visual Studio** (2015 or newer) is already installed).
|
||||
|
||||
2. Run the following commands:
|
||||
|
||||
.. code::
|
||||
|
||||
git clone --recursive https://github.com/Microsoft/LightGBM
|
||||
cd LightGBM
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DUSE_OPENMP=OFF ..
|
||||
cmake --build . --target ALL_BUILD --config Release
|
||||
|
||||
The exe and dll files will be in ``LightGBM/Release`` folder.
|
||||
|
||||
MinGW-w64
|
||||
*********
|
||||
|
||||
1. Install `Git for Windows`_, `CMake`_ and `MinGW-w64`_.
|
||||
|
||||
2. Run the following commands:
|
||||
|
||||
.. code::
|
||||
|
||||
git clone --recursive https://github.com/Microsoft/LightGBM
|
||||
cd LightGBM
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "MinGW Makefiles" -DUSE_OPENMP=OFF ..
|
||||
mingw32-make.exe -j4
|
||||
|
||||
The exe and dll files will be in ``LightGBM/`` folder.
|
||||
|
||||
**Note**: You may need to run the ``cmake -G "MinGW Makefiles" -DUSE_OPENMP=OFF ..`` one more time if you encounter the ``sh.exe was found in your PATH`` error.
|
||||
|
||||
Linux
|
||||
^^^^^
|
||||
|
||||
On Linux version of LightGBM without OpenMP support can be built using **CMake** and **gcc** or **Clang**.
|
||||
|
||||
1. Install `CMake`_.
|
||||
|
||||
2. Run the following commands:
|
||||
|
||||
.. code::
|
||||
|
||||
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
|
||||
mkdir build ; cd build
|
||||
cmake -DUSE_OPENMP=OFF ..
|
||||
make -j4
|
||||
|
||||
**Note**: glibc >= 2.14 is required.
|
||||
|
||||
macOS
|
||||
^^^^^
|
||||
|
||||
On macOS version of LightGBM without OpenMP support can be built using **CMake** and **Apple Clang** or **gcc**.
|
||||
|
||||
Apple Clang
|
||||
***********
|
||||
|
||||
Only **Apple Clang** version 8.1 or higher is supported.
|
||||
|
||||
1. Install `CMake`_ (3.12 or higher):
|
||||
|
||||
.. code::
|
||||
|
||||
brew install cmake
|
||||
|
||||
2. Run the following commands:
|
||||
|
||||
.. code::
|
||||
|
||||
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
|
||||
mkdir build ; cd build
|
||||
cmake -DUSE_OPENMP=OFF ..
|
||||
make -j4
|
||||
|
||||
gcc
|
||||
***
|
||||
|
||||
1. Install `CMake`_ (3.2 or higher):
|
||||
|
||||
.. code::
|
||||
|
||||
brew install cmake
|
||||
|
||||
2. Install **gcc**:
|
||||
|
||||
.. code::
|
||||
|
||||
brew install gcc
|
||||
|
||||
3. Run the following commands:
|
||||
|
||||
.. code::
|
||||
|
||||
git clone --recursive https://github.com/Microsoft/LightGBM ; cd LightGBM
|
||||
export CXX=g++-7 CC=gcc-7 # replace "7" with version of gcc installed on your machine
|
||||
mkdir build ; cd build
|
||||
cmake -DUSE_OPENMP=OFF ..
|
||||
make -j4
|
||||
|
||||
Build MPI Version
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@ $(function() {
|
|||
/* Collapse specified sections in the installation guide */
|
||||
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>').appendTo('body');
|
||||
var collapsable = ['#build-mpi-version', '#build-gpu-version', '#build-hdfs-version', '#build-java-wrapper'];
|
||||
var collapsable = ['#build-threadless-version-not-recommended', '#build-mpi-version', '#build-gpu-version',
|
||||
'#build-hdfs-version', '#build-java-wrapper'];
|
||||
$.each(collapsable, function(i, val) {
|
||||
var header = val + ' > :header:first';
|
||||
var content = val + ' :not(:header:first)';
|
||||
|
|
|
@ -47,6 +47,17 @@ For **macOS** users, you can perform installation either with **Apple Clang** or
|
|||
|
||||
For **Windows** users, **Visual Studio** (or `VS Build Tools <https://visualstudio.microsoft.com/downloads/>`_) is needed. If you get any errors during installation, you may need to install `CMake`_ (version 3.8 or higher).
|
||||
|
||||
Build Threadless Version
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code:: sh
|
||||
|
||||
pip install lightgbm --install-option=--nomp
|
||||
|
||||
All remarks, except the **OpenMP** requirement for macOS users, from `Build from Sources section <#build-from-sources>`__ are actual in this case.
|
||||
|
||||
It is **strongly not recommended** to use this version of LightGBM!
|
||||
|
||||
Build MPI Version
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -129,6 +140,8 @@ For **Windows** users, if you get any errors during installation and there is th
|
|||
|
||||
Note: ``sudo`` (or administrator rights in **Windows**) may be needed to perform the command.
|
||||
|
||||
Run ``python setup.py install --nomp`` to disable **OpenMP** support. All remarks from `Build Threadless Version section <#build-threadless-version>`__ are actual in this case.
|
||||
|
||||
Run ``python setup.py install --mpi`` to enable **MPI** support. All remarks from `Build MPI Version section <#build-mpi-version>`__ are actual in this case.
|
||||
|
||||
Run ``python setup.py install --mingw``, if you want to use **MinGW-w64** on **Windows** instead of **Visual Studio**. All remarks from `Build with MinGW-w64 on Windows section <#build-with-mingw-w64-on-windows>`__ are actual in this case.
|
||||
|
|
|
@ -186,7 +186,7 @@ class CustomInstall(install):
|
|||
('mingw', 'm', 'Compile with MinGW'),
|
||||
('gpu', 'g', 'Compile GPU version'),
|
||||
('mpi', None, 'Compile MPI version'),
|
||||
('nomp', None, 'Compile without openmp'),
|
||||
('nomp', None, 'Compile version without OpenMP support'),
|
||||
('hdfs', 'h', 'Compile HDFS version'),
|
||||
('precompile', 'p', 'Use precompiled library'),
|
||||
('boost-root=', None, 'Boost preferred installation prefix'),
|
||||
|
|
Загрузка…
Ссылка в новой задаче