"src/targets/gpu/tanh.cpp" did not exist on "96358e41cc883791c8d3ad50280bea4871a18000"
Installation.rst 5.18 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Installation Guide
==================

Installing with pip
-------------------

**Prerequisites for installation via wheel or PyPI:**

- **Operating System**: Ubuntu 20.04 or later

- **Python Version**: >= 3.8

- **CUDA Version**: >= 11.0

The easiest way to install TileLang is directly from PyPI using pip. To install the latest version, run the following command in your terminal:

.. code:: bash

   pip install tilelang

Alternatively, you may choose to install TileLang using prebuilt packages available on the Release Page:

.. code:: bash

   pip install tilelang-0.0.0.dev0+ubuntu.20.4.cu120-py3-none-any.whl

To install the latest version of TileLang from the GitHub repository, you can run the following command:

.. code:: bash

   pip install git+https://github.com/tile-ai/tilelang.git

After installing TileLang, you can verify the installation by running:

.. code:: bash

   python -c "import tilelang; print(tilelang.__version__)"

Building from Source
--------------------

**Prerequisites for building from source:**

- **Operating System**: Linux

- **Python Version**: >= 3.7

- **CUDA Version**: >= 10.0

We recommend using a Docker container with the necessary dependencies to build TileLang from source. You can use the following command to run a Docker container with the required dependencies:

.. code:: bash

   docker run --gpus all -it --rm --ipc=host nvcr.io/nvidia/pytorch:23.01-py3

To build and install TileLang directly from source, follow these steps. This process requires certain pre-requisites from Apache TVM, which can be installed on Ubuntu/Debian-based systems using the following commands:

.. code:: bash

   sudo apt-get update
   sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev

After installing the prerequisites, you can clone the TileLang repository and install it using pip:

.. code:: bash

   git clone --recursive https://github.com/tile-ai/tilelang.git
68
   cd tileLang
69
70
71
72
73
74
75
76
77
78
   pip install .  # Please be patient, this may take some time.

If you want to install TileLang in development mode, you can run the following command:

.. code:: bash

   pip install -e .

We currently provide three methods to install **TileLang**:

79
80
81
1. `Install from Source (using your own TVM installation)`_
2. `Install from Source (using the bundled TVM submodule)`_
3. `Install Using the Provided` Script_
82

83
84
85
.. _Install from Source (using your own TVM installation): #method-1-install-from-source-using-your-own-tvm-installation
.. _Install from Source (using the bundled TVM submodule): #method-2-install-from-source-using-the-bundled-tvm-submodule
.. _Install Using the Provided Script: #method-3-install-using-the-provided-script
86
87
88
89
90
91
92
93
94
95
96
97


Method 1: Install from Source (Using Your Own TVM Installation)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you already have a compatible TVM installation, follow these steps:

1. **Clone the Repository**:

   .. code:: bash

      git clone --recursive https://github.com/tile-ai/tilelang
98
      cd tilelang
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118

   **Note**: Use the `--recursive` flag to include necessary submodules.

2. **Configure Build Options**:

   Create a build directory and specify your existing TVM path:

   .. code:: bash

      mkdir build
      cd build
      cmake .. -DTVM_PREBUILD_PATH=/your/path/to/tvm/build  # e.g., /workspace/tvm/build
      make -j 16

3. **Set Environment Variables**:

   Update `PYTHONPATH` to include the `tile-lang` Python module:

   .. code:: bash

119
      export PYTHONPATH=/your/path/to/tilelang/:$PYTHONPATH
120
121
122
123
124
125
126
127
128
129
130
131
132
      # TVM_IMPORT_PYTHON_PATH is used by 3rd-party frameworks to import TVM
      export TVM_IMPORT_PYTHON_PATH=/your/path/to/tvm/python

Method 2: Install from Source (Using the Bundled TVM Submodule)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If you prefer to use the built-in TVM version, follow these instructions:

1. **Clone the Repository**:

   .. code:: bash

      git clone --recursive https://github.com/tile-ai/tilelang
133
      cd tilelang
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159

   **Note**: Ensure the `--recursive` flag is included to fetch submodules.

2. **Configure Build Options**:

   Copy the configuration file and enable the desired backends (e.g., LLVM and CUDA):

   .. code:: bash

      mkdir build
      cp 3rdparty/tvm/cmake/config.cmake build
      cd build
      echo "set(USE_LLVM ON)" >> config.cmake
      echo "set(USE_CUDA ON)" >> config.cmake 
      # or echo "set(USE_ROCM ON)" >> config.cmake to enable ROCm runtime
      cmake ..
      make -j 16

   The build outputs (e.g., `libtilelang.so`, `libtvm.so`, `libtvm_runtime.so`) will be generated in the `build` directory.

3. **Set Environment Variables**:

   Ensure the `tile-lang` Python package is in your `PYTHONPATH`:

   .. code:: bash

160
      export PYTHONPATH=/your/path/to/tilelang/:$PYTHONPATH
161
162
163
164
165
166
167
168
169
170
171

Method 3: Install Using the Provided Script
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For a simplified installation, use the provided script:

1. **Clone the Repository**:

   .. code:: bash

      git clone --recursive https://github.com/tile-ai/tilelang
172
      cd tilelang
173
174
175
176
177

2. **Run the Installation Script**:

   .. code:: bash

178
      bash install_cuda.sh
179
      # or bash `install_amd.sh` if you want to enable ROCm runtime