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

Optimized in-place operators for rows and matrices #1244

Merged
merged 3 commits into from
Jun 14, 2023

Conversation

ndgrigorian
Copy link
Collaborator

This PR significant improves the performance of in-place operations between C-contiguous rows and C-contiguous matrices by implementing a variant kernel similar to that which is used for standard binary operations.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • If this PR is a work in progress, are you opening the PR as a draft?

- In-place operations from C-contiguous rows into C-contiguous matrices show significant performance improvements
@github-actions
Copy link

@coveralls
Copy link
Collaborator

coveralls commented Jun 14, 2023

Coverage Status

coverage: 84.117%. remained the same when pulling 47b2921 on inplace-matrix-row-variant into 21b2767 on master.

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.3=py310h7bf5fec_4 ran successfully.
Passed: 388
Failed: 612
Skipped: 119

vtavana

This comment was marked as resolved.

npolina4
npolina4 previously approved these changes Jun 14, 2023
Copy link
Collaborator

@npolina4 npolina4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.3=py310h7bf5fec_5 ran successfully.
Passed: 386
Failed: 614
Skipped: 119

vtavana
vtavana previously approved these changes Jun 14, 2023
Copy link
Collaborator

@vtavana vtavana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @ndgrigorian

Copy link
Collaborator

@vlad-perevezentsev vlad-perevezentsev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Thank you @ndgrigorian

- By using _type_utils._can_cast, prevents failures on platforms where the maximal precision type may not be 64-bit
@ndgrigorian ndgrigorian dismissed stale reviews from vlad-perevezentsev and vtavana via 47b2921 June 14, 2023 21:05
@ndgrigorian ndgrigorian requested a review from vtavana June 14, 2023 21:39
@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.3=py310h7bf5fec_6 ran successfully.
Passed: 388
Failed: 612
Skipped: 119

@ndgrigorian ndgrigorian merged commit 3794cbc into master Jun 14, 2023
@github-actions
Copy link

Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.3=py310h7bf5fec_6 ran successfully.
Passed: 386
Failed: 614
Skipped: 119

@ndgrigorian ndgrigorian deleted the inplace-matrix-row-variant branch August 8, 2023 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants