Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve SDFG work-depth analysis and add SDFG simulated operational intensity analysis #1495

Open
wants to merge 50 commits into
base: master
Choose a base branch
from

Conversation

hodelcl
Copy link
Contributor

@hodelcl hodelcl commented Jan 3, 2024

This PR improves SDFG performance evaluation by

  1. improving the already existing work-depth analysis for SDFGs, and
  2. newly adding the simulated operational intesity analysis for SDFGs.

These analyses can also be used from the DaCe VS Code extension as implemented by these two other PRs:

  • PR to dace-webclient: adding the new simulated operational intensity overlay.
  • PR to dace-vscode: adding functionality to call the simulated operational intensity from the DaCe VS code extension.

Copy link
Collaborator

@phschaad phschaad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice, Thank you! LGTM except for small comment

from dace.data import Array
import sympy as sp
from collections import deque
from scipy.optimize import curve_fit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should wrap this in case the package is not installed. Scipy is not a dependency of DaCe, and is only used for something optional here, so we should check if it's present and if not print a warning that states that this analysis requires scipy to work.

from collections import deque
from scipy.optimize import curve_fit
import numpy as np
import matplotlib.pyplot as plt
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same with matplotlib and the plotting of analysis results.

try:
update_mapping(mapping, e)
except:
print('\nWARNING: Strange assignment detected on InterstateEdge (e.g. bitwise operators).'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
print('\nWARNING: Strange assignment detected on InterstateEdge (e.g. bitwise operators).'
print('\nWARNING: Uncommon assignment detected on InterstateEdge (e.g. bitwise operators).'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants