skyline

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

https://github.com/skylineprof/skyline

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

atom deep-neural-networks interactive neural-networks performance pytorch visualization
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: skylineprof
  • License: apache-2.0
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 4.12 MB
Statistics
  • Stars: 32
  • Watchers: 1
  • Forks: 3
  • Open Issues: 19
  • Releases: 8
Topics
atom deep-neural-networks interactive neural-networks performance pytorch visualization
Created about 7 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

README.md

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).

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

plugin/package-lock.json npm
  • @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
plugin/package.json npm
  • 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
website/package-lock.json npm
  • 1284 dependencies
website/package.json npm
  • @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