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

User-friendlier checks in PTG #707

Open
therault opened this issue Nov 21, 2024 · 3 comments
Open

User-friendlier checks in PTG #707

therault opened this issue Nov 21, 2024 · 3 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@therault
Copy link
Contributor

Description

We just spent a few hours trying to debug a PTG, to finally find out that which count value passed by the user to the runtime was 0. The error is currently raised at the last possible moment, deep inside the communication engine, while it would have been pretty easy to raise it when we assign it at the generated code level.

Describe the solution you'd like

Add an assert when we set a count to 0 by calling a user function so that in debug mode the user can easily catch the error where it actually happens.

@therault therault added the enhancement New feature or request label Nov 21, 2024
@bosilca
Copy link
Contributor

bosilca commented Nov 21, 2024

Why would that be an issue at the higher level ? The application is allowed to send 0 bytes on a flow, it should then behave as a control dependency.

@abouteiller
Copy link
Contributor

What we want to check early is the case where user set [remote_layout=xyz, remote_count=0]

Properly marking a dependency as a CTL (potentially with a conditional guard) would achieve the same effect as converting count=0 as a control, so that presumably doesn't introduce a new feature.

Enabling count=0 however may likely mask a bug in the JDF program, and backtracking to where the original location of the bug was is not trivial.

@bosilca
Copy link
Contributor

bosilca commented Nov 25, 2024

I'm not sure I understand the comment about marking the dependency at CTL, because a dependency cannot be a CTL only a flow can, and that can only be done at compile time. Sending data with 0-count is necessary to simultaneously track dependencies and inform successors that some predecessors will not provide any contributions to whatever is following.

@abouteiller abouteiller added the question Further information is requested label Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants