"docs/vscode:/vscode.git/clone" did not exist on "525f8b4b80146de1db3192e1e9ca581ce5a8c6b7"
Installation-Guide.rst 20.7 KB
Newer Older
1
2
3
Installation Guide
==================

4
Here is the guide for the build of LightGBM CLI version.
5

6
7
8
9
All instructions below are aimed to compile 64-bit version of LightGBM.
It is worth to compile 32-bit version only in very rare special cases of environmental limitations.
32-bit version is slow and untested, so use it on your own risk and don't forget to adjust some commands in this guide.

10
11
For the build of Python-package and R-package, please refer to `Python-package`_ and `R-package`_ folders respectively.

12
Also you can download artifacts of the latest successful build in master branch (nightly builds): |download artifacts|.
13

14
15
16
17
.. contents:: **Contents**
    :depth: 1
    :local:
    :backlinks: none
18

19
20
21
Windows
~~~~~~~

22
23
24
25
On Windows LightGBM can be built using

- **Visual Studio**;

26
- **CMake** and **VS Build Tools**;
27
28

- **CMake** and **MinGW**.
29

30
31
Visual Studio (or VS Build Tools)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32
33
34
35

With GUI
********

36
1. Install `Visual Studio`_ (2015 or newer).
37
38
39
40
41

2. Download `zip archive`_ and unzip it.

3. Go to ``LightGBM-master/windows`` folder.

42
4. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release`` configuration and click ``BUILD`` -> ``Build Solution (Ctrl+Shift+B)``.
43

44
   If you have errors about **Platform Toolset**, go to ``PROJECT`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine.
45

46
The ``.exe`` file will be in ``LightGBM-master/windows/x64/Release`` folder.
47
48
49
50

From Command Line
*****************

51
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).
52
53
54
55
56

2. Run the following commands:

   .. code::

57
     git clone --recursive https://github.com/microsoft/LightGBM
58
59
60
     cd LightGBM
     mkdir build
     cd build
61
     cmake -A x64 ..
62
63
     cmake --build . --target ALL_BUILD --config Release

64
The ``.exe`` and ``.dll`` files will be in ``LightGBM/Release`` folder.
65

66
67
MinGW-w64
^^^^^^^^^
68
69
70
71
72
73
74

1. Install `Git for Windows`_, `CMake`_ and `MinGW-w64`_.

2. Run the following commands:

   .. code::

75
     git clone --recursive https://github.com/microsoft/LightGBM
76
77
78
79
80
81
     cd LightGBM
     mkdir build
     cd build
     cmake -G "MinGW Makefiles" ..
     mingw32-make.exe -j4

82
The ``.exe`` and ``.dll`` files will be in ``LightGBM/`` folder.
83

84
**Note**: You may need to run the ``cmake -G "MinGW Makefiles" ..`` one more time if you encounter the ``sh.exe was found in your PATH`` error.
85

86
87
It is recommended to use **Visual Studio** for its 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>`__).
88
89

Also, you may want to read `gcc Tips <./gcc-Tips.rst>`__.
90

91
92
93
Linux
~~~~~

94
On Linux LightGBM can be built using **CMake** and **gcc** or **Clang**.
95

96
1. Install `CMake`_.
97

98
99
100
101
2. Run the following commands:

   .. code::

102
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
103
104
105
     mkdir build ; cd build
     cmake ..
     make -j4
106
107
108

**Note**: glibc >= 2.14 is required.

109
Also, you may want to read `gcc Tips <./gcc-Tips.rst>`__.
110

111
112
macOS
~~~~~
113

114
On macOS LightGBM can be installed using **Homebrew**, or can be built using **CMake** and **Apple Clang** or **gcc**.
115
116
117

Apple Clang
^^^^^^^^^^^
fanliwen's avatar
fanliwen committed
118

119
Only **Apple Clang** version 8.1 or higher is supported.
fanliwen's avatar
fanliwen committed
120

121
122
123
124
125
126
127
128
129
130
Install Using ``Homebrew``
**************************

.. code::

  brew install lightgbm

Build from GitHub
*****************

131
1. Install `CMake`_ (3.16 or higher):
Nikita Titov's avatar
Nikita Titov committed
132

133
   .. code::
Nikita Titov's avatar
Nikita Titov committed
134

135
     brew install cmake
fanliwen's avatar
fanliwen committed
136

137
2. Install **OpenMP**:
fanliwen's avatar
fanliwen committed
138
139
140
141

   .. code::

     brew install libomp
142
143
144
145
146

3. Run the following commands:

   .. code::

147
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
fanliwen's avatar
fanliwen committed
148
149
150
151
     mkdir build ; cd build
     cmake ..
     make -j4

152
153
gcc
^^^
154

155
1. Install `CMake`_ (3.2 or higher):
156

157
   .. code::
158

159
     brew install cmake
160

161
2. Install **gcc**:
162

163
   .. code::
164

165
166
167
168
169
170
     brew install gcc

3. Run the following commands:

   .. code::

171
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
172
173
174
175
     export CXX=g++-7 CC=gcc-7  # replace "7" with version of gcc installed on your machine
     mkdir build ; cd build
     cmake ..
     make -j4
176

177
Also, you may want to read `gcc Tips <./gcc-Tips.rst>`__.
178

179
180
181
Docker
~~~~~~

182
Refer to `Docker folder <https://github.com/microsoft/LightGBM/tree/master/docker>`__.
183

184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
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.

221
The ``.exe`` file will be in ``LightGBM-master/windows/x64/Release`` folder.
222
223
224
225
226
227
228
229
230
231

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::

232
     git clone --recursive https://github.com/microsoft/LightGBM
233
234
235
     cd LightGBM
     mkdir build
     cd build
236
     cmake -A x64 -DUSE_OPENMP=OFF ..
237
238
     cmake --build . --target ALL_BUILD --config Release

239
The ``.exe`` and ``.dll`` files will be in ``LightGBM/Release`` folder.
240
241
242
243
244
245
246
247
248
249

MinGW-w64
*********

1. Install `Git for Windows`_, `CMake`_ and `MinGW-w64`_.

2. Run the following commands:

   .. code::

250
     git clone --recursive https://github.com/microsoft/LightGBM
251
252
253
254
255
256
     cd LightGBM
     mkdir build
     cd build
     cmake -G "MinGW Makefiles" -DUSE_OPENMP=OFF ..
     mingw32-make.exe -j4

257
The ``.exe`` and ``.dll`` files will be in ``LightGBM/`` folder.
258
259
260
261
262
263
264
265
266
267
268
269
270
271

**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::

272
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
     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::

299
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
     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::

323
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
324
325
326
327
328
     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

329
330
331
Build MPI Version
~~~~~~~~~~~~~~~~~

332
333
The default build version of LightGBM is based on socket. LightGBM also supports MPI.
`MPI`_ is a high performance communication approach with `RDMA`_ support.
334
335
336
337
338
339

If you need to run a parallel learning application with high performance communication, you can build the LightGBM with MPI support.

Windows
^^^^^^^

340
341
342
343
On Windows MPI version of LightGBM can be built using

- **MS MPI** and **Visual Studio**;

344
- **MS MPI**, **CMake** and **VS Build Tools**.
345

346
347
348
With GUI
********

349
1. You need to install `MS MPI`_ first. Both ``msmpisdk.msi`` and ``msmpisetup.exe`` are needed.
350

351
2. Install `Visual Studio`_ (2015 or newer).
352
353
354
355
356

3. Download `zip archive`_ and unzip it.

4. Go to ``LightGBM-master/windows`` folder.

357
5. Open ``LightGBM.sln`` file with **Visual Studio**, choose ``Release_mpi`` configuration and click ``BUILD`` -> ``Build Solution (Ctrl+Shift+B)``.
358

359
   If you have errors about **Platform Toolset**, go to ``PROJECT`` -> ``Properties`` -> ``Configuration Properties`` -> ``General`` and select the toolset installed on your machine.
360

361
The ``.exe`` file will be in ``LightGBM-master/windows/x64/Release_mpi`` folder.
362
363
364
365

From Command Line
*****************

366
1. You need to install `MS MPI`_ first. Both ``msmpisdk.msi`` and ``msmpisetup.exe`` are needed.
367

368
2. 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).
369
370
371
372
373

3. Run the following commands:

   .. code::

374
     git clone --recursive https://github.com/microsoft/LightGBM
375
376
377
     cd LightGBM
     mkdir build
     cd build
378
     cmake -A x64 -DUSE_MPI=ON ..
379
380
     cmake --build . --target ALL_BUILD --config Release

381
The ``.exe`` and ``.dll`` files will be in ``LightGBM/Release`` folder.
382

383
**Note**: Building MPI version by **MinGW** is not supported due to the miss of MPI library in it.
384
385
386
387

Linux
^^^^^

388
On Linux MPI version of LightGBM can be built using **Open MPI**, **CMake** and **gcc** or **Clang**.
389

390
1. Install `Open MPI`_.
391

392
2. Install `CMake`_.
393

394
395
396
397
3. Run the following commands:

   .. code::

398
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
399
400
401
     mkdir build ; cd build
     cmake -DUSE_MPI=ON ..
     make -j4
402
403
404

**Note**: glibc >= 2.14 is required.

405
406
macOS
^^^^^
407

408
On macOS MPI version of LightGBM can be built using **Open MPI**, **CMake** and **Apple Clang** or **gcc**.
409

410
411
Apple Clang
***********
412

413
Only **Apple Clang** version 8.1 or higher is supported.
414

415
1. Install `CMake`_ (3.16 or higher):
416

417
   .. code::
418

419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
     brew install cmake

2. Install **OpenMP**:

   .. code::

     brew install libomp

3. Install **Open MPI**:

   .. code::

     brew install open-mpi

4. Run the following commands:

   .. code::

437
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
     mkdir build ; cd build
     cmake -DUSE_MPI=ON ..
     make -j4

gcc
***

1. Install `CMake`_ (3.2 or higher):

   .. code::

     brew install cmake

2. Install **gcc**:

   .. code::

     brew install gcc

3. Install **Open MPI**:

   .. code::

     brew install open-mpi

4. Run the following commands:

   .. code::

467
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
468
469
470
471
     export CXX=g++-7 CC=gcc-7  # replace "7" with version of gcc installed on your machine
     mkdir build ; cd build
     cmake -DUSE_MPI=ON ..
     make -j4
472
473
474
475
476
477
478

Build GPU Version
~~~~~~~~~~~~~~~~~

Linux
^^^^^

479
480
On Linux GPU version of LightGBM can be built using **OpenCL**, **Boost**, **CMake** and **gcc** or **Clang**.

481
482
The following dependencies should be installed before compilation:

483
-  **OpenCL** 1.2 headers and libraries, which is usually provided by GPU manufacture.
484

485
   The generic OpenCL ICD packages (for example, Debian package ``ocl-icd-libopencl1`` and ``ocl-icd-opencl-dev``) can also be used.
486

487
-  **libboost** 1.56 or later (1.61 or later is recommended).
488
489
490
491
492

   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``.

493
-  **CMake** 3.2 or later.
494
495
496
497
498

To build LightGBM GPU version, run the following commands:

.. code::

499
  git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
500
501
  mkdir build ; cd build
  cmake -DUSE_GPU=1 ..
502
503
  # if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
  # cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/local/cuda/lib64/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/local/cuda/include/ ..
504
505
506
507
508
  make -j4

Windows
^^^^^^^

509
On Windows GPU version of LightGBM can be built using **OpenCL**, **Boost**, **CMake** and **VS Build Tools** or **MinGW**.
510

511
If you use **MinGW**, the build procedure is similar to the build on Linux. Refer to `GPU Windows Compilation <./GPU-Windows.rst>`__ to get more details.
512

513
514
Following procedure is for the **MSVC** (Microsoft Visual C++) build.

515
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 installed).
516
517
518
519
520

2. Install **OpenCL** for Windows. The installation depends on the brand (NVIDIA, AMD, Intel) of your GPU card.

   - For running on Intel, get `Intel SDK for OpenCL`_.

521
   - For running on AMD, get AMD APP SDK.
522
523
524

   - For running on NVIDIA, get `CUDA Toolkit`_.

525
526
   Further reading and correspondence table: `GPU SDK Correspondence and Device Targeting Table <./GPU-Targets.rst>`__.

Nikita Titov's avatar
Nikita Titov committed
527
3. Install `Boost Binaries`_.
528

529
   **Note**: Match your Visual C++ version:
530
531
532
   
   Visual Studio 2015 -> ``msvc-14.0-64.exe``,

533
534
535
   Visual Studio 2017 -> ``msvc-14.1-64.exe``,

   Visual Studio 2019 -> ``msvc-14.2-64.exe``.
536
537
538
539
540

4. Run the following commands:

   .. code::

541
     git clone --recursive https://github.com/microsoft/LightGBM
542
543
544
     cd LightGBM
     mkdir build
     cd build
545
546
547
     cmake -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 ..
     # if you have installed NVIDIA CUDA to a customized location, you should specify paths to OpenCL headers and library like the following:
     # cmake -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" ..
548
549
     cmake --build . --target ALL_BUILD --config Release

550
   **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).
551
552
553
554

Docker
^^^^^^

555
Refer to `GPU Docker folder <https://github.com/microsoft/LightGBM/tree/master/docker/gpu>`__.
556

557
558
559
Build HDFS Version
~~~~~~~~~~~~~~~~~~

560
HDFS version of LightGBM was tested on CDH-5.14.4 cluster.
561
562
563
564

Linux
^^^^^

565
On Linux HDFS version of LightGBM can be built using **CMake** and **gcc**.
566

567
1. Install `CMake`_.
fanliwen's avatar
fanliwen committed
568
569
570
571
572

2. Run the following commands:

   .. code::

573
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
fanliwen's avatar
fanliwen committed
574
575
     mkdir build ; cd build
     cmake -DUSE_HDFS=ON ..
576
577
578
579
580
581
     # if you have installed HDFS to a customized location, you should specify paths to HDFS headers (hdfs.h) and library (libhdfs.so) like the following:
     # cmake \
     #   -DUSE_HDFS=ON \
     #   -DHDFS_LIB="/opt/cloudera/parcels/CDH-5.14.4-1.cdh5.14.4.p0.3/lib64/libhdfs.so" \
     #   -DHDFS_INCLUDE_DIR="/opt/cloudera/parcels/CDH-5.14.4-1.cdh5.14.4.p0.3/include/" \
     #   ..
fanliwen's avatar
fanliwen committed
582
583
     make -j4

584
585
586
Build Java Wrapper
~~~~~~~~~~~~~~~~~~

587
588
589
590
591
By the following instructions you can generate a JAR file containing the LightGBM `C API <./Development-Guide.rst#c-api>`__ wrapped by **SWIG**.

Windows
^^^^^^^

592
On Windows Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMake** and **VS Build Tools** or **MinGW**.
593

594
595
VS Build Tools
**************
596

597
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).
598
599
600
601
602
603
604

2. Install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly).

3. Run the following commands:

   .. code::

605
     git clone --recursive https://github.com/microsoft/LightGBM
606
607
608
     cd LightGBM
     mkdir build
     cd build
609
     cmake -A x64 -DUSE_SWIG=ON ..
610
611
     cmake --build . --target ALL_BUILD --config Release

612
The ``.jar`` file will be in ``LightGBM/build`` folder and the ``.dll`` files will be in ``LightGBM/Release`` folder.
613
614
615
616
617
618
619
620
621
622
623
624

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).

3. Run the following commands:

   .. code::

625
     git clone --recursive https://github.com/microsoft/LightGBM
626
627
628
629
630
631
     cd LightGBM
     mkdir build
     cd build
     cmake -G "MinGW Makefiles" -DUSE_SWIG=ON ..
     mingw32-make.exe -j4

632
The ``.jar`` file will be in ``LightGBM/build`` folder and the ``.dll`` files will be in ``LightGBM/`` folder.
633
634
635

**Note**: You may need to run the ``cmake -G "MinGW Makefiles" -DUSE_SWIG=ON ..`` one more time if you encounter the ``sh.exe was found in your PATH`` error.

636
637
638
It is recommended to use **VS Build Tools (Visual Studio)** for its 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>`__).

639
640
641

Also, you may want to read `gcc Tips <./gcc-Tips.rst>`__.

642
643
644
Linux
^^^^^

645
On Linux Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMake** and **gcc** or **Clang**.
646

647
1. Install `CMake`_, `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly).
648

649
2. Run the following commands:
650

651
652
   .. code::

653
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
654
655
     mkdir build ; cd build
     cmake -DUSE_SWIG=ON ..
656
     make -j4
657

658
659
660
661
662
663
664
665
666
667
668
669
670
macOS
^^^^^

On macOS Java wrapper of LightGBM can be built using **Java**, **SWIG**, **CMake** and **Apple Clang** or **gcc**.

First, install `SWIG`_ and **Java** (also make sure that ``JAVA_HOME`` is set properly).
Then, either follow the **Apple Clang** or **gcc** installation instructions below.

Apple Clang
***********

Only **Apple Clang** version 8.1 or higher is supported.

671
1. Install `CMake`_ (3.16 or higher):
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686

   .. code::

     brew install cmake

2. Install **OpenMP**:

   .. code::

     brew install libomp

3. Run the following commands:

   .. code::

687
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
     mkdir build ; cd build
     cmake -DUSE_SWIG=ON -DAPPLE_OUTPUT_DYLIB=ON ..
     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::

711
     git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
712
713
714
715
716
717
718
719
     export CXX=g++-7 CC=gcc-7  # replace "7" with version of gcc installed on your machine
     mkdir build ; cd build
     cmake -DUSE_SWIG=ON -DAPPLE_OUTPUT_DYLIB=ON ..
     make -j4

Also, you may want to read `gcc Tips <./gcc-Tips.rst>`__.


720
721
722
.. |download artifacts| image:: ./_static/images/artifacts-not-available.svg
   :target: https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html

723
.. _Python-package: https://github.com/microsoft/LightGBM/tree/master/python-package
724

725
.. _R-package: https://github.com/microsoft/LightGBM/tree/master/R-package
726

727
.. _zip archive: https://github.com/microsoft/LightGBM/archive/master.zip
728

729
.. _Visual Studio: https://visualstudio.microsoft.com/downloads/
730
731
732
733
734

.. _Git for Windows: https://git-scm.com/download/win

.. _CMake: https://cmake.org/

735
.. _VS Build Tools: https://visualstudio.microsoft.com/downloads/
736
737
738
739
740
741
742

.. _MinGW-w64: https://mingw-w64.org/doku.php/download

.. _MPI: https://en.wikipedia.org/wiki/Message_Passing_Interface

.. _RDMA: https://en.wikipedia.org/wiki/Remote_direct_memory_access

743
.. _MS MPI: https://www.microsoft.com/en-us/download/details.aspx?id=100305
744
745
746
747
748
749
750

.. _Open MPI: https://www.open-mpi.org/

.. _Intel SDK for OpenCL: https://software.intel.com/en-us/articles/opencl-drivers

.. _CUDA Toolkit: https://developer.nvidia.com/cuda-downloads

Nikita Titov's avatar
Nikita Titov committed
751
.. _Boost Binaries: https://bintray.com/boostorg/release/boost-binaries/_latestVersion#files
752
753

.. _SWIG: http://www.swig.org/download.html