-
Notifications
You must be signed in to change notification settings - Fork 655
Add a busy list to CUDAStreamPool. Don't return busy streams from the pool. #6072
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 files reviewed, no comments
|
CI MESSAGE: [36983125]: BUILD STARTED |
| @@ -1,4 +1,4 @@ | |||
| // Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |||
| // Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any additional testing needed or the one which exists is sufficient?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, theoretically I could add a test that schedules some work on a stream, returns it, picks a new stream and verifies that it's not busy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
CI MESSAGE: [36983125]: BUILD FAILED |
|
CI MESSAGE: [36983125]: BUILD PASSED |
d5c23c4 to
5f97acc
Compare
|
CI MESSAGE: [37043200]: BUILD STARTED |
|
CI MESSAGE: [37046256]: BUILD STARTED |
|
CI MESSAGE: [37043200]: BUILD PASSED |
|
CI MESSAGE: [37046256]: BUILD PASSED |
…ead pool. Signed-off-by: Michal Zientkiewicz <[email protected]>
Signed-off-by: Michał Zientkiewicz <[email protected]>
Signed-off-by: Michał Zientkiewicz <[email protected]>
a90c08d to
52179fe
Compare
|
CI MESSAGE: [37060756]: BUILD STARTED |
|
CI MESSAGE: [37060756]: BUILD PASSED |
… pool. (NVIDIA#6072) * Add a busy list to CUDAStreamPool. Don't return busy streams from thread pool. * Extend stream pool tests. --------- Signed-off-by: Michal Zientkiewicz <[email protected]>
Category:
New feature (non-breaking change which adds functionality)
Description:
Prior to this change, the CUDAStreamPool used a per-device stream stack. This caused the most recently returned stream to be used, increasing the likelihood of getting a stream with pending work scheduled. This PR adds another "busy" list to which the streams are initially returned if they're not ready. Then, if the ready list is empty, the busy list will be traversed in search of ready streams.
Additional information:
Affected modules and functionalities:
Key points relevant for the review:
Tests:
Checklist
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: N/A