index.rst 5.73 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

Mufei Li's avatar
Mufei Li committed
14
DGL requires Python version 3.6 or later.
Gan Quan's avatar
Gan Quan committed
15

16
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
17

18
19
20
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.
21

Gan Quan's avatar
Gan Quan committed
22
23
Install from conda
----------------------
24
25
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
26

Mufei Li's avatar
Mufei Li committed
27
28
With ``conda`` installed, you will want install DGL into Python 3.6 ``conda`` environment.
Run `conda create -n dgl python=3.6` to create the environment.
29
30
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
31
32
33

.. code:: bash

34
35
36
   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
37
   conda install -c dglteam dgl-cuda10.1     # For CUDA 10.1 Build
38
   conda install -c dglteam dgl-cuda10.2     # For CUDA 10.2 Build
39
   conda install -c dglteam dgl-cuda11.0     # For CUDA 11.0 Build
40

Minjie Wang's avatar
Minjie Wang committed
41

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

.. code:: bash

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

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

.. code:: bash

54
55
56
   pip install dgl           # For CPU Build
   pip install dgl-cu90      # For CUDA 9.0 Build
   pip install dgl-cu92      # For CUDA 9.2 Build
57
   pip install dgl-cu100     # For CUDA 10.0 Build
58
   pip install dgl-cu101     # For CUDA 10.1 Build
59
   pip install dgl-cu102     # For CUDA 10.2 Build
60
   pip install dgl-cu110     # For CUDA 11.0 Build
61

62
For the most current nightly build from master branch, run one of the following commands.
63
64
65

.. code:: bash

66
67
68
69
   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
70
   pip install --pre dgl-cu101     # For CUDA 10.1 Build
71
   pip install --pre dgl-cu102     # For CUDA 10.2 Build
72
   pip install --pre dgl-cu110     # For CUDA 11.0 Build
73

Gan Quan's avatar
Gan Quan committed
74

75
76
.. _install-from-source:

Gan Quan's avatar
Gan Quan committed
77
78
Install from source
-------------------
79
Download the source files from GitHub.
Gan Quan's avatar
Gan Quan committed
80
81

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

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

85
(Optional) Clone the repository first, and then run the following:
Minjie Wang's avatar
Minjie Wang committed
86
87
88

.. code:: bash

89
   git submodule update --init --recursive
Gan Quan's avatar
Gan Quan committed
90
91
92

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

94
Install the system packages for building the shared library. For Debian and Ubuntu
Gan Quan's avatar
Gan Quan committed
95
users, run:
Minjie Wang's avatar
Minjie Wang committed
96
97
98

.. code:: bash

Gan Quan's avatar
Gan Quan committed
99
   sudo apt-get update
Da Zheng's avatar
Da Zheng committed
100
   sudo apt-get install -y build-essential python3-dev make cmake
Minjie Wang's avatar
Minjie Wang committed
101

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

Gan Quan's avatar
Gan Quan committed
104
105
106
.. code:: bash

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

108
109
110
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
111
enable a CUDA build. You could also pass ``-DKEY=VALUE`` to the cmake command
112
113
for the same purpose.

114
- CPU-only build
115
116
117
118
119
120
   .. code:: bash

      mkdir build
      cd build
      cmake ..
      make -j4
121
- CUDA build
122
123
124
125
126
127
128
129
   .. code:: bash

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

Finally, install the Python binding.
Minjie Wang's avatar
Minjie Wang committed
130
131
132

.. code:: bash

Gan Quan's avatar
Gan Quan committed
133
134
135
136
137
138
   cd ../python
   python setup.py install

macOS
`````

139
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
140

Gan Quan's avatar
Gan Quan committed
141
Tools like clang and GNU Make are packaged in **Command Line Tools** for macOS. To
142
install, run the following:
Minjie Wang's avatar
Minjie Wang committed
143
144
145

.. code:: bash

Gan Quan's avatar
Gan Quan committed
146
   xcode-select --install
Minjie Wang's avatar
Minjie Wang committed
147

Gan Quan's avatar
Gan Quan committed
148
To install other needed packages like cmake, we recommend first installing
149
**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
150

151
After you install Homebrew, install cmake.
Minjie Wang's avatar
Minjie Wang committed
152
153
154

.. code:: bash

Gan Quan's avatar
Gan Quan committed
155
   brew install cmake
Minjie Wang's avatar
Minjie Wang committed
156

157
158
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
159
160

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

Gan Quan's avatar
Gan Quan committed
162
163
   mkdir build
   cd build
164
   cmake -DUSE_OPENMP=off ..
Gan Quan's avatar
Gan Quan committed
165
166
167
   make -j4
   cd ../python
   python setup.py install
Minjie Wang's avatar
Minjie Wang committed
168

Gan Quan's avatar
Gan Quan committed
169
170
Windows
```````
Minjie Wang's avatar
Minjie Wang committed
171

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

.. code:: bash

Gan Quan's avatar
Gan Quan committed
178
179
   conda install cmake m2w64-gcc m2w64-make

180
Build the shared library and install the Python binding.
Gan Quan's avatar
Gan Quan committed
181
182
183
184
185

.. code::

   md build
   cd build
186
   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
187
188
189
   mingw32-make
   cd ..\python
   python setup.py install
Quan (Andy) Gan's avatar
Quan (Andy) Gan committed
190

191
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
192
and `CMake on Windows <https://cmake.org/download/>`_ installed, run the following
193
in VS2017 x64 Native tools command prompt.
Quan (Andy) Gan's avatar
Quan (Andy) Gan committed
194
195
196
197
198
199
200
201
202

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