spcl / daceml

A Data-Centric Compiler for Machine Learning
https://daceml.readthedocs.io
BSD 3-Clause "New" or "Revised" License
81 stars 14 forks source link

Support inplace updates in distributed lowering #121

Closed orausch closed 2 years ago

orausch commented 2 years ago

Reductions are tricky because they require inplace updates since the reduction buffer are always initialized somewhere else.

This is supported now by tying the schedule of the initialization map to the schedule of the reduction map. The user should only specify one of the schedules, and the system will then automatically derive the other. Doing it this way means that we don't need any communication on the initialization states for these simple cases (although this will get trickier with WCR)

codecov[bot] commented 2 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (spr/orausch/master.support-inplace-updates-in-distributed-lowering@f3e7c3b). Click here to learn what that means. The diff coverage is n/a.

@@                                          Coverage Diff                                          @@
##             spr/orausch/master.support-inplace-updates-in-distributed-lowering     #121   +/-   ##
=====================================================================================================
  Coverage                                                                      ?   10.56%           
=====================================================================================================
  Files                                                                         ?       68           
  Lines                                                                         ?     7497           
  Branches                                                                      ?        0           
=====================================================================================================
  Hits                                                                          ?      792           
  Misses                                                                        ?     6705           
  Partials                                                                      ?        0           

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more