diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index f9503d38562..c65d9d5f739 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -5,7 +5,6 @@ on: branches: [main] pull_request: branches: - - release_oneDPL - main - 'release/**' diff --git a/.github/workflows/ci-testing.yml b/.github/workflows/ci-testing.yml index a8a2dae8ab8..6799e309dd6 100644 --- a/.github/workflows/ci-testing.yml +++ b/.github/workflows/ci-testing.yml @@ -5,7 +5,6 @@ on: branches: [main] pull_request: branches: - - release_oneDPL - main - 'release/**' paths: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8e83abe4596..ad49b73a314 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ We welcome community contributions to oneAPI DPC++ Library (oneDPL). You can: # License -oneDPL is licensed under the terms in [LICENSE](https://github.com/oneapi-src/oneDPL/blob/release_oneDPL/licensing/LICENSE.txt). +oneDPL is licensed under the terms in [LICENSE](https://github.com/oneapi-src/oneDPL/blob/main/LICENSE.txt). By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms. diff --git a/README.md b/README.md index 2792670b9fa..056ffd4e261 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ for more information. Visit the latest [Release Notes](https://github.com/oneapi-src/oneDPL/blob/main/documentation/release_notes.rst). ## License -oneDPL is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/release_oneDPL/licensing/LICENSE.txt). +oneDPL is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/main/LICENSE.txt). Refer to the [LICENSE](licensing/LICENSE.txt) file for the full license text and copyright notice. ## Security @@ -31,7 +31,7 @@ for information on how to report a potential security issue or vulnerability. You can also view the [Security Policy](SECURITY.md). ## Contributing -See [CONTRIBUTING.md](https://github.com/oneapi-src/oneDPL/blob/release_oneDPL/CONTRIBUTING.md) for details. +See [CONTRIBUTING.md](https://github.com/oneapi-src/oneDPL/blob/main/CONTRIBUTING.md) for details. ## Documentation diff --git a/cmake/templates/oneDPLConfig.cmake.in b/cmake/templates/oneDPLConfig.cmake.in index 29c3c3ea9c2..1dabf7add8c 100644 --- a/cmake/templates/oneDPLConfig.cmake.in +++ b/cmake/templates/oneDPLConfig.cmake.in @@ -117,26 +117,29 @@ if (EXISTS "${_onedpl_headers}") endif() # Check SYCL support by the compiler - check_cxx_compiler_flag("-fsycl" _fsycl_option) + set(FSYCL_OPTION "-fsycl") + check_cxx_compiler_flag(${FSYCL_OPTION} _fsycl_option) if (_fsycl_option) - CHECK_INCLUDE_FILE_CXX("sycl/sycl.hpp" _sycl_header "-fsycl") - if (NOT _sycl_header) - CHECK_INCLUDE_FILE_CXX("CL/sycl.hpp" _sycl_header_old "-fsycl") - endif() - if (_sycl_header OR _sycl_header_old) - set(_sycl_support TRUE) - endif() + set(FSYCL_OPTION_IF_SUPPORTED ${FSYCL_OPTION}) + endif() + + CHECK_INCLUDE_FILE_CXX("sycl/sycl.hpp" SYCL_HEADER ${FSYCL_OPTION_IF_SUPPORTED}) + if (NOT SYCL_HEADER) + CHECK_INCLUDE_FILE_CXX("CL/sycl.hpp" SYCL_HEADER_OLD ${FSYCL_OPTION_IF_SUPPORTED}) + endif() + if (SYCL_HEADER OR SYCL_HEADER_OLD) + set(SYCL_SUPPORT TRUE) endif() - if (_sycl_support) + if (SYCL_SUPPORT) # Enable SYCL* with compilers/compiler drivers not passing -fsycl by default - if (NOT CMAKE_CXX_COMPILER MATCHES ".*(dpcpp-cl|dpcpp)(.exe)?$") - message(STATUS "Adding -fsycl compiler option") - target_compile_options(oneDPL INTERFACE -fsycl) - target_link_libraries(oneDPL INTERFACE -fsycl) + if (_fsycl_option AND NOT CMAKE_CXX_COMPILER MATCHES ".*(dpcpp-cl|dpcpp)(.exe)?$") + message(STATUS "Adding ${FSYCL_OPTION} compiler option") + target_compile_options(oneDPL INTERFACE ${FSYCL_OPTION}) + target_link_libraries(oneDPL INTERFACE ${FSYCL_OPTION}) endif() else() - message(STATUS "oneDPL: -fsycl compiler option is not supported or sycl.hpp is not available, set ONEDPL_USE_DPCPP_BACKEND=0") + message(STATUS "oneDPL: SYCL is not supported. Set ONEDPL_USE_DPCPP_BACKEND=0") set_property(TARGET oneDPL APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS ONEDPL_USE_DPCPP_BACKEND=0) endif() endif() diff --git a/documentation/library_guide/notices_disclaimers.rst b/documentation/library_guide/notices_disclaimers.rst index 7160e7030e6..0cd36d35357 100644 --- a/documentation/library_guide/notices_disclaimers.rst +++ b/documentation/library_guide/notices_disclaimers.rst @@ -20,7 +20,7 @@ License oneDPL is licensed under Apache License Version 2.0 with LLVM exceptions. -Refer to the `LICENSE `_ file for the full license text and copyright notice. +Refer to the `LICENSE `_ file for the full license text and copyright notice. diff --git a/documentation/library_guide/onedpl_gsg.rst b/documentation/library_guide/onedpl_gsg.rst index 761b7d677b2..13aea171737 100644 --- a/documentation/library_guide/onedpl_gsg.rst +++ b/documentation/library_guide/onedpl_gsg.rst @@ -35,6 +35,15 @@ page for: Install the `Intel® oneAPI Base Toolkit (Base Kit) `_ to use |onedpl_short|. +Additionally, to use |onedpl_short| and other Base Kit components on non-Intel GPUs install either the +`oneAPI for NVIDIA® GPUs plugin `_ or the +`oneAPI for AMD GPUs plugin `_. + +See the |onedpl_short| +`System Requirements `_ +for details on the compiler support required to compile applications using |onedpl_short| on CPU using OpenMP* or Intel® +oneAPI Threading Building Blocks (oneTBB). + To use Parallel API, include the corresponding header files in your source code. All |onedpl_short| header files are in the ``oneapi/dpl`` directory. Use ``#include `` to include them. @@ -220,4 +229,4 @@ Find More - Add oneAPI components to a Yocto project build using the meta-intel layers. * - `oneAPI Samples Catalog `_ - Explore the complete list of oneAPI code samples in the oneAPI Samples Catalog (GitHub*). - These samples were designed to help you develop, offload, and optimize multiarchitecture applications targeting CPUs, GPUs, and FPGAs. \ No newline at end of file + These samples were designed to help you develop, offload, and optimize multiarchitecture applications targeting CPUs, GPUs, and FPGAs. diff --git a/examples/convex_hull/README.md b/examples/convex_hull/README.md index 3cd7f32e456..109f687257b 100644 --- a/examples/convex_hull/README.md +++ b/examples/convex_hull/README.md @@ -25,7 +25,7 @@ Correctness of the convex hull is checked by `std::any_of` algorithm using `coun ## License -This code example is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/release_oneDPL/licensing/LICENSE.txt). Refer to the "[LICENSE](licensing/LICENSE.txt)" file for the full license text and copyright notice. +This code example is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/main/LICENSE.txt). Refer to the "[LICENSE](licensing/LICENSE.txt)" file for the full license text and copyright notice. ## Building the 'Convex hull' Program diff --git a/examples/dot_product/README.md b/examples/dot_product/README.md index efba5960021..4c4732894d3 100644 --- a/examples/dot_product/README.md +++ b/examples/dot_product/README.md @@ -11,7 +11,7 @@ This example contains the oneDPL-based implementation of dot product based on `s ## License -This code example is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/release_oneDPL/licensing/LICENSE.txt). Refer to the "[LICENSE](licensing/LICENSE.txt)" file for the full license text and copyright notice. +This code example is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/main/LICENSE.txt). Refer to the "[LICENSE](licensing/LICENSE.txt)" file for the full license text and copyright notice. ## Building the 'Dot product' Program diff --git a/examples/random/README.md b/examples/random/README.md index 8c395e05349..538d567c729 100644 --- a/examples/random/README.md +++ b/examples/random/README.md @@ -11,7 +11,7 @@ This example demonstrates how to use scalar and vector random number generation ## License -This code example is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/release_oneDPL/licensing/LICENSE.txt). Refer to the "[LICENSE](licensing/LICENSE.txt)" file for the full license text and copyright notice. +This code example is licensed under [Apache License Version 2.0 with LLVM exceptions](https://github.com/oneapi-src/oneDPL/blob/main/LICENSE.txt). Refer to the "[LICENSE](licensing/LICENSE.txt)" file for the full license text and copyright notice. ## Building the 'Random' Program for CPU and GPU diff --git a/include/oneapi/dpl/internal/version_impl.h b/include/oneapi/dpl/internal/version_impl.h index 46bd36a7427..38a15e5eecf 100644 --- a/include/oneapi/dpl/internal/version_impl.h +++ b/include/oneapi/dpl/internal/version_impl.h @@ -13,7 +13,7 @@ // The library version #define ONEDPL_VERSION_MAJOR 2022 #define ONEDPL_VERSION_MINOR 7 -#define ONEDPL_VERSION_PATCH 0 +#define ONEDPL_VERSION_PATCH 1 #if _ONEDPL___cplusplus >= 202002L && __has_include() # include // The standard C++20 header diff --git a/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge.h b/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge.h index 9d352625411..b08b17b5b44 100644 --- a/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge.h +++ b/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge.h @@ -217,50 +217,33 @@ __find_start_point_in(const _Rng1& __rng1, const _Index __rng1_from, _Index __rn // to rng3 (starting from start3) in 'chunk' steps, but do not exceed the total size of the sequences (n1 and n2) template void -__serial_merge(const _Rng1& __rng1, const _Rng2& __rng2, _Rng3& __rng3, _Index __start1, _Index __start2, - const _Index __start3, const std::uint8_t __chunk, const _Index __n1, const _Index __n2, _Compare __comp) +__serial_merge(const _Rng1& __rng1, const _Rng2& __rng2, _Rng3& __rng3, const _Index __start1, const _Index __start2, + const _Index __start3, const _Index __chunk, const _Index __n1, const _Index __n2, _Compare __comp) { - if (__start1 >= __n1) - { - //copying a residual of the second seq - const _Index __n = std::min<_Index>(__n2 - __start2, __chunk); - for (std::uint8_t __i = 0; __i < __n; ++__i) - __rng3[__start3 + __i] = __rng2[__start2 + __i]; - } - else if (__start2 >= __n2) - { - //copying a residual of the first seq - const _Index __n = std::min<_Index>(__n1 - __start1, __chunk); - for (std::uint8_t __i = 0; __i < __n; ++__i) - __rng3[__start3 + __i] = __rng1[__start1 + __i]; - } - else + const _Index __rng1_size = std::min<_Index>(__n1 > __start1 ? __n1 - __start1 : _Index{0}, __chunk); + const _Index __rng2_size = std::min<_Index>(__n2 > __start2 ? __n2 - __start2 : _Index{0}, __chunk); + const _Index __rng3_size = std::min<_Index>(__rng1_size + __rng2_size, __chunk); + + const _Index __rng1_idx_end = __start1 + __rng1_size; + const _Index __rng2_idx_end = __start2 + __rng2_size; + const _Index __rng3_idx_end = __start3 + __rng3_size; + + _Index __rng1_idx = __start1; + _Index __rng2_idx = __start2; + + for (_Index __rng3_idx = __start3; __rng3_idx < __rng3_idx_end; ++__rng3_idx) { - for (std::uint8_t __i = 0; __i < __chunk && __start1 < __n1 && __start2 < __n2; ++__i) - { - const auto& __val1 = __rng1[__start1]; - const auto& __val2 = __rng2[__start2]; - if (__comp(__val2, __val1)) - { - __rng3[__start3 + __i] = __val2; - if (++__start2 == __n2) - { - //copying a residual of the first seq - for (++__i; __i < __chunk && __start1 < __n1; ++__i, ++__start1) - __rng3[__start3 + __i] = __rng1[__start1]; - } - } - else - { - __rng3[__start3 + __i] = __val1; - if (++__start1 == __n1) - { - //copying a residual of the second seq - for (++__i; __i < __chunk && __start2 < __n2; ++__i, ++__start2) - __rng3[__start3 + __i] = __rng2[__start2]; - } - } - } + const bool __rng1_idx_less_n1 = __rng1_idx < __rng1_idx_end; + const bool __rng2_idx_less_n2 = __rng2_idx < __rng2_idx_end; + + // One of __rng1_idx_less_n1 and __rng2_idx_less_n2 should be true here + // because 1) we should fill output data with elements from one of the input ranges + // 2) we calculate __rng3_idx_end as std::min<_Index>(__rng1_size + __rng2_size, __chunk). + __rng3[__rng3_idx] = + ((__rng1_idx_less_n1 && __rng2_idx_less_n2 && __comp(__rng2[__rng2_idx], __rng1[__rng1_idx])) || + !__rng1_idx_less_n1) + ? __rng2[__rng2_idx++] + : __rng1[__rng1_idx++]; } } @@ -279,7 +262,7 @@ struct __parallel_merge_submitter<_IdType, _CustomName, __internal::__optional_k { std::size_t base_diag_count = 0; std::size_t steps_between_two_base_diags = 0; - std::uint8_t chunk = 0; + _IdType chunk = 0; _IdType steps = 0; }; diff --git a/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge_sort.h b/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge_sort.h index 8cf077b2a8f..4d7876ff3a6 100644 --- a/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge_sort.h +++ b/include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge_sort.h @@ -64,7 +64,7 @@ struct __group_merge_path_sorter template bool sort(const sycl::nd_item<1>& __item, const _StorageAcc& __storage_acc, _Compare __comp, std::uint32_t __start, - std::uint32_t __end, std::uint32_t __sorted, std::uint16_t __data_per_workitem, + std::uint32_t __end, std::uint32_t __sorted, std::uint32_t __data_per_workitem, std::uint32_t __workgroup_size) const { const std::uint32_t __sorted_final = __data_per_workitem * __workgroup_size; @@ -92,7 +92,8 @@ struct __group_merge_path_sorter auto __in_ptr1 = __in_ptr + __start1; auto __in_ptr2 = __in_ptr + __start2; - const auto __start = __find_start_point(__in_ptr1, __in_ptr2, __id_local, __n1, __n2, __comp); + const std::pair __start = + __find_start_point(__in_ptr1, __in_ptr2, __id_local, __n1, __n2, __comp); // TODO: copy the data into registers before the merge to halve the required amount of SLM __serial_merge(__in_ptr1, __in_ptr2, __out_ptr, __start.first, __start.second, __id, __data_per_workitem, __n1, __n2, __comp); @@ -245,10 +246,10 @@ struct __merge_sort_global_submitter<_IndexT, struct nd_range_params { - std::size_t base_diag_count = 0; - std::size_t steps_between_two_base_diags = 0; - std::uint32_t chunk = 0; - std::size_t steps = 0; + std::size_t base_diag_count = 0; + std::size_t steps_between_two_base_diags = 0; + _IndexT chunk = 0; + _IndexT steps = 0; }; struct WorkDataArea diff --git a/rfcs/README.md b/rfcs/README.md index c56ed6cb04b..1c42f9ed8f3 100644 --- a/rfcs/README.md +++ b/rfcs/README.md @@ -66,14 +66,15 @@ The "RFC" label can be used to mark PRs containing RFC/design proposals. The RFC approval process generally follows the guidelines in the [UXL Foundation Operational Procedures]( https://github.com/uxlfoundation/uxl_operational_procedures/blob/release/Process_Documents/Organization_Operational_Process.md#review--approval-process). -Once two or more maintainers approve the PR, it is merged into the main branch -as an RFC proposed for implementation. +Once two or more maintainers approve the PR, it is merged into the main branch. -As the RFC moves to different states, use new PRs to update the RFC document -with additional information. +RFC documents can be developed iteratively at each stage. For example, an initial RFC +can be approved even if some details of the design or the API are not yet sufficiently +elaborated. In that case, subsequent revisions (new PRs) should update the document +in `rfcs/proposed`, adding the requested information. A proposal that is subsequently implemented and released as an experimental feature -is moved into the `rfcs/experimental` folder. +is moved into the `rfcs/experimental` directory. The RFC for such a feature should include a description of what is required to move it from experimental to fully supported -- for example, feedback from users, demonstrated performance improvements, etc. @@ -84,9 +85,20 @@ changes and should therefore have a link to the section in the specification with its formal wording. A feature that is removed or a proposal that is abandoned or rejected will -be moved to the `rfcs/archived` folder. It should state the reasons for +be moved to the `rfcs/archived` directory. It should state the reasons for rejection or removal. +There is no requirement that an RFC should pass all the stages in order. +A typical flow for an RFC would include at least `proposed` and `supported`; +however, any state can be skipped, depending on the progress and the needs. + +For a document that describes a wide set of functionality or a general direction +and includes sub-RFCs for specific features, a few instances might simultaneously +reside in different states, adjusted as necessary to reflect the overall progress +on the direction and on its sub-proposals. + +See the README files in respective directories for additional information. + ## Document Style Recommendations - Follow the document structure described in [template.md](template.md). diff --git a/rfcs/experimental/README.md b/rfcs/experimental/README.md index bd5b010d593..2f88751be86 100644 --- a/rfcs/experimental/README.md +++ b/rfcs/experimental/README.md @@ -5,19 +5,21 @@ released as experimental features in the library. An experimental feature is expected to have an implementation that is of comparable quality to a fully supported feature. Sufficient tests are required. -An experimental feature does not yet appear as part of the oneDPL +An experimental feature does not yet appear as part of the oneDPL specification. Therefore, the interface and design can change. There is no commitment to backward compatibility for experimental features. The documents in this directory should include a list of the exit conditions that need to be met to move the functionality from experimental to fully supported. -These conditions might include demonstrated performance improvements, -demonstrated interest from the community, -acceptance of the required specification changes, etc. +These conditions might include demonstrated performance improvements, demonstrated +interest from the community, acceptance of the required specification changes, etc. -For features that require specification changes, the document might -include wording for those changes or a link to any PRs opened -against the specification. +A document here needs to be updated if the corresponding feature undergoes +modifications while remaining experimental. Other changes, such as updates on the +exit conditions or on the implementation and usage experience, are also welcome. + +For features that require specification changes prior to production, the document might +include wording for those changes or a link to any PRs opened against the specification. Proposals in the `rfcs/experimental` directory do not remain there indefinitely. They should move either to `rfcs/supported` when they become fully supported diff --git a/rfcs/proposed/README.md b/rfcs/proposed/README.md index 9a848ad6eb4..2848b7ddb27 100644 --- a/rfcs/proposed/README.md +++ b/rfcs/proposed/README.md @@ -6,4 +6,6 @@ However, the proposed changes have not yet been implemented as a preview or fully supported feature of the library. RFCs in the `rfcs/proposed` directory should explain the motivation, -design, and open questions related to the proposed extension. +design, and open questions related to the proposed extension. There can be +several update iterations on a proposed RFC to clarify the necessary details +and address the questions before it is accepted for the implementation. diff --git a/rfcs/supported/README.md b/rfcs/supported/README.md index b193c62a2c1..8b313edc20a 100644 --- a/rfcs/supported/README.md +++ b/rfcs/supported/README.md @@ -9,4 +9,5 @@ changes in the oneDPL specification. The RFC document should, in that case, have a link to the formal wording in the specification. Proposals that appear in `rfcs/supported` may be retained indefinitely to -provide insight into the design of existing features. +provide insight into the design of existing features. They could be updated +over time if the corresponding functionality is extended or modified. diff --git a/rfcs/template.md b/rfcs/template.md index db229ed70c1..404b022ba01 100644 --- a/rfcs/template.md +++ b/rfcs/template.md @@ -16,14 +16,17 @@ discussions, etc. ## Proposal -Replace the text in this section with a full and detailed description of the proposal -with highlighted consequences. +Replace the text in this section with a detailed description of the proposal +with highlighted consequences. The description can be iteratively clarified +as the proposal matures. -Depending on the kind of the proposal, the description should cover: +Depending on the kind of the proposal, the description may need to cover the following: - New use cases supported by the extension. - The expected performance benefit for a modification, supported with the data, if available. - The API of extensions such as class definitions and function declarations. +- Key technical design aspects, sufficient to understand how the functionality should work + and produce the desired outcome. A proposal should clearly outline the alternatives that were considered, along with their pros and cons. Each alternative should be clearly separated @@ -37,18 +40,20 @@ Pay close attention to the following aspects of the library: - Performance implications, as performance is one of the main goals of the library. - Dependencies and supported platforms. Does the proposal bring any new dependencies or affect the supported configurations? +- Consistency and possible interaction with the existing library functionality. Include short explanation and links to the related proposals, if any. -Sub-proposals could be organized as separate standalone RFCs, but this is +Sub-proposals could be organized as separate stand-alone RFCs, but this is not mandatory. If the related change is insignificant or does not make any sense without the original proposal, describe it in the main RFC. Some other common subsections could be: - Usage examples. - Testing aspects. -- Execution plan (next steps), if approved. +- Next steps (e.g., design review, prototype, etc.), if approved. ## Open Questions List any questions that are not sufficiently elaborated in the proposal, -need more discussion or prototyping experience, etc. +need more discussion or prototyping experience, etc. Indicate at which state +(typically, "proposed" or "experimental") a question should be addressed. diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 90eb3d5c737..db025b579a1 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -221,7 +221,7 @@ macro(onedpl_add_test test_source_file switch_off_checked_iterators) endif() endmacro() -set(_regexp_dpcpp_backend_required "(xpu_api/algorithms|test/xpu_api/cmath/nearbyint|test/xpu_api/containers|xpu_api/functional|test/xpu_api/iterators|test/xpu_api/language.support/support.initlist|test/xpu_api/language.support/support.types|xpu_api/numerics|test/xpu_api/random|test/xpu_api/ratio|test/xpu_api/tuple|test/xpu_api/utilities|parallel_api/dynamic_selection/sycl)") +set(_regexp_dpcpp_backend_required "(xpu_api/ranges|xpu_api/algorithms|test/xpu_api/cmath/nearbyint|test/xpu_api/containers|xpu_api/functional|test/xpu_api/iterators|test/xpu_api/language.support/support.initlist|test/xpu_api/language.support/support.types|xpu_api/numerics|test/xpu_api/random|test/xpu_api/ratio|test/xpu_api/tuple|test/xpu_api/utilities|parallel_api/dynamic_selection/sycl)") set(_regexp_switch_off_checked_it "(test/general/header_order_ranges|test/parallel_api/algorithm/alg.sorting/alg.min.max|test/parallel_api/ranges|test/parallel_api/dynamic_selection|test/xpu_api/iterators/iterator.primitives|test/xpu_api/random/device_tests|test/xpu_api/random/interface_tests|test/xpu_api/random/statistics_tests|test/parallel_api/numeric/numeric.ops/transform_scan)") set(_regexp_pstl_offload_only "(test/pstl_offload)") diff --git a/test/general/version.pass.cpp b/test/general/version.pass.cpp index 5129435a80d..5f89154155d 100644 --- a/test/general/version.pass.cpp +++ b/test/general/version.pass.cpp @@ -26,7 +26,7 @@ static_assert(_PSTL_VERSION_PATCH == 0); static_assert(ONEDPL_VERSION_MAJOR == 2022); static_assert(ONEDPL_VERSION_MINOR == 7); -static_assert(ONEDPL_VERSION_PATCH == 0); +static_assert(ONEDPL_VERSION_PATCH == 1); #include "support/utils.h" diff --git a/test/xpu_api/random/device_tests/bernoulli_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/bernoulli_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/bernoulli_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/bernoulli_distr_device_test.pass.cpp index eb537f46ae4..276ee809e58 100644 --- a/test/xpu_api/random/device_tests/bernoulli_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/bernoulli_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- bernoulli_distribution_device_test.pass.cpp ---------------------------------===// +//===-- bernoulli_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/cauchy_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/cauchy_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/cauchy_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/cauchy_distr_device_test.pass.cpp index a038ce784b8..a11317f9cfb 100644 --- a/test/xpu_api/random/device_tests/cauchy_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/cauchy_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- cauchy_distribution_device_test.pass.cpp ---------------------------------===// +//===-- cauchy_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/exponential_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/exponential_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/exponential_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/exponential_distr_device_test.pass.cpp index a2185e86b21..177cf96a330 100644 --- a/test/xpu_api/random/device_tests/exponential_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/exponential_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- exponential_distribution_device_test.pass.cpp ---------------------------------===// +//===-- exponential_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/extreme_value_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/extreme_value_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/extreme_value_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/extreme_value_distr_device_test.pass.cpp index f71dc135881..4e82c099a74 100644 --- a/test/xpu_api/random/device_tests/extreme_value_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/extreme_value_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- extreme_value_distribution_device_test.pass.cpp ---------------------------------===// +//===-- extreme_value_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/geometric_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/geometric_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/geometric_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/geometric_distr_device_test.pass.cpp index 3575bcf0c01..bae18ac3d3c 100644 --- a/test/xpu_api/random/device_tests/geometric_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/geometric_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- geometric_distribution_device_test.pass.cpp ---------------------------------===// +//===-- geometric_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/lognormal_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/lognormal_distr_device_test.pass.cpp similarity index 98% rename from test/xpu_api/random/device_tests/lognormal_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/lognormal_distr_device_test.pass.cpp index 1fbb3d6fe2e..13acf184fbf 100644 --- a/test/xpu_api/random/device_tests/lognormal_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/lognormal_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- lognormal_distribution_device_test.pass.cpp ---------------------------------===// +//===-- lognormal_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/normal_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/normal_distr_device_test.pass.cpp similarity index 98% rename from test/xpu_api/random/device_tests/normal_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/normal_distr_device_test.pass.cpp index 9d0baa1eca5..f7c61ba96b2 100644 --- a/test/xpu_api/random/device_tests/normal_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/normal_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- normal_distribution_device_test.pass.cpp ---------------------------------===// +//===-- normal_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/uniform_int_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/uniform_int_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/uniform_int_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/uniform_int_distr_device_test.pass.cpp index 37091c8e957..0bf156167ae 100644 --- a/test/xpu_api/random/device_tests/uniform_int_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/uniform_int_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- uniform_int_distribution_device_test.pass.cpp ---------------------------------===// +//===-- uniform_int_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/uniform_real_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/uniform_real_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/uniform_real_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/uniform_real_distr_device_test.pass.cpp index e2f9811cf2d..9ba03c3775d 100644 --- a/test/xpu_api/random/device_tests/uniform_real_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/uniform_real_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- uniform_real_distribution_device_test.pass.cpp ---------------------------------===// +//===-- uniform_real_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/device_tests/weibull_distribution_device_test.pass.cpp b/test/xpu_api/random/device_tests/weibull_distr_device_test.pass.cpp similarity index 99% rename from test/xpu_api/random/device_tests/weibull_distribution_device_test.pass.cpp rename to test/xpu_api/random/device_tests/weibull_distr_device_test.pass.cpp index 5234fe01bbb..243f1893b59 100644 --- a/test/xpu_api/random/device_tests/weibull_distribution_device_test.pass.cpp +++ b/test/xpu_api/random/device_tests/weibull_distr_device_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- weibull_distribution_device_test.pass.cpp ---------------------------------===// +//===-- weibull_distr_device_test.pass.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/interface_tests/common_for_distributions_methods.hpp b/test/xpu_api/random/interface_tests/common_for_distrs_methods.hpp similarity index 100% rename from test/xpu_api/random/interface_tests/common_for_distributions_methods.hpp rename to test/xpu_api/random/interface_tests/common_for_distrs_methods.hpp diff --git a/test/xpu_api/random/interface_tests/distributions_methods_dp.pass.cpp b/test/xpu_api/random/interface_tests/distrs_methods_dp.pass.cpp similarity index 98% rename from test/xpu_api/random/interface_tests/distributions_methods_dp.pass.cpp rename to test/xpu_api/random/interface_tests/distrs_methods_dp.pass.cpp index 017f4e82c84..8748063ddb1 100644 --- a/test/xpu_api/random/interface_tests/distributions_methods_dp.pass.cpp +++ b/test/xpu_api/random/interface_tests/distrs_methods_dp.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- distributions_methods_dp.pass.cpp -------------------------------------===// +//===-- distrs_methods_dp.pass.cpp -------------------------------------===// // // Copyright (C) Intel Corporation // @@ -15,7 +15,7 @@ #include "support/utils.h" #if TEST_UNNAMED_LAMBDAS -#include "common_for_distributions_methods.hpp" +#include "common_for_distrs_methods.hpp" #endif // TEST_UNNAMED_LAMBDAS int diff --git a/test/xpu_api/random/interface_tests/distributions_methods_sp.pass.cpp b/test/xpu_api/random/interface_tests/distrs_methods_sp.pass.cpp similarity index 98% rename from test/xpu_api/random/interface_tests/distributions_methods_sp.pass.cpp rename to test/xpu_api/random/interface_tests/distrs_methods_sp.pass.cpp index 02fec2413f8..5ec8a3e848f 100644 --- a/test/xpu_api/random/interface_tests/distributions_methods_sp.pass.cpp +++ b/test/xpu_api/random/interface_tests/distrs_methods_sp.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- distributions_methods_sp.pass.cpp -------------------------------------===// +//===-- distrs_methods_sp.pass.cpp -------------------------------------===// // // Copyright (C) Intel Corporation // @@ -14,7 +14,7 @@ #include "support/utils.h" #if TEST_UNNAMED_LAMBDAS -#include "common_for_distributions_methods.hpp" +#include "common_for_distrs_methods.hpp" #endif // TEST_UNNAMED_LAMBDAS int diff --git a/test/xpu_api/random/statistics_tests/bernoulli_distribution_test.pass.cpp b/test/xpu_api/random/statistics_tests/bernoulli_distr_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/bernoulli_distribution_test.pass.cpp rename to test/xpu_api/random/statistics_tests/bernoulli_distr_test.pass.cpp index b920dddab88..c563f014b85 100644 --- a/test/xpu_api/random/statistics_tests/bernoulli_distribution_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/bernoulli_distr_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- bernoulli_distribution_test.cpp ------------------------------------===// +//===-- bernoulli_distr_test.cpp ------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/exponential_distribution_dp_test.pass.cpp b/test/xpu_api/random/statistics_tests/exponential_distr_dp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/exponential_distribution_dp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/exponential_distr_dp_test.pass.cpp index 36e3377fb19..f93756186b9 100644 --- a/test/xpu_api/random/statistics_tests/exponential_distribution_dp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/exponential_distr_dp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- exponential_distribution_dp_test.cpp ---------------------------------===// +//===-- exponential_distr_dp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/exponential_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/exponential_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/exponential_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/exponential_distr_sp_test.pass.cpp index 2c82a6a8138..f47046d5b4f 100644 --- a/test/xpu_api/random/statistics_tests/exponential_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/exponential_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- exponential_distribution_sp_test.cpp ---------------------------------===// +//===-- exponential_distr_sp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/extreme_value_distribution_dp_tests_set_portion_test.pass.cpp b/test/xpu_api/random/statistics_tests/extreme_value_distr_dp_portion_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/extreme_value_distribution_dp_tests_set_portion_test.pass.cpp rename to test/xpu_api/random/statistics_tests/extreme_value_distr_dp_portion_test.pass.cpp index 56c474b0014..9d0410e12ff 100644 --- a/test/xpu_api/random/statistics_tests/extreme_value_distribution_dp_tests_set_portion_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/extreme_value_distr_dp_portion_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- extreme_value_distribution_dp_tests_set_portion_test.cpp ---------------------------------===// +//===-- extreme_value_distr_dp_portion_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/extreme_value_distribution_dp_tests_set_test.pass.cpp b/test/xpu_api/random/statistics_tests/extreme_value_distr_dp_test.pass.cpp similarity index 98% rename from test/xpu_api/random/statistics_tests/extreme_value_distribution_dp_tests_set_test.pass.cpp rename to test/xpu_api/random/statistics_tests/extreme_value_distr_dp_test.pass.cpp index 60a65a80fd9..2a9e2cf6424 100644 --- a/test/xpu_api/random/statistics_tests/extreme_value_distribution_dp_tests_set_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/extreme_value_distr_dp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- extreme_value_distribution_dp_tests_set_test.cpp ---------------------------------===// +//===-- extreme_value_distr_dp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/extreme_value_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/extreme_value_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/extreme_value_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/extreme_value_distr_sp_test.pass.cpp index fc5031f2077..c74464ed8aa 100644 --- a/test/xpu_api/random/statistics_tests/extreme_value_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/extreme_value_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- extreme_value_distribution_sp_test.cpp ---------------------------------===// +//===-- extreme_value_distr_sp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/geometric_distribution_test.pass.cpp b/test/xpu_api/random/statistics_tests/geometric_distr_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/geometric_distribution_test.pass.cpp rename to test/xpu_api/random/statistics_tests/geometric_distr_test.pass.cpp index 96061269f7a..b000951aa30 100644 --- a/test/xpu_api/random/statistics_tests/geometric_distribution_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/geometric_distr_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- geometric_distribution_test.cpp ------------------------------------===// +//===-- geometric_distr_test.cpp ------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/lognormal_distribution_dp_tests_set_portion_test.pass.cpp b/test/xpu_api/random/statistics_tests/lognormal_distr_dp_portion_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/lognormal_distribution_dp_tests_set_portion_test.pass.cpp rename to test/xpu_api/random/statistics_tests/lognormal_distr_dp_portion_test.pass.cpp index b1c8ebb9913..6080bee4016 100644 --- a/test/xpu_api/random/statistics_tests/lognormal_distribution_dp_tests_set_portion_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/lognormal_distr_dp_portion_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- lognormal_distribution_dp_tests_set_portion_test.cpp ---------------------------------------===// +//===-- lognormal_distr_dp_portion_test.cpp ---------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/lognormal_distribution_dp_tests_set_test.pass.cpp b/test/xpu_api/random/statistics_tests/lognormal_distr_dp_test.pass.cpp similarity index 98% rename from test/xpu_api/random/statistics_tests/lognormal_distribution_dp_tests_set_test.pass.cpp rename to test/xpu_api/random/statistics_tests/lognormal_distr_dp_test.pass.cpp index 115ac81970c..805dd009102 100644 --- a/test/xpu_api/random/statistics_tests/lognormal_distribution_dp_tests_set_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/lognormal_distr_dp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- lognormal_distribution_dp_tests_set_test.cpp ---------------------------------------===// +//===-- lognormal_distr_dp_test.cpp ---------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/lognormal_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/lognormal_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/lognormal_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/lognormal_distr_sp_test.pass.cpp index 719f5a0fd49..752b42d3e23 100644 --- a/test/xpu_api/random/statistics_tests/lognormal_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/lognormal_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- lognormal_distribution_sp_test.cpp ---------------------------------------===// +//===-- lognormal_distr_sp_test.cpp ---------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/normal_distribution_dp_tests_set_portion_test.pass.cpp b/test/xpu_api/random/statistics_tests/normal_distr_dp_portion_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/normal_distribution_dp_tests_set_portion_test.pass.cpp rename to test/xpu_api/random/statistics_tests/normal_distr_dp_portion_test.pass.cpp index f9d7d33cac8..1ae959359f6 100644 --- a/test/xpu_api/random/statistics_tests/normal_distribution_dp_tests_set_portion_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/normal_distr_dp_portion_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- normal_distribution_dp_tests_set_portion_test.cpp ---------------------------------------===// +//===-- normal_distr_dp_portion_test.cpp ---------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/normal_distribution_dp_tests_set_test.pass.cpp b/test/xpu_api/random/statistics_tests/normal_distr_dp_test.pass.cpp similarity index 98% rename from test/xpu_api/random/statistics_tests/normal_distribution_dp_tests_set_test.pass.cpp rename to test/xpu_api/random/statistics_tests/normal_distr_dp_test.pass.cpp index 1489ed33065..f953a343747 100644 --- a/test/xpu_api/random/statistics_tests/normal_distribution_dp_tests_set_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/normal_distr_dp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- normal_distribution_dp_tests_set_test.cpp ---------------------------------------===// +//===-- normal_distr_dp_test.cpp ---------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/normal_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/normal_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/normal_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/normal_distr_sp_test.pass.cpp index d543bf54673..7c95066d668 100644 --- a/test/xpu_api/random/statistics_tests/normal_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/normal_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- normal_distribution_sp_test.cpp ---------------------------------------===// +//===-- normal_distr_sp_test.cpp ---------------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/philox_uniform_real_distribution_dp_test.pass.cpp b/test/xpu_api/random/statistics_tests/philox_uniform_real_distr_dp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/philox_uniform_real_distribution_dp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/philox_uniform_real_distr_dp_test.pass.cpp index 39249d4db2e..d901475848f 100644 --- a/test/xpu_api/random/statistics_tests/philox_uniform_real_distribution_dp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/philox_uniform_real_distr_dp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- philox_uniform_real_distribution_dp_test.pass.cpp --------------------===// +//===-- philox_uniform_real_distr_dp_test.pass.cpp --------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/philox_uniform_real_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/philox_uniform_real_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/philox_uniform_real_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/philox_uniform_real_distr_sp_test.pass.cpp index 7b2806da637..fdbc83fe7b4 100644 --- a/test/xpu_api/random/statistics_tests/philox_uniform_real_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/philox_uniform_real_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- philox_uniform_real_distribution_sp_test.pass.cpp --------------------===// +//===-- philox_uniform_real_distr_sp_test.pass.cpp --------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/uniform_int_distribution_test.pass.cpp b/test/xpu_api/random/statistics_tests/uniform_int_distr_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/uniform_int_distribution_test.pass.cpp rename to test/xpu_api/random/statistics_tests/uniform_int_distr_test.pass.cpp index 985a03a2668..a2cc5c54b20 100644 --- a/test/xpu_api/random/statistics_tests/uniform_int_distribution_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/uniform_int_distr_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- uniform_int_distribution_test.cpp ----------------------------------===// +//===-- uniform_int_distr_test.cpp ----------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/uniform_real_distribution_dp_test.pass.cpp b/test/xpu_api/random/statistics_tests/uniform_real_distr_dp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/uniform_real_distribution_dp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/uniform_real_distr_dp_test.pass.cpp index 67a6b28318a..b9d2fe502f2 100644 --- a/test/xpu_api/random/statistics_tests/uniform_real_distribution_dp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/uniform_real_distr_dp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- uniform_real_distribution_dp_test.cpp ---------------------------------===// +//===-- uniform_real_distr_dp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/uniform_real_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/uniform_real_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/uniform_real_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/uniform_real_distr_sp_test.pass.cpp index daded6a16fc..b684a5f756c 100644 --- a/test/xpu_api/random/statistics_tests/uniform_real_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/uniform_real_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- uniform_real_distribution_sp_test.cpp ---------------------------------===// +//===-- uniform_real_distr_sp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/weibull_distribution_dp_test.pass.cpp b/test/xpu_api/random/statistics_tests/weibull_distr_dp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/weibull_distribution_dp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/weibull_distr_dp_test.pass.cpp index c3fd68292ba..aa5b057d99d 100644 --- a/test/xpu_api/random/statistics_tests/weibull_distribution_dp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/weibull_distr_dp_test.pass.cpp @@ -1,6 +1,6 @@ // -*- C++ -*- -//===-- weibull_distribution_dp_test.cpp ---------------------------------===// +//===-- weibull_distr_dp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/random/statistics_tests/weibull_distribution_sp_test.pass.cpp b/test/xpu_api/random/statistics_tests/weibull_distr_sp_test.pass.cpp similarity index 99% rename from test/xpu_api/random/statistics_tests/weibull_distribution_sp_test.pass.cpp rename to test/xpu_api/random/statistics_tests/weibull_distr_sp_test.pass.cpp index ad486458ed3..6e40364feb0 100644 --- a/test/xpu_api/random/statistics_tests/weibull_distribution_sp_test.pass.cpp +++ b/test/xpu_api/random/statistics_tests/weibull_distr_sp_test.pass.cpp @@ -1,5 +1,5 @@ // -*- C++ -*- -//===-- weibull_distribution_sp_test.cpp ---------------------------------===// +//===-- weibull_distr_sp_test.cpp ---------------------------------===// // // Copyright (C) Intel Corporation // diff --git a/test/xpu_api/ranges/xpu_std_all_view.pass.cpp b/test/xpu_api/ranges/xpu_std_all_view.pass.cpp new file mode 100644 index 00000000000..cb4f08a73b8 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_all_view.pass.cpp @@ -0,0 +1,39 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto res = std::ranges::views::iota(0, 4) | std::ranges::views::all; + return res.size() == 4 && res[0] == 0 && res[1] == 1 && res[2] == 2 && res[3] == 3 && + *(res.begin() + 2) == res[2] && res.end() - res.begin() == 4; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of all_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_drop_view.pass.cpp b/test/xpu_api/ranges/xpu_std_drop_view.pass.cpp new file mode 100644 index 00000000000..060ca7999d4 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_drop_view.pass.cpp @@ -0,0 +1,39 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto res = std::ranges::views::iota(0, 4) | std::ranges::views::drop(2); + return res.size() == 2 && res[0] == 2 && res[1] == 3 && *res.begin() == 2 + && res.end() - res.begin() == 2; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of drop_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_iota_view.pass.cpp b/test/xpu_api/ranges/xpu_std_iota_view.pass.cpp new file mode 100644 index 00000000000..50ab60f8608 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_iota_view.pass.cpp @@ -0,0 +1,40 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto res = std::ranges::views::iota(0, 4); + return res.size() == 4 && res[0] == 0 && res[1] == 1 && res[2] == 2 && res[3] == 3 && + *(res.begin() + 2) == 2 && (res.end() - res.begin()) == 4 && !res.empty() && + res.front() == 0 && res.back() == 3; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of iota_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_ranges_test.h b/test/xpu_api/ranges/xpu_std_ranges_test.h new file mode 100644 index 00000000000..19f1a793bf7 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_ranges_test.h @@ -0,0 +1,34 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/utils_sycl.h" + +template +bool +kernel_test(Test test) +{ + sycl::queue deviceQueue = TestUtils::get_test_queue(); + bool ret = false; + sycl::range<1> numOfItems{1}; + sycl::buffer buffer1(&ret, numOfItems); + deviceQueue.submit([&](sycl::handler& cgh) { + auto ret_access = buffer1.get_access(cgh); + cgh.single_task([=]() { + ret_access[0] = test(); //run test + }); + }); + + return buffer1.get_host_access(sycl::read_only)[0]; +} diff --git a/test/xpu_api/ranges/xpu_std_reverse_view.pass.cpp b/test/xpu_api/ranges/xpu_std_reverse_view.pass.cpp new file mode 100644 index 00000000000..a117451f04f --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_reverse_view.pass.cpp @@ -0,0 +1,39 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto res = std::ranges::views::iota(0, 4) | std::ranges::views::reverse; + return res.size() == 4 && res[0] == 3 && res[1] == 2 && res[2] == 1 && res[3] == 0 && + *(res.begin() + 2) == 1 && res.end() - res.begin() == 4; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of reverse_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_single_view.pass.cpp b/test/xpu_api/ranges/xpu_std_single_view.pass.cpp new file mode 100644 index 00000000000..5824635b7bc --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_single_view.pass.cpp @@ -0,0 +1,38 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto res = std::ranges::views::single(1); + return res.size() == 1 && res[0] == 1 && *res.begin() == 1 && res.end() - res.begin() == 1 && *res.data() == 1; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of single_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_subrange.pass.cpp b/test/xpu_api/ranges/xpu_std_subrange.pass.cpp new file mode 100644 index 00000000000..bc6df95f8d9 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_subrange.pass.cpp @@ -0,0 +1,41 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto v = std::ranges::views::iota(0, 4); + auto res = std::ranges::subrange(v.begin() + 1, v.end()); + + return res.size() == 3 && res[0] == 1 && res[1] == 2 && res[2] == 3 && (*res.begin() + 2) == 3 && + res.end() - res.begin() == 3 && *std::ranges::next(res.begin()) == 2 && *std::ranges::prev(res.end()) == 3; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of subrange check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_take_view.pass.cpp b/test/xpu_api/ranges/xpu_std_take_view.pass.cpp new file mode 100644 index 00000000000..570a037a936 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_take_view.pass.cpp @@ -0,0 +1,39 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + auto res = std::ranges::views::iota(0, 4) | std::ranges::views::take(2); + return res.size() == 2 && res[0] == 0 && res[1] == 1 && *(res.begin() + 1) == 1 && + (res.end() - res.begin()) == 2; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of take_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +} diff --git a/test/xpu_api/ranges/xpu_std_transform_view.pass.cpp b/test/xpu_api/ranges/xpu_std_transform_view.pass.cpp new file mode 100644 index 00000000000..0b0ad4f78d8 --- /dev/null +++ b/test/xpu_api/ranges/xpu_std_transform_view.pass.cpp @@ -0,0 +1,40 @@ +// -*- C++ -*- +//===----------------------------------------------------------------------===// +// +// Copyright (C) Intel Corporation +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// This file incorporates work covered by the following copyright and permission +// notice: +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// +//===----------------------------------------------------------------------===// + +#include "support/test_config.h" +#include "support/test_macros.h" +#include "support/utils.h" + +#if _ENABLE_STD_RANGES_TESTING +#include +#include "xpu_std_ranges_test.h" +#endif //_ENABLE_STD_RANGES_TESTING + +int +main() +{ +#if _ENABLE_STD_RANGES_TESTING + auto test = [](){ + int a[4] = {0, 0, 0, 0}; + auto res = std::ranges::subrange(a, a+4) | std::ranges::views::transform([](auto v) { return v + 1;}); + return res[0] == 1 && res[1] == 1 && res[2] == 1 && res[3] == 1 && *(res.begin() + 2) == 1 && + res.end() - res.begin() == 4; + }; + const bool res = kernel_test(test); + EXPECT_TRUE(res, "Wrong result of transform_view check within a kernel"); +#endif //_ENABLE_STD_RANGES_TESTING + + return TestUtils::done(_ENABLE_STD_RANGES_TESTING); +}