Commit 7661629
authored
Correct stream ordered deallocation in
Our `Join.do_evaluate` function had a stream-ordering bug. We have 3 streams at play
1. left
2. right
3. result
The result depends on the left / right inputs, so we need to ensure that the deallocation of left / right happen after `result` is ready. We included a `join_cuda_streams` just before the `return` to ensure that it works. Unfortunately, we had reassigned `left` and `right` to new dataframes which were on the `result` stream, so all the streams were the same, so we didn't actually accomplish what we wanted.
The fix is to hold a reference to the original streams and use that.
This hopefully fixes a flaky test we've observed in cudf-polars with the rapidsmpf runtime
(https://github.com/rapidsai/cudf/actions/runs/20222481433/job/58046997204#step:12:1639).
Authors:
- Tom Augspurger (https://github.com/TomAugspurger)
Approvers:
- Bradley Dice (https://github.com/bdice)
- Richard (Rick) Zamora (https://github.com/rjzamora)
- Lawrence Mitchell (https://github.com/wence-)
URL: rapidsai#20981Join (rapidsai#20981)1 parent 0b65607 commit 7661629
1 file changed
Lines changed: 11 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
2384 | 2384 | | |
2385 | 2385 | | |
2386 | 2386 | | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
2387 | 2392 | | |
2388 | | - | |
| 2393 | + | |
| 2394 | + | |
2389 | 2395 | | |
2390 | 2396 | | |
2391 | 2397 | | |
| |||
2536 | 2542 | | |
2537 | 2543 | | |
2538 | 2544 | | |
2539 | | - | |
| 2545 | + | |
2540 | 2546 | | |
2541 | | - | |
| 2547 | + | |
| 2548 | + | |
2542 | 2549 | | |
2543 | 2550 | | |
2544 | 2551 | | |
| |||
0 commit comments