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] Fix Ambiguity in Overloaded Unary Minus Operator for bfloat16 #15393

Merged
merged 27 commits into from
Sep 13, 2024

Commits on Mar 26, 2024

  1. [SYCL][FPGA] Allow tablegen handle mutually exclusive decl attrs (SYC…

    …LIntelRegister, SYCLIntelMemory)
    
    This patch uses MutualExclusions tablegen support to allow us to remove a
    custom diagnostic checking codes with FPGA attributes:
    [[intel:fpga_register]] and [[intel::fpga_memory]].
    
    No test is added as we alreday have an existing LIT test (SemaSYCL/local.cpp) that shows the behavior.
    smanna12 committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    2457447 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7b7a5f3 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. Configuration menu
    Copy the full SHA
    e41aacc View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Configuration menu
    Copy the full SHA
    ceb0eab View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. Configuration menu
    Copy the full SHA
    4d9dfa1 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Configuration menu
    Copy the full SHA
    c133d97 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. Configuration menu
    Copy the full SHA
    76b7e48 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Configuration menu
    Copy the full SHA
    feaa623 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix group algorithms for non-uniform groups, marray and vec (i…

    …ntel#14364)
    
    This commit makes the following fixes to group algorithms:
    * Some GroupNonUniform SPIR-V builtins were incorrectly named as they
    were bundled together with their KHR Group SPIR-V equivalents. These
    have been renamed to map correctly to the right SPIR-V operations.
    * `sycl::marray` is now considered when checking for arithmetic types,
    making it usable in group broadcast operations and the functions that
    use them.
    * The representation of `bool` in `sycl::vec` has been changed to
    unsigned to match the representation picked by `ConvertToOpenCLType`.
    * The representation of `char` in `sycl::vec` has been changed to to
    match the representation picked by `ConvertToOpenCLType` to avoid cases
    where signedness would cause type mismatches.
    
    ---------
    
    Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
    steffenlarsen authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    d29de7e View commit details
    Browse the repository at this point in the history
  3. [SYCL][NVPTX] Emit reqd_work_group_size attributes as NVVM annotations (

    intel#14502)
    
    Only emit the provided values as annotations in the LLVM IR. The NVPTX
    backend will pad missing values with 1s. This suits the fact that the
    attribute must provide as many values as the dimensionality of the
    work-group, and we can assume that the work-group size of unused
    dimensions is 1.
    frasercrmck authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    de655a3 View commit details
    Browse the repository at this point in the history
  4. [SYCL][Test] Add test for ABI-neutrality of sycl classes (intel#14558)

    It is difficult to understand how to detect all possible data members
    which can cross ABI boundaries and cause problems because of dual ABI
    issue. For now using this approach which covers most of the classes,
    more than currently covered by "sycl/test/abi/layout*" tests.
    Current hits are in sycl::detail CG classes and subclasses (MFileName,
    MFunctinName, MKernelName and PipeName string data members). Even though
    I'm not sure if those cross ABI boundaries or not, I think we have to be
    conservative and fix those too.
    
    Using -fdump-record-layouts-complete to get dump for all complete record
    types, see description in https://reviews.llvm.org/D104484 for details.
    againull authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    4d1ef3a View commit details
    Browse the repository at this point in the history
  5. [SYCL][NFCI][ABI-Break] Move handler members to impl (intel#14460)

    This moves some of the members in the handler class to its impl class.
    Doing so allows developers to change these arguments without breaking
    ABI. This also moves more implementation details, such as command-group
    classes, launch configuration information, argument information and
    HostTask tracking, into sources to avoid hard-to-find ABI breaks in the
    communication between headers and runtime library.
    
    In addition to this, the following improvements are made:
    * The HostKernel class has been simplified to no longer have call and
    runOnHost functions.
    * The HostTask wrapper class has been moved to sources and the owner has
    been changed from a unique_ptr to a shared_ptr, which prevents the need
    for including host_task_impl.hpp in odd places.
    
    ---------
    
    Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
    steffenlarsen authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    0c368b1 View commit details
    Browse the repository at this point in the history
  6. [CI] Make Windows LIT_OPTS match Linux (intel#14583)

    The `LIT_OPTS` were different compared to Linux so the output logs from
    CI runs is different. I noticed this when searching for passed tests in
    the Windows log and noticed it wasn't there.
    
    Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
    sarnex authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    3657bd9 View commit details
    Browse the repository at this point in the history
  7. [SYCL][ABI-Break] Fold host_half_impl::half into half_impl::half (int…

    …el#13597)
    
    This commit folds the implementation of host_half_impl::half into
    half_impl::half and making the vector element representation the same as
    the half representation. This allows us to avoid strict alias violation
    for half vectors in their operator[] implementations.
    
    Note that this is marked as an ABI break as it removes symbols on
    Windows, despite these symbols never being in the library.
    
    ---------
    
    Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
    steffenlarsen authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    137fd1f View commit details
    Browse the repository at this point in the history
  8. [SYCL][E2E] Fix two Windows ocloc tests (intel#14560)

    I recently found out ocloc tests weren't running in Windows CI because
    the ocloc tool wasn't installed on the runners.
    
    When trying to fix it, I
    [hit](https://github.com/intel/llvm/actions/runs/9909706895/job/27379893885?pr=14114)
    two failures that would have always failed if we were testing (the other
    two are going to be fixed
    [here](intel#14556)).
    
    The first fix disables the test on Windows because it is using `pvc`
    which is not available on Windows.
    
    The seconds add a requirement for the OCL CPU driver to be installed
    because the test is using `ocloc-aot`, as per the [ocloc-aot
    doc](https://github.com/intel/llvm/blob/56e88d591c52a978abdd5e4279853311cae4a55e/opencl/opencl-aot/README.md?plain=1#L11).
    
    The CI testing in this PR is only confirming I didn't break the tests on
    non-win ocloc because I haven't enabled Windows ocloc testing yet, but I
    manually verified the fix.
    
    ---------
    
    Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
    sarnex authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    89a4e16 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    019d080 View commit details
    Browse the repository at this point in the history
  10. [SYCL] Make swizzle mutating operators const friends (intel#13012)

    In intel#12682 the mutating operators for
    swizzles (+=, -=, ..., ++, --) were reverted to be members rather than
    friends. Since swizzles mutate the underlying vec rather than themselves
    these operators should take and return constant references instead,
    which this commit implements.
    
    ---------
    
    Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
    steffenlarsen authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    8f8644c View commit details
    Browse the repository at this point in the history
  11. [SYCL] kernel_compiler include file paths collision fix (intel#14490)

    kernel_compiler include_file support shouldn't have files that might
    collide. Spec has been recently clarified as well (
    intel@a6d8758
    )
    cperkinsintel authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    94a10a6 View commit details
    Browse the repository at this point in the history
  12. [NFC][SYCL] Update tests to reflect new offload model (intel#14539)

    Update existing SYCL based driver tests to use the new offload model and
    retain the equivalent old offloading model tests be creating copies.
    These tests use the --offload-new-driver and --no-offload-new-driver
    options to force a particular model to follow.
    mdtoguchi authored and smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    5401bac View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ac20312 View commit details
    Browse the repository at this point in the history
  14. [FPGA] [CodeGen][NFC] Enhance Intel FPGA annotation function and opti…

    …mize code (intel#14577)
    
    This commit makes several improvements to the
    `CodeGenModule::addGlobalIntelFPGAAnnotation` method:
    
    - Updating the comment style to be Doxygen compliant for the
    `addGlobalIntelFPGAAnnotation` function.
    - Replaced `getAs<RecordType>()` with `castAs<RecordType>()` after
    confirming that the variable declaration type is guaranteed to be a
    `RecordType`. This change removes the need for a null check and
    streamlines the code.
    - Modified the base class iteration loop to use a reference (`const auto
    &Base`) to avoid unnecessary copies of `CXXBaseSpecifier` objects.
    
    These changes enhance code readability, improve code documentation and
    potentially increase performance by avoiding unnecessary dynamic type
    checks and copies.
    
    ---------
    
    Signed-off-by: Soumi Manna <soumi.manna@intel.com>
    smanna12 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    c4fdc92 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. Configuration menu
    Copy the full SHA
    4148548 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. Configuration menu
    Copy the full SHA
    3856438 View commit details
    Browse the repository at this point in the history
  2. [SYCL] Fix Ambiguity in Overloaded Unary Minus Operator for bfloat16

    Signed-off-by: Soumi Manna <soumi.manna@intel.com>
    smanna12 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    a78dc15 View commit details
    Browse the repository at this point in the history
  3. Fix wrong merge conflicts

    smanna12 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    6a65b8f View commit details
    Browse the repository at this point in the history
  4. Fix wrong merge conflicts

    smanna12 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    4802b39 View commit details
    Browse the repository at this point in the history
  5. Fix test failure

    smanna12 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    b9dea3e View commit details
    Browse the repository at this point in the history