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

Parfor lowering as kernels and dpnp ufunc compilation to kernels #957

Merged
merged 21 commits into from
Mar 6, 2023

Commits on Mar 4, 2023

  1. Adds two new helper function to dpexrt_python.

       - DPEXRTQueue_CreateFromFilterString: to help create a
         DPCTLSyclQueueRef object from a filter string.
       - DpexrtQueue_SubmitRange: to submit a ranged kernel.
    diptorupd committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    3895a4f View commit details
    Browse the repository at this point in the history
  2. New Exception

    diptorupd committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    129bd51 View commit details
    Browse the repository at this point in the history
  3. Adds a new pass to lower parfors to dpex kernels.

       The code is based on the existing DpexLowerer in
       core/passes/lowerer, but refactored and cleaned up a bit.
          - Add the ParforLoweringPass
          - Utility modules kernel_builder and kernel_launcher
    diptorupd committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    d2c0632 View commit details
    Browse the repository at this point in the history
  4. Adds a new pass for compute follows data legalization.

        - Dpnp expressions that rely on the __array_ufunc__ method
          of DpnpNdArray do not infer the usm_type and device type
          of the LHS of the expression.
    
          The pass is an incomplete implementation of an algorithm
          that traverses all the basic blocks and checks CFD compliance
          and fixes the LHS of all parfors created from dpnp array
          expressions and pranges.
    diptorupd committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    f3b7ad6 View commit details
    Browse the repository at this point in the history
  5. Add passes to init

    diptorupd committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    85bb5ce View commit details
    Browse the repository at this point in the history
  6. Add a new compiler pipeline that uses dpex's parfor passes.

       - The new DpjitPipeline uses the backported parfor passes
         with the new parfor lowerer and parfor compute follows data
         legalization pass.
       - dpjit decorator now used DpjitCompiler.
    diptorupd committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    ca8fde2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    004ac77 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2023

  1. Configuration menu
    Copy the full SHA
    61411d2 View commit details
    Browse the repository at this point in the history
  2. Enabled parfor ufunc.

    Added numba_dpex/core/typing/dpnpdecl.py.
    Added numba_dpex/dpnp_iface/dpnp_ufunc_db.py.
    Added numba_dpex/dpnp_iface/dpnpimpl.py.
    mingjie-intel authored and diptorupd committed Mar 5, 2023
    Configuration menu
    Copy the full SHA
    d5c60b8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    afff212 View commit details
    Browse the repository at this point in the history
  4. Add support for built-in operators and true_divide.

       - The commit makes expressions such as A*2, where A is a
         dpnp.ndarray work.
       - Adds support for dpnp.true_divide.
    diptorupd committed Mar 5, 2023
    Configuration menu
    Copy the full SHA
    c8ab2b2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6166969 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d2e22ac View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5a9ac14 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b763d45 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    745fbac View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    22eda0d View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    cfb105b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2e087a1 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    6ec07bc View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    0a343be View commit details
    Browse the repository at this point in the history