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

[SYCL][ESIMD] Add test for esimd fill constructor #598

Merged
merged 21 commits into from
Jan 11, 2022

Conversation

vasilytric
Copy link

No description provided.

The test was splitted into two files:
- core, that iterating only C++ with base data types
- fp_extra, that itarating with sycl::half data type
- run_test and verification function defined in ctor_fill.hpp
- add class for structurize log error message
- rename some function and variables
- remove initialization
- update ctor_fill.hpp
- rename some variables
- add test for vector ctor accuracy
Because it didn't used in this test
- Change logic forverification if base or step value is nan and all
  other cases
- Update static_assert messages
Use value::pos_ulp() in ctor fill test instead of using value::ulp()
- Rename values_pack with two dims
- Update comments
- Remove unused args
- Remove bitwise comparison in case step or base value is nan
- Remove unnecessary using namespace ...
- Update comments
@vasilytric
Copy link
Author

@v-klochkov Vyacheslav, could you review this PR?

// XRUN: %GPU_RUN_PLACEHOLDER %t.out
// RUN: false
// XFAIL: *
// TODO The simd can't be constructed with sycl::half data type. The issue was
Copy link

@v-klochkov v-klochkov Jan 4, 2022

Choose a reason for hiding this comment

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

Please try the newer compiler. sycl::half should be working fine with simd now.

Copy link
Author

Choose a reason for hiding this comment

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

This discuss related to all tests, so suggest discuss it in the one place, in this your comment: discussion in PR#687


bool passed = true;

const auto fp_types = get_tested_types<tested_types::fp_extra>();

Choose a reason for hiding this comment

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

The types like sycl::half need runtime checks verifying that device supports them. E.g. sycl::aspect::fp16

Copy link
Author

Choose a reason for hiding this comment

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

fp_extra files was temporary removed and the sycl::half data type was enable for all tests, I've done it this commit: 716223f

@vasilytric
Copy link
Author

@v-klochkov all CI verifications are passed. Can we merge this PR?

@v-klochkov v-klochkov merged commit 8c6a5ff into intel:intel Jan 11, 2022
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
…ite#598)

* [SYCL][ESIMD] Add test for simd fill constructor

The test currently verifies the basic types; it does not yet check types requiring checks 
"if supported on device", such as "sycl::half".
Also, the test does not yet verify 32-element vectors due to existing runtime problems in
either device drivers or ESIMD implementation.
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