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][NFCI] Finalize switch to SPV_KHR_cooperative_matrix #16045

Closed
wants to merge 2 commits into from

Conversation

MrSidims
Copy link
Contributor

No description provided.

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
@MrSidims
Copy link
Contributor Author

Tested locally on linux both CPU and GPU - the patch shouldn't cause any regressions (unless there is a difference between driver versions used in pre-commit here in CI and drivers used locally (setup by scripts)).
Hasn't yet tested on windows - having troubles finding DG2 machine.

Copy link
Contributor

@YuriPlyakhin YuriPlyakhin left a comment

Choose a reason for hiding this comment

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

Code changes itself LGTM.

@MrSidims , in addition to stability, could you please also verify performance just in case to make sure no performance regressions are introduced?

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.

Let's investigate failures on Windows DG2 before merging this

@MrSidims
Copy link
Contributor Author

@dkhaldi on windows DG2 only these 2 tests are failing:
Failed Tests (2):
SYCL :: Matrix/SPVCooperativeMatrix/joint_matrix_bf16_fill_k_cache_SLM.cpp
SYCL :: Matrix/joint_matrix_bf16_fill_k_cache_SLM.cpp

But there are indeed regressions. joint_matrix_out_bounds.cpp was added only for JointMatrices, with the switch it's actually failing. The reason is that __spirv_CooperativeMatrixLoadCheckedINTEL (and Store) are not handled by IGC for Cooperative Matrices at all. This behavior doesn't follow SPIR-V specification as it defines OpCooperativeMatrixLoadCheckedINTEL be used only for OpTypeCooperativeMatrixKHR. Support of TypeJointMatrixINTEL was left in the translator only as an exception for the switch. Prefetch seem to also not handled by IGC when used with TypeCooperativeMatrixKHR. We have to postpone the switch to cooperative matrices as well as promoting the sycl extension from experimental to supported. Note, only new functionality doesn't work. Old functionality works as expected.

@MrSidims MrSidims closed this Nov 13, 2024
@MrSidims
Copy link
Contributor Author

Closing the PR as we can't merge it

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.

4 participants