StanfordLegion / legion

The Legion Parallel Programming System
https://legion.stanford.edu
Apache License 2.0
657 stars 146 forks source link

Legion Prof: Framebuffer instances missing index space bounds #1707

Open syamajala opened 2 days ago

syamajala commented 2 days ago

I'm pretty sure framebuffer instances used to show the indexspace bounds in the profiler, but it looks like theyre missing now?

2024-06-28-205331_959x1419_scrot

The top is a framebuffer instance, the bottom is a sys mem instance.

https://legion.stanford.edu/prof-viewer/?url=https://sapling2.stanford.edu/~seshu/s3d_scaling/pwave_x_128_ammonia/legion_prof/

elliottslaughter commented 2 days ago

Can you provide the source logs?

syamajala commented 2 days ago

http://sapling2.stanford.edu/~seshu/s3d_scaling/logs/

elliottslaughter commented 2 days ago

Are you sure these are the logs associated with the rendered profile above? I only see 2 nodes instead of ~128, and I don't see that instance ID at all.

You could run with this diff to see what relevant records are being tracked for that specific index space:

diff --git a/tools/legion_prof_rs/src/state.rs b/tools/legion_prof_rs/src/state.rs
index d5ed84a9c..7f66c8ba4 100644
--- a/tools/legion_prof_rs/src/state.rs
+++ b/tools/legion_prof_rs/src/state.rs
@@ -4001,6 +4001,7 @@ fn process_record(
             dim,
             rem,
         } => {
+            if ispace_id.0 == 22170 { dbg!(&record); }
             state
                 .find_index_space_mut(*ispace_id)
                 .set_point(*dim, &rem.0);
@@ -4010,12 +4011,14 @@ fn process_record(
             dim,
             rem,
         } => {
+            if ispace_id.0 == 22170 { dbg!(&record); }
             let max_dim = state.max_dim;
             state
                 .find_index_space_mut(*ispace_id)
                 .set_rect(*dim, &rem.0, max_dim);
         }
         Record::IndexSpaceEmptyDesc { ispace_id } => {
+            if ispace_id.0 == 22170 { dbg!(&record); }
             state.find_index_space_mut(*ispace_id).set_empty();
         }
         Record::FieldDesc {