Skip to content

Enhance DArray Distribution with Processor Assignment #611

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

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

AkhilAkkapelli
Copy link

  • Updated Distribute struct to include a processor grid for better control over data distribution.
  • Modified constructors for Distribute to accept processor grid as an optional parameter.
  • Enhanced distribute functions to support various assignment strategies: :arbitrary, :blockrow, :blockcol, :cyclicrow, and :cycliccol.
  • Added tests for new assignment strategies, ensuring correct processor allocation and chunking for DArray, DVector, and DMatrix.
  • Improved test coverage for both auto and explicit block distributions with processor assignments.

…er.jl's @Spawn macro

- Enhanced the Thunk struct to include compute_scope and result_scope for better task execution control.
- Updated the Thunk constructor to accept new scope parameters.
- Modified the spawn function to handle the new scope parameters appropriately.
- Introduced a new test suite for task affinity, covering various scenarios with scope interactions.
- Added comprehensive documentation for task affinity, detailing the usage of scope, compute_scope, and result_scope.
- Implemented tests to validate behavior when using chunks as inputs in tasks, ensuring correct scope handling.
- Updated Distribute struct to include a processor grid for better control over data distribution.
- Modified constructors for Distribute to accept processor grid as an optional parameter.
- Enhanced distribute functions to support various assignment strategies: :arbitrary, :blockrow, :blockcol, :cyclicrow, and :cycliccol.
- Added tests for new assignment strategies, ensuring correct processor allocation and chunking for DArray, DVector, and DMatrix.
- Improved test coverage for both auto and explicit block distributions with processor assignments.
- Updated documentation for the `@spawn` macro to clarify the usage of `scope`, `compute_scope`, and `result_scope`, including examples with the new syntax.
- Improved error messages in the scheduling logic to provide clearer feedback when scopes are incompatible.
- Refactored test cases for task affinity to ensure they align with the new scope handling and provide better coverage for edge cases.
- Removed deprecated comments and cleaned up the code for better readability.
…ay functions -- rand, randn, sprand, ones, zeros

- Updated AllocateArray struct to include a processor grid for better control over data distribution.
- Added Documentation for new feature
- Modified functions for AllocateArray to accept assignment as an optional argument.
- Added tests for new assignment functions, ensuring correct processor allocation and chunking for functions.
- Improved test coverage for both auto and explicit block distributions with processor assignments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant