Skip to content

Synth scheduling implementation PR - #164

Draft
amir734jj wants to merge 44 commits into
boyland:masterfrom
amir734jj:user/amir734jj/synth-scheduling
Draft

Synth scheduling implementation PR#164
amir734jj wants to merge 44 commits into
boyland:masterfrom
amir734jj:user/amir734jj/synth-scheduling

Conversation

@amir734jj

@amir734jj amir734jj commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

Minimal Farrow's synth function implementation with support for circular attributes and circular fiber attributes.

> python3 main.py times
# Result for FarrowUbdDriver
  OK: 10.program
  OK: 20.program
  OK: 30.program
  OK: 40.program
  OK: 50.program
  OK: 60.program
  OK: 70.program
  OK: 80.program
  OK: 90.program
  OK: 100.program

All outputs match.
Program       DYNAMIC       STATIC        SYNTH         
-------       -------       -------       -------       
10.program    3.690s        3.681s        4.109s        
20.program    4.617s        5.326s        4.921s        
30.program    6.391s        5.114s        7.207s        
40.program    7.046s        7.079s        7.612s        
50.program    7.685s        7.023s        8.413s        
60.program    10.655s       7.494s        10.893s       
70.program    12.526s       7.829s        11.796s       
80.program    14.043s       8.408s        12.770s       
90.program    13.450s       7.521s        14.996s       
100.program   14.823s       6.773s        15.384s       

# Result for FarrowUbdFiberDriver
  OK: 10.program
  OK: 20.program
  OK: 30.program
  OK: 40.program
  OK: 50.program
  OK: 60.program
  OK: 70.program
  OK: 80.program
  OK: 90.program
  OK: 100.program

All outputs match.
Program       DYNAMIC       STATIC        SYNTH         
-------       -------       -------       -------       
10.program    3.082s        2.456s        3.803s        
20.program    2.779s        4.296s        3.469s        
30.program    3.642s        4.288s        3.534s        
40.program    4.051s        4.566s        4.426s        
50.program    4.178s        5.234s        4.464s        
60.program    4.559s        4.196s        5.025s        
70.program    4.803s        5.310s        5.226s        
80.program    4.735s        5.189s        5.854s        
90.program    3.546s        4.711s        4.333s        
100.program   4.040s        3.914s        4.465s        

# Result for NestedUbdDriver
  OK: 10.program
  OK: 20.program
  OK: 30.program
  OK: 40.program
  OK: 50.program
  OK: 60.program
  OK: 70.program
  OK: 80.program
  OK: 90.program
  OK: 100.program

All outputs match.
Program       DYNAMIC       STATIC        SYNTH         
-------       -------       -------       -------       
10.program    3.452s        3.368s        3.523s        
20.program    4.399s        5.311s        4.384s        
30.program    4.235s        5.145s        4.882s        
40.program    7.933s        9.306s        6.801s        
50.program    9.322s        11.250s       8.877s        
60.program    7.466s        8.112s        7.042s        
70.program    10.286s       12.718s       9.740s        
80.program    11.910s       16.537s       11.722s       
90.program    11.271s       14.878s       10.504s       
100.program   16.802s       18.746s       14.583s       

# Result for NestedUbdFiberDriver
  OK: 10.program
  OK: 20.program
  OK: 30.program
  OK: 40.program
  OK: 50.program
  OK: 60.program
  OK: 70.program
  OK: 80.program
  OK: 90.program
  OK: 100.program

All outputs match.
Program       DYNAMIC       STATIC        SYNTH         
-------       -------       -------       -------       
10.program    3.173s        2.869s        3.213s        
20.program    3.793s        3.145s        3.199s        
30.program    3.915s        3.401s        3.706s        
40.program    5.299s        5.183s        5.598s        
50.program    7.435s        8.162s        7.933s        
60.program    7.443s        6.123s        6.572s        
70.program    9.137s        8.493s        8.368s        
80.program    15.449s       13.226s       12.963s       
90.program    13.858s       14.986s       12.675s       
100.program   17.437s       17.233s       18.009s       

@amir734jj amir734jj closed this Jun 21, 2026
@amir734jj amir734jj reopened this Jun 22, 2026

@boyland boyland left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Let's fix the closure.

Comment thread analyze/aps-dnc.c
Declaration_info(module)->analysis_state = s;
s->anc_analysis = anc_analysis;
init_analysis_state(s,module);
dnc_close(s);

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

DOn't do a full dnc close: don't copy dependencies from parent to child.

boyland pushed a commit that referenced this pull request Aug 7, 2026
* Synth scheduling: all PR #164 changes except codegen/synth-impl.cc

Apply changes from user/amir734jj/synth-scheduling branch plus
additional diff.txt modifications for DNC closure control.

DOn't do a full dnc close: don't copy dependencies from parent to child.

* unnessary change

* unnessary changes

* more reverts

* Unnesssary changes

* Avoid unnessary changes

* Unnessary changes

* Fix build: remove synth-impl.o dependency, stub synth_impl as NULL

codegen/synth-impl.cc is not included in this branch, so remove it
from the Makefile and provide a NULL stub for the linker symbol.

* Small revert

* Reverts
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.

2 participants