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

Erroneous, unlinked node produced when graph containing Groupby/Scatter is unrolled. #10

Open
myxie opened this issue Feb 7, 2020 · 2 comments

Comments

@myxie
Copy link
Collaborator

myxie commented Feb 7, 2020

I am translating a graph which has a Scatter component, in which there are application and data drops. These drops are properly unrolled; however, there is an additional node that is created, but is not connected to anything.

When unrolled, it looks like the following:

  {
    "oid": "1_-14_0",
    "type": "app",
    "app": "dlg.apps.simple.SleepApp",
    "loop_cxt": null,
    "sleepTime": 4,
    "tw": 4,
    "num_cpus": 1,
    "iid": "0",
    "lg_key": -14,
    "dt": "Component",
    "nm": "SolveNEScatter",
    "node": "#0",
    "island": "#0"
  }

I believe this is the result of a placeholder function that has not been deprecated in the dlg.dropmake.pg_generator module.

In the class pg_generater.LG, the method lgn_to_pgn calls make_single_drop(miid) in the following context:


 if (extra_links_drops and not lgn.is_loop()): # make GroupBy and Gather drops
       src_gdrop = lgn.make_single_drop(miid)
       self._drop_dict[lgn.id].append(src_gdrop)
        if (lgn.is_groupby()):
             self._drop_dict['new_added'].append(src_gdrop['grp-data_drop'])
             elif (lgn.is_gather()):
              pass

Following through to make_single_drop, we see a function call to _create_test_drop_spec(oid, kwargs):

        dropSpec = self._create_test_drop_spec(oid, kwargs)

There is a comment in this code that states this is a test function; and it hard-codes the app':'dlg.apps.simple.SleepApp' into a node.

Any information on how to stop this from occurring would be greatly appreciated!

@rtobar
Copy link
Contributor

rtobar commented Feb 9, 2020

@myxie thanks for the report. Just for reference, how did you create the LG (i.e., the "old" editor or EAGLE)? I'm not sure of the whole history of the graph unrolling logic (this was Chen's corner of the code mostly), but it might be possible that old graphs stopped being correctly supported in the process of adjusting the translation logic to what EAGLE produces. If this is a new graph created by EAGLE, would you mind appending it here for reference?

@KevinVinsen how advanced is the current work on the split between dlg's runtime and graph translation? The fix for this problem would end up in the new repo for the translator I'd say, but if that doesn't exist yet then we could solve it here.

@myxie
Copy link
Collaborator Author

myxie commented Feb 10, 2020

@rtobar - This graph was created with the EAGLE, although it may be a 'deprecated' version now.
I've appended the graph here.

TestAskapCont.txt

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

No branches or pull requests

2 participants