Version 1.5.6-insider
Pre-releaseNew Features
Vertical SDFG Layout
Large SDFGs with complex state machines are hard to navigate and understand. A new vertical layout now helps with this. The new layout aims to vertically lay out an SDFG's state machine similar to the vertical structure of source code, which we're familiar with reading. Doing so more naturally exposes program order and control flow constructs such as branching or loops. The layout can be turned on or off through the SDFG editor settings.
Improved SDFG Navigation
Together with the new vertical layout, SDFGs can now be (optionally) navigated more akin to how PDF documents are navigated, with a scroll navigation rather than the traditional pan-and-zoom navigation. With this option turned on, SDFGs can be scrolled vertically with the scroll wheel, and zooming is performed via Ctrl. + scroll wheel. This allows for much easier navigation of tall, vertical SDFGs. The option can be toggled in the SDFG editor settings.
Additionally, long edges have traditionally been hard to navigate, especially in the legacy layout. To address this, we have added an option to navigate directly to an edge's start/source or destination/sink position with the click of a button.
Editing Compressed SDFGs
Compressed SDFG files (.sdfgz
) can now be edited, analyzed, and optimized similar to regular SDFG files. Their reduced filesize and binary file representation immensly speeds up the optimization and editing workflow, making them the new filetype of choice for working with larger programs and SDFGs. DaCe supports saving and loading of these files out of the box, or they can be obtained / read through the use of gzip
.
Engineering
Performance Enhancements
A slew of re-engineering changes bring a roughly 2x speedup in most editing and SDFG navigation workflows
Improvements and Bugfixes
Improved SDFG Editor Settings UI
SDFG editor settings have been extended to allow for more customizeability. They are now also persisted across sessions in the VSCode user setttings.
DaCe Backend Panel
A new status panel allows for better control and management of the DaCe optimization backend. The panel allows re-starting or stopping the backend, reading and changing the port the backend runs on, or connecting to a different backend that is launched externally or remotely.
Other Improvements and Fixes
- Various smaller UI improvements and bugfixes related to the info tray and the minimap
- Improve display for unknown, unregistered map schedules
- Allow symbols to be modified similar to data containers and list them separately in the info tray
- Update data container attributes when changing data container types (from scalar to array etc.)
- Provide a troubleshooting link if the DaCe backend does not start
- Always first try to query the DaCe backend for up-to-date metadata when editing an SDFG before loading static dictionaries (web and built-in)
Get the latest version in the VSCode marketplace!