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

Closed

Conversation

AkhilAkkapelli
Copy link
Contributor

  • 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.

AkhilAkkapelli and others added 28 commits June 13, 2025 20:30
…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.
…andn, sprand, ones, and zeros functions to improve clarity and consistency
…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 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.
Add task affinity support with compute_scope and result_scope in Dagger.jl's `@spawn` macro
- Removed the redundant distribution method for AbstractVector with a vector of integers.
- Simplified and Adjusted tests to ensure compatibility with the new distribution logic.
…kkapelli/Dagger.jl into darray-assignment"

This reverts commit 02f4be7, reversing
changes made to 72e9873.
- 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.
…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.
…andn, sprand, ones, and zeros functions to improve clarity and consistency
- Removed the redundant distribution method for AbstractVector with a vector of integers.
- Simplified and Adjusted tests to ensure compatibility with the new distribution logic.
…kkapelli/Dagger.jl into darray-assignment"

This reverts commit 02f4be7, reversing
changes made to 72e9873.
@AkhilAkkapelli AkhilAkkapelli deleted the darray-assignment branch July 8, 2025 16:29
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.

2 participants