Skip to content

Send whole sdfg with rpc - #907

Merged
NoraHagmeyer merged 6 commits into
mainfrom
send-whole-sdfg-with-rpc
Jul 30, 2026
Merged

Send whole sdfg with rpc#907
NoraHagmeyer merged 6 commits into
mainfrom
send-whole-sdfg-with-rpc

Conversation

@NoraHagmeyer

@NoraHagmeyer NoraHagmeyer commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Description

Prepares removing the loop normalization and bringing down compile time for segformer with target cuda (with and without remote_tuning) .

Related Issues

  • Closes #

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Refactor / internal change (no functional change)
  • Documentation update

Quality Checklist

Please ensure the following are completed before requesting review:

  • Runtime-compatible (no externally visible existing method has its parameters changed, was deleted or has its exception behavior changed)
  • Compile-time compatible (new arguments & properties added have default values, but users need to recompile against the new version to work)

IR:

  • Introduces new types into the SDFG IR
  • Changed / added properties on SDFG IR Elements (LibraryNodes, ControlFlowNodes DataFlowNodes etc.)
    • New / modified types have serialization / deserialization support
    • Deserialization is backward compatible (new serialization can deserialize old format and represent it in the new format if applicable)
    • Serialized format is backward compatible (previous deserializer can read new serialized format without incorrectness (just lacking additional guarantees that are optional or did not exist before)
    • Serializer has an option to emit the previous format

Unit Tests

  • New unit tests have been added for the changes.
  • Existing unit tests pass locally.
  • Edge cases and error paths are covered.

Integration Tests

  • New integration tests have been added (or existing ones updated).
  • Integration tests pass locally.
  • Interactions with other components/services are verified.

Documentation

  • Public APIs, options, and behavior changes are documented.
  • README / docs site / inline comments updated where applicable.
  • Changelog / release notes updated (if applicable).

Test Coverage

  • Test coverage has not decreased as a result of this change.
  • Coverage report reviewed and acceptable.
  • Critical / new code paths are covered.

How Has This Been Tested?

RPC unit tests in combination with local rpc server
Transfer Tuning Integration tests in combination with local rpc server
Ran benchmarks for this code state

Additional Context

@NoraHagmeyer
NoraHagmeyer force-pushed the send-whole-sdfg-with-rpc branch from 5e9a938 to d2ee0a4 Compare July 29, 2026 12:24
@NoraHagmeyer
NoraHagmeyer force-pushed the send-whole-sdfg-with-rpc branch 2 times, most recently from 7a53687 to a39868c Compare July 29, 2026 12:37
@daisytuner

daisytuner Bot commented Jul 29, 2026

Copy link
Copy Markdown

Daisytuner Report - python_npbench (zinnia)

@@                                            Benchmarks                                            @@
=======================================================================================================
  Benchmark              Speedup (Time) ±%           Energy      Regions   Types (M/F/R/O)   % Peak    
=======================================================================================================
# adi                    
#   numpy                118.15 ms -1.1%             11.73 J     —         —                 N/A       
#   docc-sequential      2.27x (52.12 ms) -1.1%      8.41 J      2         1M 1F             N/A       
#   docc-omp             2.05x (57.73 ms) +0.2%      9.17 J      2         1M 1F             N/A       
#   docc-cuda            2.43x (48.65 ms) +1.6%      4.86 J      6         1M 1F             N/A       
# atax                   
#   numpy                46.81 ms +9.8%              8.06 J      —         —                 N/A       
#   docc-sequential      2.67x (17.53 ms) +0.2%      3.66 J      3         1M                N/A       
#   docc-omp             2.05x (22.85 ms) +6.5%      5.04 J      3         1M                N/A       
#   docc-cuda            1.54x (30.37 ms) +0.2%      3.08 J      6         2M                N/A       
# gemm                   
#   numpy                99.87 ms +0.1%              19.12 J     —         —                 N/A       
#   docc-sequential      3.95x (25.25 ms) -0.4%      7.23 J      1         —                 N/A       
#   docc-omp             3.95x (25.26 ms) -0.5%      7.25 J      1         —                 N/A       
#   docc-cuda            0.13x (752.27 ms) -0.0%     74.38 J     1         —                 N/A       
# gesummv                
#   numpy                127.76 ms +8.6%             23.15 J     —         —                 N/A       
#   docc-sequential      0.74x (172.97 ms) -0.9%     32.81 J     5         3M                N/A       
#   docc-omp             1.76x (72.75 ms) +1.7%      15.38 J     5         3M                N/A       
#   docc-cuda            6.52x (19.59 ms) -0.0%      1.99 J      10        4M                N/A       
# gemver                 
-   numpy                102.23 ms +21.2%            18.35 J     —         —                 N/A       
#   docc-sequential      12.40x (8.24 ms) -1.0%      1.88 J      7         3M                N/A       
#   docc-omp             7.59x (13.48 ms) -7.1%      2.97 J      7         3M                N/A       
#   docc-cuda            8.28x (12.35 ms) +0.1%      1.29 J      12        6M                N/A       
# k2mm                   
#   numpy                101.44 ms -1.5%             20.34 J     —         —                 N/A       
#   docc-sequential      0.75x (135.21 ms) +0.1%     24.57 J     3         1M                N/A       
#   docc-omp             0.75x (135.48 ms) -4.4%     26.08 J     3         1M                N/A       
#   docc-cuda            0.12x (820.34 ms) -0.0%     80.96 J     7         1M                N/A       
# k3mm                   
#   numpy                77.48 ms -0.9%              17.87 J     —         —                 N/A       
#   docc-sequential      0.25x (309.31 ms) +0.6%     50.77 J     4         1M                N/A       
#   docc-omp             0.23x (331.11 ms) -0.2%     56.98 J     4         1M                N/A       
#   docc-cuda            0.06x (1.30 s) -0.0%        128.22 J    8         1M                N/A       
# mvt                    
+   numpy                31.18 ms -29.5%             5.72 J      —         —                 N/A       
#   docc-sequential      1.70x (18.38 ms) +0.2%      3.84 J      2         —                 N/A       
#   docc-omp             1.70x (18.38 ms) -0.7%      3.84 J      2         —                 N/A       
#   docc-cuda            1.02x (30.49 ms) +0.2%      3.07 J      1         1M                N/A       
# symm                   
#   numpy                64.00 ms +1.0%              6.34 J      —         —                 N/A       
#   docc-sequential      4.29x (14.93 ms) +2.6%      3.17 J      3         2M 1F             N/A       
#   docc-omp             3.58x (17.86 ms) -2.8%      3.96 J      3         2M 1F             N/A       
# syr2k                  
#   numpy                74.12 ms -0.0%              7.39 J      —         —                 N/A       
#   docc-sequential      2.05x (36.14 ms) +2.1%      7.28 J      1         1F                N/A       
#   docc-omp             2.07x (35.85 ms) +0.2%      7.28 J      1         1F                N/A       
#   docc-cuda            2.50x (29.66 ms) -0.1%      2.98 J      1         1F                N/A       
# syrk                   
#   numpy                62.26 ms -0.9%              6.16 J      —         —                 N/A       
#   docc-sequential      2.32x (26.83 ms) +2.3%      5.32 J      1         1F                N/A       
#   docc-omp             2.32x (26.84 ms) +2.4%      5.33 J      1         1F                N/A       
#   docc-cuda            2.79x (22.27 ms) +0.3%      2.28 J      1         1F                N/A       
# trmm                   
#   numpy                71.09 ms -0.4%              7.11 J      —         —                 N/A       
#   docc-sequential      4.94x (14.40 ms) +0.3%      3.02 J      3         2M 1F             N/A       
#   docc-omp             3.93x (18.07 ms) -2.5%      3.89 J      3         2M 1F             N/A       

@daisytuner

daisytuner Bot commented Jul 29, 2026

Copy link
Copy Markdown

Daisytuner Report - mlir_torch_models (chamomile)

@@                                            Benchmarks                                            @@
=======================================================================================================
  Benchmark              Speedup (Time) ±%           Energy      Regions   Types (M/F/R/O)   % Peak    
=======================================================================================================
# resnet18               
#   torch                90.68 ms +3.2%              22.22 J     —         —                 N/A       
#   torch-cuda           18.45 ms -1.4%              3.50 J      —         —                 N/A       
#   docc-omp             0.13x (674.58 ms) -2.3%     208.31 J    45        44M               N/A       
#   docc-cuda            0.36x (51.36 ms) +0.1%      9.38 J      101       72M               N/A       
# segformer              
#   torch-cuda           39.48 ms +2.6%              7.53 J      —         —                 N/A       
#   docc-cuda            0.28x (139.02 ms) +1.3%     23.16 J     435       337M              N/A       

@NoraHagmeyer
NoraHagmeyer marked this pull request as ready for review July 29, 2026 18:51
@NoraHagmeyer
NoraHagmeyer requested review from a team, Atrisan and Moehre2 as code owners July 29, 2026 18:51
@NoraHagmeyer
NoraHagmeyer force-pushed the send-whole-sdfg-with-rpc branch from 6948705 to 166297b Compare July 29, 2026 19:09
@NoraHagmeyer NoraHagmeyer self-assigned this Jul 29, 2026
@NoraHagmeyer
NoraHagmeyer requested a review from ramonwirsch July 30, 2026 08:11
Moehre2
Moehre2 previously approved these changes Jul 30, 2026

@Moehre2 Moehre2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not sure if this is intended or slipped through... Therefore, approving.

Comment thread rpc/src/transformations/rpc_node_transform.cpp Outdated
Comment thread rpc/src/transformations/rpc_node_transform.cpp Outdated
Comment thread rpc/src/transformations/rpc_node_transform.cpp Outdated
Comment thread python/bindings/py_structured_sdfg.cpp Outdated
Comment thread python/bindings/py_structured_sdfg.cpp
Comment thread python/bindings/py_structured_sdfg.cpp
Comment thread rpc/include/sdfg/passes/rpc/rpc_scheduling_pass.h Outdated
Comment thread rpc/src/transformations/rpc_node_transform.cpp Outdated
Comment thread rpc/src/transformations/rpc_node_transform.cpp
Comment thread rpc/include/sdfg/passes/rpc/rpc_scheduling_pass.h Outdated
ramonwirsch
ramonwirsch previously approved these changes Jul 30, 2026
@NoraHagmeyer
NoraHagmeyer dismissed ramonwirsch’s stale review July 30, 2026 12:29

The merge-base changed after approval.

ramonwirsch
ramonwirsch previously approved these changes Jul 30, 2026
@NoraHagmeyer
NoraHagmeyer dismissed ramonwirsch’s stale review July 30, 2026 12:35

The merge-base changed after approval.

@NoraHagmeyer
NoraHagmeyer requested a review from ramonwirsch July 30, 2026 12:53
@NoraHagmeyer
NoraHagmeyer merged commit 127b090 into main Jul 30, 2026
37 checks passed
@NoraHagmeyer
NoraHagmeyer deleted the send-whole-sdfg-with-rpc branch July 30, 2026 21:03
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.

3 participants