Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

[SYCL][CUDA] Matrix MMA for double type using nvptx. #553

Merged
merged 4 commits into from
Nov 10, 2021

Conversation

JackAKirk
Copy link

@JackAKirk JackAKirk commented Nov 5, 2021

Integration test for the new CUDA MMA implementation using double type for the matrix elements.
See intel/llvm#4696 for the implementation.

Signed-off-by: JackAKirk [email protected]

Signed-off-by: jack.kirk <[email protected]>
@vladimirlaz vladimirlaz requested a review from dkhaldi November 8, 2021 06:55
@@ -0,0 +1,152 @@
// REQUIRES: gpu, cuda

// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple -Xsycl-target-backend
Copy link

Choose a reason for hiding this comment

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

Can we use a different prefix in the name like "tensorcore" rather than "nvptx"?
Also, can you add a comment that in the tensor core case, JIT compilation is not supported an specifying the arch argument is necessary?
I know this will be added as part of the doc but repetition can be useful here.

Copy link
Author

Choose a reason for hiding this comment

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

Yeah both suggestions sound good to me.

Copy link
Author

Choose a reason for hiding this comment

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

Made the change

item.get_group().get_id()[1]; // column id of current submatrix of
// BIG C matrix

joint_matrix<double, matrix_use::accumulator, M, N,
Copy link

Choose a reason for hiding this comment

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

I think a comment is necessary here to highlight the difference with the current matrix interface WRT the use of the "use" argument.

Copy link
Author

Choose a reason for hiding this comment

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

OK

Copy link
Author

Choose a reason for hiding this comment

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

Made the change

@JackAKirk
Copy link
Author

I do not appear to have access to see the pre-ci-cuda report, but it may fail because sm80 architecture is not available. If this is the case could you advice whether it is possible to provide a flag for the unit test so that it only runs if sm80 is available?

@vladimirlaz
Copy link

I do not appear to have access to see the pre-ci-cuda report, but it may fail because sm80 architecture is not available. If this is the case could you advice whether it is possible to provide a flag for the unit test so that it only runs if sm80 is available?

Here is the output of the failing test:


[2021-11-05T17:32:57.865Z] FAIL: SYCL :: Matrix/joint_matrix_nvptx_double.cpp (464 of 663)

[2021-11-05T17:32:57.865Z] ******************** TEST 'SYCL :: Matrix/joint_matrix_nvptx_double.cpp' FAILED ********************

[2021-11-05T17:32:57.865Z] Script:

[2021-11-05T17:32:57.865Z] --

[2021-11-05T17:32:57.865Z] : 'RUN: at line 3';    /localdisk2/iusers/sys_bbsycl/llvm-test-suite_Jenkins/workspace/LLVM-Test-Suite-CI-TMP/LLVM-Test-Suite-CUDA/llvm.obj/bin/clang++      -fsycl -fsycl-targets=nvptx64-nvidia-cuda -Xsycl-target-backend

[2021-11-05T17:32:57.865Z] --

[2021-11-05T17:32:57.865Z] Exit Code: 1

[2021-11-05T17:32:57.865Z] 

[2021-11-05T17:32:57.865Z] Command Output (stdout):

[2021-11-05T17:32:57.865Z] --

[2021-11-05T17:32:57.865Z] $ ":" "RUN: at line 3"

[2021-11-05T17:32:57.865Z] note: command had no output on stdout or stderr

[2021-11-05T17:32:57.865Z] $ "/localdisk2/iusers/sys_bbsycl/llvm-test-suite_Jenkins/workspace/LLVM-Test-Suite-CI-TMP/LLVM-Test-Suite-CUDA/llvm.obj/bin/clang++" "-fsycl" "-fsycl-targets=nvptx64-nvidia-cuda" "-Xsycl-target-backend"

[2021-11-05T17:32:57.865Z] # command stderr:

[2021-11-05T17:32:57.865Z] clang++: error: argument to '-Xsycl-target-backend' is missing (expected 1 value)

[2021-11-05T17:32:57.865Z] clang++: error: no input files

[2021-11-05T17:32:57.865Z] 

[2021-11-05T17:32:57.865Z] error: command failed with exit status: 1

[2021-11-05T17:32:57.865Z] 

[2021-11-05T17:32:57.865Z] --

[2021-11-05T17:32:57.865Z] 

[2021-11-05T17:32:57.865Z] ********************

@JackAKirk
Copy link
Author

Thanks, I reverted the clang-format change. Hopefully it works now.

@vladimirlaz vladimirlaz merged commit bd0767d into intel:intel Nov 10, 2021
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants