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

[SYCL][ESIMD] Add tests on simd vector move constructor #679

Merged
merged 12 commits into from
Jan 13, 2022

Conversation

yuriykoch
Copy link

Context variations are moved out as a test cases, with any action run directly
over the simd move constructor result, with no further instance copy or move.

There is also an extra verification of the case when copy constructor is called
instead of the move constructor, by using a test_proxy functionality.

Signed-off-by: Kochetkov, Yuriy [email protected]

Context variations are moved out as a test cases, with any action run directly
over the simd move constructor result, with no further instance copy or move.
The copy constructor is a default fallback if there is no move
constructor available
Currently simd vector uses a copy constructor as a fallback
@yuriykoch
Copy link
Author

/verify with intel/llvm#5132

@yuriykoch
Copy link
Author

@vasilytric Would you mind to take a look?

@yuriykoch
Copy link
Author

@v-klochkov Would you mind to take a look after holidays? This PR uses intel/llvm#5132

// TODO Remove the level_zero restriction once the test is supported on other
// platforms
// UNSUPPORTED: cuda, hip
// XRUN: %clangxx -fsycl %s -fsycl-device-code-split=per_kernel -o %t.out

Choose a reason for hiding this comment

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

@vladimirlaz - what is BKM for such tests. Should they be compiled/run and report fail, or skip the test compilation/run completely?
My concern regarding no-compilation and no-run approach used above is that it is unclear if the test is good, if it is compilable and does not have syntax errors.

Copy link
Author

Choose a reason for hiding this comment

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

Fair point. Please take a look into the 37e5e50 as a suggestion.
The other option is to use RUN: %clangxx -DSKIP_VECTOR_LEN_32 -fsycl .... By doing so we would be able:

  • to disable some checks in CI
  • to enable all checks "by default", making it possible to switch them off one-by-one in case of multiple feature flags during debugging session - with no changes to the test file itself

Still I'm not sure if the RUN: %clangxx -DSKIP_VECTOR_LEN_32 solution would work for every setup or use-case, therefore the hard-coded macro was used.
Any feedback appreciated.

XFAIL remains so if there is PR with move constructors added the
CI will fail effectively specifying the need to change the tests
The feature flag was hard-coded into the source to disable test
freeze for any use case, with or without parsing the RUN
directives

Signed-off-by: Kochetkov, Yuriy <[email protected]>
@yuriykoch
Copy link
Author

/verify with intel/llvm#5132

@yuriykoch
Copy link
Author

/verify

@yuriykoch
Copy link
Author

Looks like the simple "/verify" didn't work for me.
Anyway, the intel/llvm#5132 is merged to the intel:sycl branch already.

@yuriykoch
Copy link
Author

@v-klochkov BTW, am I right to suppose that the XFAIL: * statement will result in test success for compilation failure?
So the test can still successfully run against any intel/llvm branch that doesn't have the intel/llvm#5132 patch from the intel/sycl merged.

@v-klochkov
Copy link

@v-klochkov BTW, am I right to suppose that the XFAIL: * statement will result in test success for compilation failure? So the test can still successfully run against any intel/llvm branch that doesn't have the intel/llvm#5132 patch from the intel/sycl merged.

I believe, that is correct.

@v-klochkov v-klochkov merged commit 07c210f into intel:intel Jan 13, 2022
myler pushed a commit to myler/llvm-test-suite that referenced this pull request Apr 12, 2022
Context variations are moved out as a test cases, with any action run directly
over the simd move constructor result, with no further instance copy or move.

XFAIL remains so if there is PR with move constructors added the
CI will fail effectively specifying the need to change the tests
The feature flag was hard-coded into the source to disable test
freeze for any use case, with or without parsing the RUN
directives

Signed-off-by: Kochetkov, Yuriy <[email protected]>
myler pushed a commit to myler/llvm-test-suite that referenced this pull request Jun 17, 2022
Context variations are moved out as a test cases, with any action run directly
over the simd move constructor result, with no further instance copy or move.

XFAIL remains so if there is PR with move constructors added the
CI will fail effectively specifying the need to change the tests
The feature flag was hard-coded into the source to disable test
freeze for any use case, with or without parsing the RUN
directives

Signed-off-by: Kochetkov, Yuriy <[email protected]>
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
…est-suite#679)

Context variations are moved out as a test cases, with any action run directly
over the simd move constructor result, with no further instance copy or move.

XFAIL remains so if there is PR with move constructors added the
CI will fail effectively specifying the need to change the tests
The feature flag was hard-coded into the source to disable test
freeze for any use case, with or without parsing the RUN
directives

Signed-off-by: Kochetkov, Yuriy <[email protected]>
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