You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Habitat is a tool that predicts a deep neural network's training iteration
7
-
execution time on a given GPU. It currently supports PyTorch. To learn more
8
-
about how Habitat works, please see our [research
9
-
paper](https://arxiv.org/abs/2102.00527).
10
5
11
6
12
-
## Running From Source
7
+
A Runtime-Based Computational Performance Predictor for Deep Neural Network Training
13
8
14
-
Currently, the only way to run Habitat is to build it from source. You should
15
-
use the Docker image provided in this repository to make sure that you can
16
-
compile the code.
9
+
-[Installation](#installation)
10
+
-[Building from source](#build)
11
+
-[Usage example](#getting-started)
12
+
-[Development Environment Setup](#dev-setup)
13
+
-[Release process](#release-process)
14
+
-[Release history](#release-history)
15
+
-[License](#license)
16
+
-[Research paper](#paper)
17
+
-[Contributing](#contributing)
17
18
18
-
1. Download the [Habitat pre-trained
19
-
models](https://doi.org/10.5281/zenodo.4876277).
20
-
2. Run `extract-models.sh` under `analyzer` to extract and install the
21
-
pre-trained models.
22
-
3. Run `setup.sh` under `docker/` to build the Habitat container image.
23
-
4. Run `start.sh` to start a new container. By default, your home directory
24
-
will be mounted inside the container under `~/home`.
25
-
5. Once inside the container, run `install-dev.sh` under `analyzer/` to build
26
-
and install the Habitat package.
27
-
6. In your scripts, `import habitat` to get access to Habitat. See
28
-
`experiments/run_experiment.py` for an example showing how to use Habitat.
19
+
Habitat is a tool that predicts a deep neural network's training iteration execution time on a given GPU. It currently supports PyTorch. To learn more about how Habitat works, please see our [research paper](https://arxiv.org/abs/2102.00527).
29
20
30
-
**Note:** Habitat needs access to your GPU's performance counters, which
31
-
requires special permissions if you are running with a recent driver (418.43 or
32
-
later). If you encounter a `CUPTI_ERROR_INSUFFICIENT_PRIVILEGES` error when
**Note:** Habitat needs access to your GPU's performance counters, which requires special permissions if you are running with a recent driver (418.43 or later). If you encounter a `CUPTI_ERROR_INSUFFICIENT_PRIVILEGES` error when running Habitat, please follow the instructions [here](https://developer.nvidia.com/ERR_NVGPUCTRPERM) and in [issue #5](https://github.com/geoffxy/habitat/issues/5).
67
+
68
+
### Building with Docker
69
+
70
+
Habitat has been tested to work on the latest version of [NVIDIA NGC PyTorch containers](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch).
71
+
72
+
1. To build Habitat with Docker, first run the NGC container.
73
+
```bash
74
+
docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:22.08-py3
75
+
```
76
+
2. Inside the container, clone the repository then build and install the Habitat Python package:
3. Download and extract the pretrained models by following the steps in the previous section.
82
+
83
+
### Building without Docker
84
+
85
+
1. Install CUPTI
86
+
87
+
CUPTI is a profiling interface required by Habitat. Select the correct version of CUDA [here](https://developer.nvidia.com/cuda-toolkit-archive) and following the instructions to add NVIDIA's repository. Then, install CUPTI with:
88
+
```bash
89
+
sudo apt-get install cuda-cupti-11-x
90
+
```
91
+
where `11-x` represents the version of CUDA you have installed.
92
+
93
+
2. Install `CMake` 3.17+.
94
+
95
+
Follow these steps to download and install a precompiled version of CMake:
See [Releases](https://github.com/UofT-EcoSystem/habitat/releases)
153
+
154
+
<h2id="license">License</h2>
39
155
40
156
The code in this repository is licensed under the Apache 2.0 license (see
41
157
`LICENSE` and `NOTICE`), with the exception of the files mentioned below.
@@ -56,15 +172,11 @@ corresponding `README` files and license files inside the subdirectories for
56
172
more information.
57
173
58
174
59
-
## Research Paper
175
+
<h2id="paper">Research Paper</h2>
60
176
61
-
Habitat began as a research project in the [EcoSystem
62
-
Group](https://www.cs.toronto.edu/ecosystem) at the [University of
63
-
Toronto](https://cs.toronto.edu). The accompanying research paper will appear
64
-
in the proceedings of [USENIX
177
+
Habitat began as a research project in the [EcoSystem Group](https://www.cs.toronto.edu/ecosystem) at the [University of Toronto](https://cs.toronto.edu). The accompanying research paper appeared in the proceedings of [USENIX
65
178
ATC'21](https://www.usenix.org/conference/atc21/presentation/yu). If you are
66
-
interested, you can read a preprint of the paper
67
-
[here](https://arxiv.org/abs/2102.00527).
179
+
interested, you can read a preprint of the paper [here](https://arxiv.org/abs/2102.00527).
68
180
69
181
If you use Habitat in your research, please consider citing our paper:
70
182
@@ -79,3 +191,7 @@ If you use Habitat in your research, please consider citing our paper:
79
191
year = {2021},
80
192
}
81
193
```
194
+
<h2id="contributing">Contributing</h2>
195
+
196
+
Check out [CONTRIBUTING.md](https://github.com/CentML/habitat/blob/main/CONTRIBUTING.md) for more information on how to help with Habitat.
0 commit comments