Skip to content
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

Replace SYCL backend reduce_by_segment implementation with reduce-then-scan call #1915

Open
wants to merge 31 commits into
base: main
Choose a base branch
from

Commits on Nov 6, 2024

  1. Configuration menu
    Copy the full SHA
    6c11271 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7328e8 View commit details
    Browse the repository at this point in the history
  3. Implement correct return for reduce_by_segment

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    f017ffd View commit details
    Browse the repository at this point in the history
  4. Add support for flag predicates

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    5cfa661 View commit details
    Browse the repository at this point in the history
  5. Revert "Add support for flag predicates"

    This reverts commit 0e0d50e.
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    4f8059a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d56bc5a View commit details
    Browse the repository at this point in the history
  7. Add fallback and remove old SYCL implementation

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    543e82f View commit details
    Browse the repository at this point in the history
  8. Switch from using lambdas to functors

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    7c92238 View commit details
    Browse the repository at this point in the history
  9. Add device copyable specializations for red-by-seg functors and updat…

    …e testing
    
    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    6c4267b View commit details
    Browse the repository at this point in the history
  10. Fix typo in error message in device_copyable.pass.cpp

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    3eee242 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b334fb0 View commit details
    Browse the repository at this point in the history
  12. Improve code readability

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    d564b33 View commit details
    Browse the repository at this point in the history
  13. Add optional first key field to scan input and remove input range in …

    …write operations
    
    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    358ec3b View commit details
    Browse the repository at this point in the history
  14. Update __write_op in reduce-then-scan

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    db0bc25 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    7abbff8 View commit details
    Browse the repository at this point in the history
  16. Alternate testing between usm shared and device to prevent excessive …

    …binary size
    
    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    92cf29a View commit details
    Browse the repository at this point in the history
  17. Performance tuning within scan input functor

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    d292e07 View commit details
    Browse the repository at this point in the history
  18. Handle n=0, n=1 first in reduce_by_segment

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    e41298d View commit details
    Browse the repository at this point in the history
  19. Code cleanup

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    fb9a306 View commit details
    Browse the repository at this point in the history
  20. Improve comments and mark relevant variables as const

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    d32ea4d View commit details
    Browse the repository at this point in the history
  21. Add condition to ensure value type is trivially copyable to call redu…

    …ce-then-scan
    
    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    aa4baaf View commit details
    Browse the repository at this point in the history
  22. clang-format

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    8cc59df View commit details
    Browse the repository at this point in the history
  23. Introduce iterator based __pattern_reduce_by_segment

    * An iterator based __pattern_reduce_by_segment is added
    * Due to compiler issues prior to icpx 2025.0, the reduce-then-scan path
      is disabled and the previous handcrafted SYCL implementation is restored to
      prevent performance regressions with older compilers
    * The previous range-based fallback implementation has been moved to the
      SYCL backend along with the handcrafted SYCL version
    
    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    80ceacd View commit details
    Browse the repository at this point in the history
  24. Revert "Remove now unneeded ONEDPL_WORKAROUND_FOR_IGPU_64BIT_REDUCTIO…

    …N macro"
    
    This reverts commit a4c7835.
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    74143b2 View commit details
    Browse the repository at this point in the history
  25. Fix test bug where device allocation is always used for testing

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    fdf6a39 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2024

  1. Configuration menu
    Copy the full SHA
    5987df9 View commit details
    Browse the repository at this point in the history
  2. clang-format

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 13, 2024
    Configuration menu
    Copy the full SHA
    d80377e View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2024

  1. Address comments in reduce-then-scan based implementation

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    3c8154e View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2024

  1. Improve explanations of reduce-by-segment approach

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    db63d45 View commit details
    Browse the repository at this point in the history
  2. Use binary_op[_non]_device_copyable where appropriate

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    3deed76 View commit details
    Browse the repository at this point in the history
  3. Address comments in fallback implementation

    Signed-off-by: Matthew Michel <[email protected]>
    mmichel11 committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    c641bd3 View commit details
    Browse the repository at this point in the history