-
-
Notifications
You must be signed in to change notification settings - Fork 74
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
AkhilAkkapelli
wants to merge
28
commits into
JuliaParallel:master
from
AkhilAkkapelli:darray-assignment
Closed
Enhance DArray Distribution with Processor Assignment #611
AkhilAkkapelli
wants to merge
28
commits into
JuliaParallel:master
from
AkhilAkkapelli:darray-assignment
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
AkhilAkkapelli
commented
Jun 13, 2025
- 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.
…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.
…/Dagger.jl into darray-assignment
…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.
…/Dagger.jl into darray-assignment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.