index.rst 5.42 KB
Newer Older
Minjie Wang's avatar
Minjie Wang committed
1
Install DGL
2
===========
Minjie Wang's avatar
Minjie Wang committed
3

4
This topic explains how to install DGL. We recommend installing DGL by using ``conda`` or ``pip``.
Minjie Wang's avatar
Minjie Wang committed
5

Gan Quan's avatar
Gan Quan committed
6
7
System requirements
-------------------
8
DGL works with the following operating systems:
Gan Quan's avatar
Gan Quan committed
9
10
11

* Ubuntu 16.04
* macOS X
12
* Windows 10
Gan Quan's avatar
Gan Quan committed
13

14
DGL requires Python version 3.5 or later. Python 3.4 or earlier is not
Mufei Li's avatar
Mufei Li committed
15
tested.
Gan Quan's avatar
Gan Quan committed
16

17
DGL supports multiple tensor libraries as backends, e.g., PyTorch, MXNet. For requirements on backends and how to select one, see :ref:`backends`.
Gan Quan's avatar
Gan Quan committed
18

19
20
21
Starting at version 0.3, DGL is separated into CPU and CUDA builds.  The builds share the
same Python package name. If you install DGL with a CUDA 9 build after you install the
CPU build, then the CPU build is overwritten.
22

Gan Quan's avatar
Gan Quan committed
23
24
Install from conda
----------------------
25
26
If ``conda`` is not yet installed, get either `miniconda <https://conda.io/miniconda.html>`_ or
the full `anaconda <https://www.anaconda.com/download/>`_.
Gan Quan's avatar
Gan Quan committed
27

28
29
30
31
With ``conda`` installed, you will want install DGL into Python 3.5 ``conda`` environment.
Run `conda create -n dgl python=3.5` to create the environment.
Activate the environment by running `source activate dgl`.
After the ``conda`` environment is activated, run one of the following commands.
Minjie Wang's avatar
Minjie Wang committed
32
33
34

.. code:: bash

35
36
37
   conda install -c dglteam dgl              # For CPU Build
   conda install -c dglteam dgl-cuda9.0      # For CUDA 9.0 Build
   conda install -c dglteam dgl-cuda10.0     # For CUDA 10.0 Build
38
39
   conda install -c dglteam dgl-cuda10.1     # For CUDA 10.1 Build

Minjie Wang's avatar
Minjie Wang committed
40

Gan Quan's avatar
Gan Quan committed
41
42
Install from pip
----------------
43
For CPU builds, run the following command to install with ``pip``.
Minjie Wang's avatar
Minjie Wang committed
44
45
46

.. code:: bash

Gan Quan's avatar
Gan Quan committed
47
   pip install dgl
48

49
For CUDA builds, run one of the following commands and specify the CUDA version.
50
51
52

.. code:: bash

53
54
55
   pip install dgl           # For CPU Build
   pip install dgl-cu90      # For CUDA 9.0 Build
   pip install dgl-cu92      # For CUDA 9.2 Build
56
   pip install dgl-cu100     # For CUDA 10.0 Build
57
   pip install dgl-cu101     # For CUDA 10.1 Build
58

59
For the most current nightly build from master branch, run one of the following commands.
60
61
62

.. code:: bash

63
64
65
66
   pip install --pre dgl           # For CPU Build
   pip install --pre dgl-cu90      # For CUDA 9.0 Build
   pip install --pre dgl-cu92      # For CUDA 9.2 Build
   pip install --pre dgl-cu100     # For CUDA 10.0 Build
67
   pip install --pre dgl-cu101     # For CUDA 10.1 Build
68

Gan Quan's avatar
Gan Quan committed
69

70
71
.. _install-from-source:

Gan Quan's avatar
Gan Quan committed
72
73
Install from source
-------------------
74
Download the source files from GitHub.
Gan Quan's avatar
Gan Quan committed
75
76

.. code:: bash
Minjie Wang's avatar
Minjie Wang committed
77

78
   git clone --recurse-submodules https://github.com/dmlc/dgl.git
Minjie Wang's avatar
Minjie Wang committed
79

80
(Optional) Clone the repository first, and then run the following:
Minjie Wang's avatar
Minjie Wang committed
81
82
83

.. code:: bash

84
   git submodule update --init --recursive
Gan Quan's avatar
Gan Quan committed
85
86
87

Linux
`````
Minjie Wang's avatar
Minjie Wang committed
88

89
Install the system packages for building the shared library. For Debian and Ubuntu
Gan Quan's avatar
Gan Quan committed
90
users, run:
Minjie Wang's avatar
Minjie Wang committed
91
92
93

.. code:: bash

Gan Quan's avatar
Gan Quan committed
94
   sudo apt-get update
Da Zheng's avatar
Da Zheng committed
95
   sudo apt-get install -y build-essential python3-dev make cmake
Minjie Wang's avatar
Minjie Wang committed
96

Gan Quan's avatar
Gan Quan committed
97
For Fedora/RHEL/CentOS users, run:
Minjie Wang's avatar
Minjie Wang committed
98

Gan Quan's avatar
Gan Quan committed
99
100
101
.. code:: bash

   sudo yum install -y gcc-c++ python3-devel make cmake
Minjie Wang's avatar
Minjie Wang committed
102

103
104
105
Build the shared library. Use the configuration template ``cmake/config.cmake``.
Copy it to either the project directory or the build directory and change the
configuration as you wish. For example, change ``USE_CUDA`` to ``ON`` will
106
enable a CUDA build. You could also pass ``-DKEY=VALUE`` to the cmake command
107
108
for the same purpose.

109
- CPU-only build
110
111
112
113
114
115
   .. code:: bash

      mkdir build
      cd build
      cmake ..
      make -j4
116
- CUDA build
117
118
119
120
121
122
123
124
   .. code:: bash

      mkdir build
      cd build
      cmake -DUSE_CUDA=ON ..
      make -j4

Finally, install the Python binding.
Minjie Wang's avatar
Minjie Wang committed
125
126
127

.. code:: bash

Gan Quan's avatar
Gan Quan committed
128
129
130
131
132
133
   cd ../python
   python setup.py install

macOS
`````

134
Installation on macOS is similar to Linux. But macOS users need to install build tools like clang, GNU Make, and cmake first. These installation steps were tested on macOS X with clang 10.0.0, GNU Make 3.81, and cmake 3.13.1.
Minjie Wang's avatar
Minjie Wang committed
135

Gan Quan's avatar
Gan Quan committed
136
Tools like clang and GNU Make are packaged in **Command Line Tools** for macOS. To
137
install, run the following:
Minjie Wang's avatar
Minjie Wang committed
138
139
140

.. code:: bash

Gan Quan's avatar
Gan Quan committed
141
   xcode-select --install
Minjie Wang's avatar
Minjie Wang committed
142

Gan Quan's avatar
Gan Quan committed
143
To install other needed packages like cmake, we recommend first installing
144
**Homebrew**, which is a popular package manager for macOS. To learn more, see the `Homebrew website <https://brew.sh/>`_.
Gan Quan's avatar
Gan Quan committed
145

146
After you install Homebrew, install cmake.
Minjie Wang's avatar
Minjie Wang committed
147
148
149

.. code:: bash

Gan Quan's avatar
Gan Quan committed
150
   brew install cmake
Minjie Wang's avatar
Minjie Wang committed
151

152
153
Go to root directory of the DGL repository, build a shared library, and
install the Python binding for DGL.
Gan Quan's avatar
Gan Quan committed
154
155

.. code:: bash
Minjie Wang's avatar
Minjie Wang committed
156

Gan Quan's avatar
Gan Quan committed
157
158
   mkdir build
   cd build
159
   cmake -DUSE_OPENMP=off ..
Gan Quan's avatar
Gan Quan committed
160
161
162
   make -j4
   cd ../python
   python setup.py install
Minjie Wang's avatar
Minjie Wang committed
163

Gan Quan's avatar
Gan Quan committed
164
165
Windows
```````
Minjie Wang's avatar
Minjie Wang committed
166

167
The Windows source build is tested with CMake and MinGW/GCC.  We highly recommend
Gan Quan's avatar
Gan Quan committed
168
using CMake and GCC from `conda installations <https://conda.io/miniconda.html>`_.  To
169
get started, run the following:
Minjie Wang's avatar
Minjie Wang committed
170
171
172

.. code:: bash

Gan Quan's avatar
Gan Quan committed
173
174
   conda install cmake m2w64-gcc m2w64-make

175
Build the shared library and install the Python binding.
Gan Quan's avatar
Gan Quan committed
176
177
178
179
180

.. code::

   md build
   cd build
181
   cmake -DCMAKE_CXX_FLAGS="-DDMLC_LOG_STACK_TRACE=0 -DDGL_EXPORTS" -DCMAKE_MAKE_PROGRAM=mingw32-make .. -G "MSYS Makefiles"
Gan Quan's avatar
Gan Quan committed
182
183
184
   mingw32-make
   cd ..\python
   python setup.py install
Quan (Andy) Gan's avatar
Quan (Andy) Gan committed
185

186
You can also build DGL with MSBuild.  With `MS Build Tools <https://go.microsoft.com/fwlink/?linkid=840931>`_
Quan (Andy) Gan's avatar
Quan (Andy) Gan committed
187
and `CMake on Windows <https://cmake.org/download/>`_ installed, run the following
188
in VS2017 x64 Native tools command prompt.
Quan (Andy) Gan's avatar
Quan (Andy) Gan committed
189
190
191
192
193
194
195
196
197

.. code::

   MD build
   CD build
   cmake -DCMAKE_CXX_FLAGS="/DDGL_EXPORTS" -DCMAKE_CONFIGURATION_TYPES="Release" .. -G "Visual Studio 15 2017 Win64"
   msbuild dgl.sln
   cd ..\python
   python setup.py install