dmlc--dgl
257 行
7.6 KiB
ReStructuredText
257 行
7.6 KiB
ReStructuredText
Install DGL
|
|
============
|
|
|
|
At this stage, we recommend installing DGL from ``conda`` or ``pip``.
|
|
|
|
System requirements
|
|
-------------------
|
|
Currently DGL is tested on
|
|
|
|
* Ubuntu 16.04
|
|
* macOS X
|
|
* Windows 10
|
|
|
|
DGL is expected to work on all Linux distributions later than Ubuntu 16.04, macOS X, and
|
|
Windows 10.
|
|
|
|
DGL also requires the Python version to be 3.5 or later. Python 3.4 or less is not
|
|
tested, and Python 2 support is coming.
|
|
|
|
DGL supports multiple tensor libraries (e.g. PyTorch, MXNet) as backends; refer
|
|
`Working with different backends`_ for requirements on backends and how to select a
|
|
backend.
|
|
|
|
Starting from 0.3 DGL is separated into CPU and CUDA builds. The builds share the
|
|
same Python package name, so installing DGL with CUDA 9 build after installing the
|
|
CPU build will overwrite the latter.
|
|
|
|
Install from conda
|
|
----------------------
|
|
One can either grab `miniconda <https://conda.io/miniconda.html>`_ or
|
|
the full `anaconda <https://www.anaconda.com/download/>`_ if ``conda``
|
|
has not been installed.
|
|
|
|
Once the conda environment is activated, run
|
|
|
|
.. code:: bash
|
|
|
|
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
|
|
|
|
Install from pip
|
|
----------------
|
|
For CPU builds, one can simply run the following command to install via ``pip``:
|
|
|
|
.. code:: bash
|
|
|
|
pip install dgl
|
|
|
|
For CUDA builds, one needs to specify the URL:
|
|
|
|
.. code:: bash
|
|
|
|
pip install https://s3.us-east-2.amazonaws.com/dgl.ai/<BUILD-DIR>/dgl-0.3-<PYTHON-ABI>-<PLATFORM>.whl
|
|
|
|
where ``<BUILD-DIR>``, ``<PYTHON-ABI>`` and ``<PLATFORM>`` can take either of the following values:
|
|
|
|
+------------+---------------------+
|
|
| Build Type | ``<BUILD>`` |
|
|
+============+=====================+
|
|
| CUDA 9.0 | ``wheels/cuda9.0`` |
|
|
+------------+---------------------+
|
|
| CUDA 10.0 | ``wheels/cuda10.0`` |
|
|
+------------+---------------------+
|
|
|
|
+------------------+------------------+
|
|
| Python Version | ``<PYTHON-ABI>`` |
|
|
+==================+==================+
|
|
| Python 3.5 | ``cp35-cp35m`` |
|
|
+------------------+------------------+
|
|
| Python 3.6 | ``cp36-cp36m`` |
|
|
+------------------+------------------+
|
|
| Python 3.7 | ``cp37-cp37m`` |
|
|
+------------------+------------------+
|
|
|
|
+-------------+-----------------------+
|
|
| OS/Arch | ``<PLATFORM>`` |
|
|
+=============+=======================+
|
|
| Linux x64 | ``manylinux1_x86_64`` |
|
|
+-------------+-----------------------+
|
|
| Windows x64 | ``win_amd64`` |
|
|
+-------------+-----------------------+
|
|
|
|
For instance, if one wants to install the CUDA 9.0 build on Linux, Python 3.5, then the command is
|
|
|
|
.. code:: bash
|
|
|
|
pip install https://s3.us-east-2.amazonaws.com/dgl.ai/wheels/cuda9.0/dgl-0.3-cp35-cp35m-manylinux1_x86_64.whl
|
|
|
|
Working with different backends
|
|
-------------------------------
|
|
|
|
Currently DGL supports PyTorch and MXNet.
|
|
|
|
Switching backend
|
|
`````````````````
|
|
|
|
The backend is controlled by ``DGLBACKEND`` environment variable, which defaults to
|
|
``pytorch``. Currently it supports the following values:
|
|
|
|
+---------+---------+--------------------------------------------------+
|
|
| Value | Backend | Memo |
|
|
+=========+=========+==================================================+
|
|
| pytorch | PyTorch | Requires 0.4.1 or later; see |
|
|
| | | `official website <https://pytorch.org>`_ |
|
|
+---------+---------+--------------------------------------------------+
|
|
| mxnet | MXNet | Requires MXNet 1.5 |
|
|
| | | |
|
|
| | | .. code:: bash |
|
|
| | | |
|
|
| | | pip install mxnet |
|
|
| | | |
|
|
| | | or cuda version (e.g. for cuda 9.0) |
|
|
| | | |
|
|
| | | .. code:: bash |
|
|
| | | |
|
|
| | | pip install mxnet-cu90 |
|
|
| | | |
|
|
+---------+---------+--------------------------------------------------+
|
|
| numpy | NumPy | Does not support gradient computation |
|
|
+---------+---------+--------------------------------------------------+
|
|
|
|
.. _install-from-source:
|
|
|
|
Install from source
|
|
-------------------
|
|
First, download the source files from GitHub:
|
|
|
|
.. code:: bash
|
|
|
|
git clone --recursive https://github.com/dmlc/dgl.git
|
|
|
|
One can also clone the repository first and run the following:
|
|
|
|
.. code:: bash
|
|
|
|
git submodule init
|
|
git submodule update
|
|
|
|
Linux
|
|
`````
|
|
|
|
Install the system packages for building the shared library, for Debian/Ubuntu
|
|
users, run:
|
|
|
|
.. code:: bash
|
|
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential build-dep python3-dev make cmake
|
|
|
|
For Fedora/RHEL/CentOS users, run:
|
|
|
|
.. code:: bash
|
|
|
|
sudo yum install -y gcc-c++ python3-devel make cmake
|
|
|
|
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
|
|
enable cuda build. You could also pass ``-DKEY=VALUE`` to the cmake command
|
|
for the same purpose.
|
|
|
|
- CPU-only build:
|
|
.. code:: bash
|
|
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make -j4
|
|
- Cuda build:
|
|
.. code:: bash
|
|
|
|
mkdir build
|
|
cd build
|
|
cmake -DUSE_CUDA=ON ..
|
|
make -j4
|
|
|
|
Finally, install the Python binding.
|
|
|
|
.. code:: bash
|
|
|
|
cd ../python
|
|
python setup.py install
|
|
|
|
macOS
|
|
`````
|
|
|
|
Installation on macOS is similar to Linux. But macOS users need to install
|
|
building tools like clang, GNU Make, cmake first.
|
|
|
|
Tools like clang and GNU Make are packaged in **Command Line Tools** for macOS. To
|
|
install:
|
|
|
|
.. code:: bash
|
|
|
|
xcode-select --install
|
|
|
|
To install other needed packages like cmake, we recommend first installing
|
|
**Homebrew**, which is a popular package manager for macOS. Detailed
|
|
instructions can be found on its `homepage <https://brew.sh/>`_.
|
|
|
|
After installation of Homebrew, install cmake by:
|
|
|
|
.. code:: bash
|
|
|
|
brew install cmake
|
|
|
|
Then go to root directory of DGL repository, build shared library and
|
|
install Python binding for DGL:
|
|
|
|
.. code:: bash
|
|
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make -j4
|
|
cd ../python
|
|
python setup.py install
|
|
|
|
We tested installation on macOS X with clang 10.0.0, GNU Make 3.81, and cmake
|
|
3.13.1.
|
|
|
|
Windows
|
|
```````
|
|
|
|
Currently Windows source build is tested with CMake and MinGW/GCC. We highly recommend
|
|
using CMake and GCC from `conda installations <https://conda.io/miniconda.html>`_. To
|
|
do so, run
|
|
|
|
.. code:: bash
|
|
|
|
conda install cmake m2w64-gcc m2w64-make
|
|
|
|
Then build the shared library and install the Python binding:
|
|
|
|
.. code::
|
|
|
|
md build
|
|
cd build
|
|
cmake -DCMAKE_CXX_FLAGS="-DDMLC_LOG_STACK_TRACE=0 -DDGL_EXPORTS" -DCMAKE_MAKE_PROGRAM=mingw32-make .. -G "MSYS Makefiles"
|
|
mingw32-make
|
|
cd ..\python
|
|
python setup.py install
|
|
|
|
We also support building DGL with MSBuild. With `MS Build Tools <https://go.microsoft.com/fwlink/?linkid=840931>`_
|
|
and `CMake on Windows <https://cmake.org/download/>`_ installed, run the following
|
|
in VS2017 x64 Native tools command prompt:
|
|
|
|
.. 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
|