Skip to content

[SYCL][Matrix] Move elementwise operation under intel namespace and add joint_matrix_apply. #8417

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

Merged
merged 23 commits into from
Mar 16, 2023

Conversation

arnamoy10
Copy link
Contributor

@arnamoy10 arnamoy10 commented Feb 21, 2023

This patch moves the wi_data and wi_element class (and corresponding
operations) in the matrix-intel.hpp file, under the
intel::experimental::matrix namespace. The original implementation is kept (but soon will be deprecated) to make the existing CUDA test cases work.

This patch moves the wi_data and wi_element class (and corresponding
operations) in the matrix-intel.hpp file, under the
intel::experimental::matrix namespace.  It also removes the miarray
based implementation of the wi_data class, as the miarray based
implementation was needed to support CUDA.  The CUDA support will be
established through joint_matrix_apply() API and a cuda based
get_wi_data() support in tensorcore.cpp file (coming up next).
@arnamoy10 arnamoy10 requested a review from a team as a code owner February 21, 2023 19:49
@arnamoy10 arnamoy10 self-assigned this Feb 21, 2023
@arnamoy10 arnamoy10 temporarily deployed to aws February 21, 2023 20:07 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 changed the title [SYCL][Matrix] Move elementwise operation under intel namespace. [SYCL][Matrix] Move elementwise operation under intel namespace and add joint_matrix_apply. Feb 21, 2023
Copy link
Contributor

@dkhaldi dkhaldi left a comment

Choose a reason for hiding this comment

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

LGTM other than reverting the nvptx-tf32 test changes.

@arnamoy10 arnamoy10 temporarily deployed to aws February 21, 2023 20:56 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 temporarily deployed to aws February 22, 2023 16:11 — with GitHub Actions Inactive
matrix-unified.hpp, also adding NVIDIA implementation of
joint_matrix_apply.
@arnamoy10 arnamoy10 temporarily deployed to aws February 23, 2023 16:04 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 temporarily deployed to aws February 23, 2023 17:03 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 temporarily deployed to aws February 23, 2023 17:37 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 temporarily deployed to aws March 5, 2023 03:58 — with GitHub Actions Inactive
@JackAKirk
Copy link
Contributor

JackAKirk commented Mar 14, 2023

Do you have any example on how to put out the warning? I checked the file and did not find anything I can use.

I think that this is the normal way of outputing the deprecation:

__SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead")

So I think if you just refer users to joint_matrix_apply in the deprecated message that would be good.

@arnamoy10 arnamoy10 temporarily deployed to aws March 14, 2023 12:36 — with GitHub Actions Inactive
@arnamoy10
Copy link
Contributor Author

Do you have any example on how to put out the warning? I checked the file and did not find anything I can use.

I think that this is the normal way of outputing the deprecation:

__SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead")

So I think if you just refer users to joint_matrix_apply in the deprecated message that would be good.

I added the message, can you please double check if I added in the right place? Thank you

@arnamoy10 arnamoy10 temporarily deployed to aws March 14, 2023 13:03 — with GitHub Actions Inactive
@JackAKirk
Copy link
Contributor

Do you have any example on how to put out the warning? I checked the file and did not find anything I can use.

I think that this is the normal way of outputing the deprecation:

__SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead")

So I think if you just refer users to joint_matrix_apply in the deprecated message that would be good.

I added the message, can you please double check if I added in the right place? Thank you

LGTM!

@arnamoy10 arnamoy10 temporarily deployed to aws March 14, 2023 15:26 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 temporarily deployed to aws March 14, 2023 16:03 — with GitHub Actions Inactive
@arnamoy10 arnamoy10 temporarily deployed to aws March 14, 2023 16:54 — with GitHub Actions Inactive
Copy link
Contributor

@dkhaldi dkhaldi left a comment

Choose a reason for hiding this comment

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

LGTM

@arnamoy10
Copy link
Contributor Author

@intel/llvm-reviewers-runtime Please help merge this patch ASAP, as there are two feature PRs dependent on this. Thank you

Copy link
Contributor

@steffenlarsen steffenlarsen left a comment

Choose a reason for hiding this comment

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

LGTM!

@steffenlarsen steffenlarsen merged commit f8a16f7 into intel:sycl Mar 16, 2023
@arnamoy10 arnamoy10 deleted the move_elemwise_ops branch March 16, 2023 18:02
@bader
Copy link
Contributor

bader commented Mar 16, 2023

@arnamoy10, please, fix these warnings emitted by clang compiler.
https://github.com/intel/llvm/actions/runs/4440014936/jobs/7793257940

/Users/runner/work/llvm/llvm/build/include/sycl/ext/oneapi/matrix/matrix-unified.hpp:132:26: error: unused parameter 'sg' [-Werror,-Wunused-parameter]
joint_matrix_apply(Group sg, joint_matrix<Group, T, Use, M, N, Layout> &jm,
                         ^
/Users/runner/work/llvm/llvm/build/include/sycl/ext/oneapi/matrix/matrix-unified.hpp:132:73: error: unused parameter 'jm' [-Werror,-Wunused-parameter]
joint_matrix_apply(Group sg, joint_matrix<Group, T, Use, M, N, Layout> &jm,
                                                                        ^
/Users/runner/work/llvm/llvm/build/include/sycl/ext/oneapi/matrix/matrix-unified.hpp:133:24: error: unused parameter 'lambda' [-Werror,-Wunused-parameter]
                   F &&lambda) {
                       ^
3 errors generated.

@arnamoy10
Copy link
Contributor Author

@arnamoy10, please, fix these warnings emitted by clang compiler. https://github.com/intel/llvm/actions/runs/4440014936/jobs/7793257940

/Users/runner/work/llvm/llvm/build/include/sycl/ext/oneapi/matrix/matrix-unified.hpp:132:26: error: unused parameter 'sg' [-Werror,-Wunused-parameter]
joint_matrix_apply(Group sg, joint_matrix<Group, T, Use, M, N, Layout> &jm,
                         ^
/Users/runner/work/llvm/llvm/build/include/sycl/ext/oneapi/matrix/matrix-unified.hpp:132:73: error: unused parameter 'jm' [-Werror,-Wunused-parameter]
joint_matrix_apply(Group sg, joint_matrix<Group, T, Use, M, N, Layout> &jm,
                                                                        ^
/Users/runner/work/llvm/llvm/build/include/sycl/ext/oneapi/matrix/matrix-unified.hpp:133:24: error: unused parameter 'lambda' [-Werror,-Wunused-parameter]
                   F &&lambda) {
                       ^
3 errors generated.

Thanks for the report. PR here: #8684

steffenlarsen pushed a commit to intel/llvm-test-suite that referenced this pull request Mar 21, 2023
…ing namespace for get_wi_data() (#1636)

for both ATS-M and PVC.

Regarding the namespace change, the tests will pass once [this PR](intel/llvm#8417) gets approved.
steffenlarsen pushed a commit to intel/llvm-test-suite that referenced this pull request Mar 23, 2023
intel/llvm#8417 is merged so this is ready for review.

---------

Signed-off-by: JackAKirk <[email protected]>
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
…ing namespace for get_wi_data() (intel/llvm-test-suite#1636)

for both ATS-M and PVC.

Regarding the namespace change, the tests will pass once [this PR](intel#8417) gets approved.
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
…suite#1655)

intel#8417 is merged so this is ready for review.

---------

Signed-off-by: JackAKirk <[email protected]>
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.

6 participants