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

[SYCL] Add force range rounding option and introduce new compiler flag #12715

Merged
merged 8 commits into from
Mar 20, 2024

Commits on Mar 20, 2024

  1. Add force range rounding option and introduce new compiler flag

    This commit adds a new preference for range rounding, force, such that if the
    compile flag is used, only the range rounded parallel_for kernel will be generated.
    This can make binaries smaller as there is no duplication of SYCL range kernels
    across range rounded and unrounded versions.
    
    I have also added the flag: -fsycl-range-rounding, which can have values: on, force
    or disable. This flag aims to supercede the fsycl-disable-range-rounding flag.
    
    I have also added to existing tests to check for the functionality of the new flag
    and refactored the range rounding sycl-e2e test.
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    8915b7a View commit details
    Browse the repository at this point in the history
  2. Update documentation

    Add some description of how the -fsycl-range-rounding flag should be used.
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    7fccec2 View commit details
    Browse the repository at this point in the history
  3. Fix test

    Compiler invocation was missing -Xclang
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    2695911 View commit details
    Browse the repository at this point in the history
  4. Respond to comments

    - Change if else to switch in integration header emission and init preprocessor
    - Change comment in handler.hpp
    - Change comments and use static_assert with message in test-e2e
    - Change enum to have no defined int values
    - Wrap long line in LangOptions.def
    #
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    8bb45ed View commit details
    Browse the repository at this point in the history
  5. Make flag a driver flag, not just cc1

    Makes -fsycl-range-rounding= accessible to driver calls, not just cc1 invocations.
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    4676c35 View commit details
    Browse the repository at this point in the history
  6. Remove erroneous range rounding disable flag

    Range rounding disable is tested in another test.
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    8883f2d View commit details
    Browse the repository at this point in the history
  7. Make user range rounding preference override -O0

    Range rounding is disabled for -O0 but now a user preference for range rounding can
    override this.
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    2e60a20 View commit details
    Browse the repository at this point in the history
  8. Update test

    Make sure that if -fsycl-range-rounding=force is used, there is no
    emission of the unrounded range kernel at -O0 and -Od
    hdelan committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    d0b0d75 View commit details
    Browse the repository at this point in the history