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

[SYCL][XPTI] Fix test #659

Merged
merged 5 commits into from
Dec 23, 2021
Merged

[SYCL][XPTI] Fix test #659

merged 5 commits into from
Dec 23, 2021

Conversation

vladimirlaz
Copy link

No description provided.

@vladimirlaz vladimirlaz requested review from bader, romanovvlad and a team as code owners December 22, 2021 18:42
alexbatashev
alexbatashev previously approved these changes Dec 22, 2021
bader
bader previously approved these changes Dec 22, 2021
Copy link

@bader bader left a comment

Choose a reason for hiding this comment

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

Thanks!

@bader
Copy link

bader commented Dec 23, 2021

@vladimirlaz, I still see a lot of failed tests in pre-commit.
They are not related to this particular change, but we need to fix them too.

@vladimirlaz
Copy link
Author

@vladimirlaz, I still see a lot of failed tests in pre-commit. They are not related to this particular change, but we need to fix them too.

I am currently looking into the failures.

@bader
Copy link

bader commented Dec 23, 2021

SYCL :: Matrix/joint_matrix_tensorcore_double.cpp - this one impacts a lot of other PRs, so we need to do something about it ASAP.

Timed Out Tests (1): SYCL :: ESIMD/api/simd_view_copy_move_assign.cpp - I think I've seen another PR with ESIMD test killed by timeout. @intel/dpcpp-esimd-reviewers, please, take a look.

SYCL :: Basic/free_function_queries/free_function_queries.cpp - compilation error - this is something new, which you should be able to investigate yourself.

include\sycl\CL/sycl/id.hpp(367,44): error: no template named 'declptr' in namespace 'sycl::ext::oneapi::experimental::detail'; did you mean '::sycl::detail::declptr'?
return sycl::detail::Builder::getElement(detail::declptr<id>());

@bader
Copy link

bader commented Dec 23, 2021

It looks like SYCL :: Basic/free_function_queries/free_function_queries.cpp and SYCL :: Matrix/joint_matrix_tensorcore_double.cpp are caused by intel/llvm#5169.
@capatober, FYI.

@vladimirlaz
Copy link
Author

vladimirlaz commented Dec 23, 2021

SYCL :: Matrix/joint_matrix_tensorcore_double.cpp - this one impacts a lot of other PRs, so we need to do something about it ASAP.

Timed Out Tests (1): SYCL :: ESIMD/api/simd_view_copy_move_assign.cpp - I think I've seen another PR with ESIMD test killed by timeout. @intel/dpcpp-esimd-reviewers, please, take a look.

SYCL :: Basic/free_function_queries/free_function_queries.cpp - compilation error - this is something new, which you should be able to investigate yourself.

include\sycl\CL/sycl/id.hpp(367,44): error: no template named 'declptr' in namespace 'sycl::ext::oneapi::experimental::detail'; did you mean '::sycl::detail::declptr'? return sycl::detail::Builder::getElement(detail::declptr());

The same tests have passed on Linux which is weird. It looks like the nightly compiler build for windows is not available/delayed.
@tfzhu, @DoyleLi could you comment?

@bader
Copy link

bader commented Dec 23, 2021

@vladimirlaz the fix doesn't work - https://github.com/intel/llvm/runs/4615454713?check_suite_focus=true#step:5:1810.
I suggest we revert this change to fix pre-commit again.

@bader
Copy link

bader commented Dec 23, 2021

SYCL :: Matrix/joint_matrix_tensorcore_double.cpp - this one impacts a lot of other PRs, so we need to do something about it ASAP.

The same tests have passed on Linux which is weird. It looks like the nightly compiler build for windows is not available/delayed. @tfzhu, @DoyleLi could you comment?

SYCL :: Matrix/joint_matrix_tensorcore_double.cpp fails on Linux/CUDA and it looks like we need to update the test. intel/llvm#5169 moved some functions to a different namespace.

@bader
Copy link

bader commented Dec 23, 2021

SYCL :: Matrix/joint_matrix_tensorcore_double.cpp - this one impacts a lot of other PRs, so we need to do something about it ASAP.

The same tests have passed on Linux which is weird. It looks like the nightly compiler build for windows is not available/delayed. @tfzhu, @DoyleLi could you comment?

SYCL :: Matrix/joint_matrix_tensorcore_double.cpp fails on Linux/CUDA and it looks like we need to update the test. intel/llvm#5169 moved some functions to a different namespace.

Or maybe intel/llvm#5169 exposed a bug in matrix API implementation.
@yubingex007-a11y, please, take a look.
Meanwhile, I'll disable the test to unblock llvm-test-suite validation on CUDA.

@andreyfe1
Copy link

andreyfe1 commented Dec 23, 2021

Hi all,
Changes in intel/llvm#5169 affect only group sort extension. It shouldn't affect any other parts of repo since things, which were moved into different namespace, are used by group sort extension only.

I've spent some time to look at the failure for Matrix/joint_matrix_tensorcore_double.cpp and find following.

  1. Look at the code. It's called from the sycl::ext::oneapi::experimental::matrix and calls function from the detail namespace. I'd expect the full path for detail is sycl::ext::oneapi::experimental::matrix::detail, but no, it's from sycl::ext::oneapi::detail that looks strange for me.
    Possible ways to fix:
    a) move local detail to sycl::ext::oneapi::experimental::matrix::detail
    b) use fully qualified namespace that is required by some C++ guidelines (example 1, example 2)

  2. Look at the code. We have using namespace in headers! It should definitely be fixed. As a C++ developer I wouldn't expect to see using namespace in the C++ code especially in library and/or headers that are used by multiple users.

So, we have any mix for namespaces in the https://github.com/intel/llvm/blob/sycl/sycl/include/sycl/ext/oneapi/matrix/matrix-tensorcore.hpp file. In my opinion, it's accidentally worked without errors previously.

@JackAKirk
Copy link

Hi all, Changes in intel/llvm#5169 affect only group sort extension. It shouldn't affect any other parts of repo since things, which were moved into different namespace, are used by group sort extension only.

I've spent some time to look at the failure for Matrix/joint_matrix_tensorcore_double.cpp and find following.

1. Look at [the code](https://github.com/intel/llvm/blob/sycl/sycl/include/sycl/ext/oneapi/matrix/matrix-tensorcore.hpp#L238). It's called from the `sycl::ext::oneapi::experimental::matrix` and calls function from the `detail` namespace. I'd expect the full path for `detail` is `sycl::ext::oneapi::experimental::matrix::detail`, but no, it's from `sycl::ext::oneapi::detail` that looks strange for me.
   Possible ways to fix:
   a) move local `detail` to `sycl::ext::oneapi::experimental::matrix::detail`
   b) use fully qualified namespace that is required by some C++ guidelines ([example 1](https://google.github.io/styleguide/cppguide.html#Namespaces), [example 2](https://docs.microsoft.com/en-us/cpp/cpp/namespaces-cpp?view=msvc-170#using_directives))

2. Look at [the code](https://github.com/intel/llvm/blob/sycl/sycl/include/sycl/ext/oneapi/matrix/matrix-tensorcore.hpp#L54). We have `using namespace` in headers! It should definitely be fixed. As a C++ developer I wouldn't expect to see `using namespace` in the C++ code especially in library and/or headers that are used by multiple users.

So, we have any mix for namespaces in the https://github.com/intel/llvm/blob/sycl/sycl/include/sycl/ext/oneapi/matrix/matrix-tensorcore.hpp file. In my opinion, it's accidentally worked without errors previously.

Apologies for introducing this bug, and thanks for the comment. It is addressed here: intel/llvm#5217

@andreyfe1
Copy link

@JackAKirk, never mind:)
It happens since we have multiple contributors for the repo and multiple files that can be related to each other (even unexpectedly).

@vladimirlaz vladimirlaz deleted the fix_xpti_tests branch February 2, 2022 10:44
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.

5 participants