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

Closed
wants to merge 50 commits into 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).'

@phschaad
Copy link
Collaborator

PR is now tracked in #1607.

@phschaad phschaad closed this Jun 24, 2024
github-merge-queue bot pushed a commit that referenced this pull request Jun 26, 2024
…ntensity analysis (#1607)

This PR is here to merge the reviewed PR #1495, which has remained
inactive for a long time with minor comments open. The comments have
been addressed here and merge conflicts have been resolved.

---------

Co-authored-by: Cliff Hodel <[email protected]>
Co-authored-by: Cliff Hodel <[email protected]>
Co-authored-by: Cliff Hodel <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Jun 28, 2024
…ntensity analysis (#1607)

This PR is here to merge the reviewed PR #1495, which has remained
inactive for a long time with minor comments open. The comments have
been addressed here and merge conflicts have been resolved.

---------

Co-authored-by: Cliff Hodel <[email protected]>
Co-authored-by: Cliff Hodel <[email protected]>
Co-authored-by: Cliff Hodel <[email protected]>
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.

2 participants