Skyline is a tool used with Atom to profile, visualize, and debug the training performance of PyTorch neural networks.
Note: Skyline is still under active development and should be considered a beta product. Its usage and system requirements are subject to change between versions. See Versioning for more details.
More information about Skyline, including its documentation, can be found on the Skyline website.
Skyline works with GPU-based neural networks that are implemented in PyTorch.
To run Skyline, you need:
- A system equipped with an NVIDIA GPU
- PyTorch 1.1.0+
- Python 3.6+
Skyline is installed using pip
and the Atom Package Manager (apm
).
pip install skyline-cli
apm install skyline
Generally you need both packages to use Skyline. However, depending on your
use case and development setup, you may only need the pip
package or you may
need to install the packages on different machines. See the installation
page on the website for detailed
installation instructions tailored to different use cases.
After installing Skyline, you will be able to invoke the command line tool by
running skyline
in your shell.
To get started quickly, check out the Getting Started page on the Skyline website.
For more information about using Skyline, including standalone profiling and setting up a remote project, please see the Skyline documentation.
Skyline uses semantic versioning. Before the 1.0.0 release, backward compatibility between minor versions will not be guaranteed.
The Skyline command line tool and plugin use independent version numbers. However, it is very likely that minor and major versions of the command line tool and plugin will be released together (and hence share major/minor version numbers).
Generally speaking, the most recent version of the command line tool and plugin will be compatible with each other.
Skyline is open source software that is licensed under the Apache 2.0 License.
Please see the LICENSE
and NOTICE
files in this repository for more
information.
Inside the samples
directory, we include code samples from third party
developers that carry their own open source licenses. Please see the
README.md
and LICENSE
files inside those directories for more information.
Skyline began as a research project at the University of Toronto; the accompanying research paper appears in the proceedings of UIST'20. If you are interested, you can read a preprint of the paper here.
If you use Skyline in your research, please consider citing our paper:
@inproceedings{skyline-yu20,
title = {{Skyline: Interactive In-Editor Computational Performance Profiling
for Deep Neural Network Training}},
author = {Yu, Geoffrey X. and Grossman, Tovi and Pekhimenko, Gennady},
booktitle = {{Proceedings of the 33rd ACM Symposium on User Interface
Software and Technology (UIST'20)}},
year = {2020},
}
Skyline was written by and is primarily maintained by Geoffrey Yu (gxyu@cs.toronto.edu).
Skyline began as a research project at the University of Toronto in collaboration with Tovi Grossman and Gennady Pekhimenko.