Skip to content

🏙 Interactive in-editor performance profiling, visualization, and debugging for PyTorch neural networks.

License

Notifications You must be signed in to change notification settings

skylineprof/skyline

Repository files navigation

Skyline


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.


Installing Skyline

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.

Getting Started

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.

Versioning

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.

License

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.

Research Paper

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},
}

Authors

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.