skyline
🏙 Interactive in-editor performance profiling, visualization, and debugging for PyTorch neural networks.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.8%) to scientific vocabulary
Keywords
Repository
🏙 Interactive in-editor performance profiling, visualization, and debugging for PyTorch neural networks.
Basic Info
Statistics
- Stars: 32
- Watchers: 1
- Forks: 3
- Open Issues: 19
- Releases: 8
Topics
Metadata Files
README.md

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).
bash
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:
bibtex
@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.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use Skyline, please cite it as below."
authors:
- family-names: "Yu"
given-names: "Geoffrey X."
- family-names: "Grossman"
given-names: "Tovi"
- family-names: "Pekhimenko"
given-names: "Gennady"
title: "Skyline: Interactive In-Editor Computational Performance Profiling for Deep Neural Network Training"
version: 0.5.0
date-released: 2020-07-22
url: "https://github.com/skylineprof/skyline"
preferred-citation:
type: conference-paper
authors:
- family-names: "Yu"
given-names: "Geoffrey X."
- family-names: "Grossman"
given-names: "Tovi"
- family-names: "Pekhimenko"
given-names: "Gennady"
collection-title: "Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology (UIST '20)"
doi: 10.1145/3379337.3415890
start: 126
end: 139
title: "Skyline: Interactive In-Editor Computational Performance Profiling for Deep Neural Network Training"
month: 10
year: 2020
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Dependencies
- @babel/runtime 7.7.7
- ajv 6.11.0
- asn1 0.2.4
- assert-plus 1.0.0
- asynckit 0.4.0
- aws-sign2 0.7.0
- aws4 1.9.1
- bcrypt-pbkdf 1.0.2
- caseless 0.12.0
- combined-stream 1.0.8
- core-util-is 1.0.2
- dashdash 1.14.1
- debug 3.2.6
- delayed-stream 1.0.0
- ecc-jsbn 0.1.2
- extend 3.0.2
- extsprintf 1.3.0
- fast-deep-equal 3.1.1
- fast-json-stable-stringify 2.1.0
- forever-agent 0.6.1
- form-data 2.3.3
- getpass 0.1.7
- google-protobuf 3.7.0-rc.2
- har-schema 2.0.0
- har-validator 5.1.3
- hoist-non-react-statics 3.3.1
- http-signature 1.2.0
- invariant 2.2.4
- is-typedarray 1.0.0
- isstream 0.1.2
- js-tokens 3.0.2
- jsbn 0.1.1
- json-schema 0.2.3
- json-schema-traverse 0.4.1
- json-stringify-safe 5.0.1
- jsprim 1.4.1
- loose-envify 1.4.0
- mime-db 1.43.0
- mime-types 2.1.26
- ms 2.1.2
- oauth-sign 0.9.0
- object-assign 4.1.1
- performance-now 2.1.0
- prop-types 15.7.2
- psl 1.7.0
- punycode 2.1.1
- punycode 1.4.1
- qs 6.5.2
- react 16.8.3
- react-dom 16.8.3
- react-is 16.8.3
- react-is 16.12.0
- react-redux 7.1.3
- redux 4.0.5
- redux-thunk 2.3.0
- regenerator-runtime 0.13.3
- request 2.88.0
- safe-buffer 5.2.0
- safer-buffer 2.1.2
- scheduler 0.13.3
- sshpk 1.16.1
- symbol-observable 1.2.0
- tough-cookie 2.4.3
- tunnel-agent 0.6.0
- tweetnacl 0.14.5
- universal-analytics 0.4.20
- uri-js 4.2.2
- uuid 3.4.0
- verror 1.10.0
- google-protobuf ^3.7.0-rc.2
- react ^16.8.3
- react-dom ^16.8.3
- react-redux ^7.1.3
- redux ^4.0.5
- redux-thunk ^2.3.0
- universal-analytics ^0.4.20
- uuid ^3.4.0
- 1284 dependencies
- @docusaurus/core ^2.0.0-alpha.58
- @docusaurus/preset-classic ^2.0.0-alpha.58
- clsx ^1.1.1
- react ^16.8.4
- react-dom ^16.8.4