Code Monkey home page Code Monkey logo

dace-vscode's Introduction

DaCe SDFG Editor for Visual Studio Code

This Visual Studio Code extension provides a rich editor for SDFGs 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

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

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

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

debugging-example

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

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 on GitHub. Contributions are always welcome!

dace-vscode's People

Contributors

phschaad avatar tbennun avatar benibenj avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.