Skip to content

First set of run-time scalability improvements to scale gracefully to 8 and more FPGAs per single host program #137

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

DmitryDenisenko751
Copy link

@DmitryDenisenko751 DmitryDenisenko751 commented May 17, 2022

  • Have separate device operation queue for contexts with non-overlapping device sets.
  • Each dev op queue has its own set of locking data (but not used yet). With following changes, will switch to using per-dev op queue locks for most opeations. This version of the code still uses a single global lock.
  • TODO: dev op queue is dynamically allocated but not freed. Only a problem if user creates and releases contexts often.
  • Creating a new context with devices used by existing contexts may cause an existing context to be re-assigned to a different device op queue. This currently happens without waiting for the original dev op queue to drain. Again, a corner case we shouldn't hit in normal host programs.

… 8 and more FPGAs per single host program.

- Have separate device operation queue for contexts with non-overlapping device sets.
- Each dev op queue has its own set of locking data (but not used yet). With following changes, will switch to using per-dev op queue locks for most opeations.
- TODO: dev op queue is dynamically allocated but not freed. Only a problem if user creates and releases contexts often.
-       Creating a new context with devices used by existing contexts may cause an existing context to be re-assigned to a different device op queue. This currently happens without waiting for the original dev op queue to drain. Again, a corner case we shouldn't hit in normal host programs.
@pcolberg pcolberg marked this pull request as draft May 17, 2022 19:10
@pcolberg pcolberg added the enhancement New feature or request label May 17, 2022
@pcolberg pcolberg changed the title First set of run-time scalability improvements to scale gracefully to… First set of run-time scalability improvements to scale gracefully to 8 and more FPGAs per single host program May 17, 2022
@pcolberg pcolberg removed their assignment Mar 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants