Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spcl/dace-vscode
Rich editor for SDFGs with included profiling and debugging, static analysis, and interactive optimization.
https://github.com/spcl/dace-vscode
vscode vscode-extension
Last synced: 3 months ago
JSON representation
Rich editor for SDFGs with included profiling and debugging, static analysis, and interactive optimization.
- Host: GitHub
- URL: https://github.com/spcl/dace-vscode
- Owner: spcl
- License: bsd-3-clause
- Created: 2020-05-04T09:48:46.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-31T11:08:55.000Z (3 months ago)
- Last Synced: 2024-10-31T11:17:23.274Z (3 months ago)
- Topics: vscode, vscode-extension
- Language: TypeScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=phschaad.sdfv
- Size: 11.1 MB
- Stars: 19
- Watchers: 6
- Forks: 10
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# DaCe SDFG Editor for Visual Studio Code
[![](https://vsmarketplacebadges.dev/version-short/phschaad.sdfv.png
)](https://marketplace.visualstudio.com/items?itemName=phschaad.sdfv)
[![](https://vsmarketplacebadges.dev/installs-short/phschaad.sdfv.png
)](https://marketplace.visualstudio.com/items?itemName=phschaad.sdfv)
[![](https://vsmarketplacebadges.dev/downloads-short/phschaad.sdfv.png
)](https://marketplace.visualstudio.com/items?itemName=phschaad.sdfv)
[![](https://vsmarketplacebadges.dev/rating-short/phschaad.sdfv.png
)](https://marketplace.visualstudio.com/items?itemName=phschaad.sdfv)This Visual Studio Code extension provides a rich editor for
[SDFGs](http://spcl.inf.ethz.ch/dace/) with included profiling and
debugging, static analysis, and interactive optimization.# Features
## SDFG Editor
The SDFG editor allows changing of all editable SDFG properties and elements.
To allow for easier exploration of large graphs, most graph elements can be
collapsed into a smaller, more compact representation. A number of viewing
options, like the hiding of access nodes, can further assist with the editing
of larger graphs.![sdfg-editor-example](images/sdfg_editor.gif)
## SDFG Optimization / Transformations
With the SDFG Editor, data-centric applications can be optimized interactively using transformations.
- A set of applicable performance optimizing transformations is shown in a
sorted list in the side panel for each valid SDFG program.
- A description provides more information about each transformation.
- Transformations can be previewed before applying them to the SDFG.
- The transformation history allows easy undoing/redoing of specific
optimization steps.
![sdfg-optimization-example](images/sdfg_optimization.gif)
## Static Analysis
SDFGs can be statically analyzed for memory or compute bottlenecks using a
series of overlays, which highlight the number of arithmetic operations or the
amount of memory moved per graph element.![sdfg-analysis-example](images/analysis.gif)
## Debugging
SDFGs can be run with a debugger, allowing the setting of breakpoints on the
graph. For this purpose, the extension will install the
[Python / C++ Debugger](https://marketplace.visualstudio.com/items?itemName=benjamin-simmonds.pythoncpp-debug)
extension.![debugging-example](images/debugging.gif)
## Profiling
A built-in profiling run configuration allows SDFG programs to be run multiple
times1 while recording the median runtime for each execution. This
median runtime is then reported back to you. Additionally, individual graph
elements can be instrumented with timers, which generates a detailed profiling
report after an SDFG's execution. This report can be loaded in an displayed via
overlay on top of the SDFG.1 The number of executions per profiling run can be configured in
the `.dace.config`. This can be opened by typing `Open .dace.config` into the
command bar.## Building SDFGs
Graph elements can be dynamically added and moved around, allowing the creation
of entire SDFGs from scratch.![sdfg-editor-adding-elements-example](images/sdfg_adding_elements.gif)
# Questions, Issues, Feature Requests, and Contributions
If you have questions about how to achieve something with the extension, want
to report an issue, or request a new feature, please use the
[issues page](https://github.com/spcl/dace-vscode/issues) on GitHub.
Contributions are always welcome!