compiler: Misc enhancements for lowering of parlang backends #2878
compiler: Misc enhancements for lowering of parlang backends #2878FabioLuporini wants to merge 6 commits intomainfrom
Conversation
| if not exprs: | ||
| return properties | ||
|
|
||
| # Auto-detect prefetchable Dimensions |
There was a problem hiding this comment.
now unused, hence dropping
| return schedule.rebuild(*processed, rmapper=rmapper) | ||
|
|
||
|
|
||
| def optimize_schedule_maxpar(schedule): |
There was a problem hiding this comment.
this is 95% just like before, but it now also triggers in some rare cases excited in PRO
| def _time_buffering_default(self): | ||
| return self._time_buffering and not isinstance(self.save, Buffer) | ||
|
|
||
| def _evaluate(self, **kwargs): |
There was a problem hiding this comment.
@mloubout dropped as per your suggestion
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2878 +/- ##
==========================================
+ Coverage 83.42% 83.44% +0.01%
==========================================
Files 248 248
Lines 51262 51309 +47
Branches 4431 4428 -3
==========================================
+ Hits 42765 42813 +48
- Misses 7735 7739 +4
+ Partials 762 757 -5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| libs: tuple = () | ||
|
|
||
| @classmethod | ||
| def from_body(cls, body): |
There was a problem hiding this comment.
Does this really need a method? That just EFuncMetadata(body=body)
There was a problem hiding this comment.
Actually, it does improve readability elsewhere, so I'm not entirely opposed
|
|
||
| @classmethod | ||
| def compose(cls, *items): | ||
| items = tuple(i for i in items if i is not None) |
There was a problem hiding this comment.
Why would an item be None?
| return cls() | ||
|
|
||
| return cls( | ||
| body=items[-1].body, |
|
|
||
| return cls( | ||
| body=items[-1].body, | ||
| efuncs=tuple(chain.from_iterable(i.efuncs for i in items)), |
There was a problem hiding this comment.
that's just our as_tuple and should be used. If this chain.from_iterable is more efficient then as_tuple should be updated (same for as_list)
|
|
||
|
|
||
| @dataclass(frozen=True) | ||
| class EFuncMetadata: |
There was a problem hiding this comment.
Since this clearly looks like it's for an IET pass return, it should be used throughout or at least for the efunc realted ones.
| libs: tuple = () | ||
|
|
||
| @classmethod | ||
| def from_body(cls, body): |
| pass | ||
|
|
||
|
|
||
| class ThreadArrive(Fence): |
There was a problem hiding this comment.
Is this to make use of more sophisticated/granular thread barriers to reduce idle time somewhere?
No description provided.