Propagate CPU load task exceptions#3734
Conversation
13b984c to
6d7e292
Compare
zcbenz
left a comment
There was a problem hiding this comment.
Propagating CPU exceptions is hard to implement and this change is too wrong and I probably need to spend an hour explaining it and I don't think it would worth the time as AI is quite bad at handling this.
In short the cpu command encoder should propagate the error to the event, like what #3523 does.
6d7e292 to
cdb1df4
Compare
@zcbenz thank you for the insulting comment, at the end this is the real thrill of trying to contribute to some open source projects. See if the last changes are less wrong. |
Route CPU read and task failures through eval events so waiters observe errors consistently instead of losing exceptions in scheduler tasks. Skip dependent CPU work once the active event is poisoned, while keeping event signals and fence updates on an unchecked dispatch path so cross-stream waiters are still released. Add sync, async, cross-stream, same-stream, and pending-dependent load regressions for the propagated error path.
cdb1df4 to
0ce0380
Compare
Proposed changes
Propagate exceptions from CPU scheduler tasks, including lazy-load read failures.
CPU lazy loading dispatches file reads through an IO future, but the scheduler task previously used
future::wait(), which does not rethrow exceptions from the read task. This could silently lose read failures during lazy evaluation. This change usesfuture::get()and adds per-stream scheduler exception propagation so CPU task failures are rethrown onsynchronize(stream).Checklist
Put an
xin the boxes that apply.pre-commit run --all-filesto format my code / installed pre-commit prior to committing changes