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

_match_messages #131

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open

_match_messages #131

wants to merge 7 commits into from

Conversation

hsirkar
Copy link
Collaborator

@hsirkar hsirkar commented Mar 28, 2024

No description provided.

@hsirkar hsirkar mentioned this pull request Mar 28, 2024
@adityaranjan adityaranjan added this to the Pipit release v0.1.0 milestone Apr 22, 2024
@bhatele bhatele requested a review from adityaranjan May 6, 2024 20:27
pipit/trace.py Outdated Show resolved Hide resolved
pipit/trace.py Outdated
matching_events = list(self.events["_matching_event"])
matching_times = list(self.events["_matching_timestamp"])

mpi_events = self.events[
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should rename to comm_events or some equivalent

pipit/trace.py Outdated
matching_times = list(self.events["_matching_timestamp"])

mpi_events = self.events[
self.events["Name"].isin(["MpiSend", "MpiRecv", "MpiIsend", "MpiIrecv"])
Copy link
Collaborator

Choose a reason for hiding this comment

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

Update to check if the event name is in send_events_names + receive_events_names

pipit/trace.py Outdated
self.events["Name"].isin(["MpiSend", "MpiRecv", "MpiIsend", "MpiIrecv"])
]

queue = [[] for _ in range(len(self.events["Process"].unique()))]
Copy link
Collaborator

Choose a reason for hiding this comment

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

Update queue to be a dict per process, and index the dict per receiver process with sender processes. Also comments should be added to explain this.

pipit/trace.py Outdated
processes = list(mpi_events["Process"])

# Iterate through all events
for i in range(len(mpi_events)):
Copy link
Collaborator

Choose a reason for hiding this comment

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

Change to iterate over send events and receive events separately, so that if a process with a receive event is iterated over, we can confirm that the send event has already been seen and added to the queue.

pipit/trace.py Outdated
if curr_name == "MpiSend" or curr_name == "MpiIsend":
# Add current dataframe index, timestmap, and process to stack
if "receiver" in curr_attrs:
queue[curr_attrs["receiver"]].append(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Update for new dict queue implementation.

pipit/trace.py Outdated

# we want to iterate through the queue in order
# until we find the corresponding "send" event
while send_process != curr_attrs["sender"] and i < len(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Update for new dict queue implementation.

pipit/trace.py Show resolved Hide resolved
@zoreoo
Copy link
Collaborator

zoreoo commented Oct 18, 2024

I'm getting a key error when running on the Kripke 32-process trace.

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

Successfully merging this pull request may close these issues.

4 participants