From 240685db73e3169e66dbb625b4d5fa1ad06ec79b Mon Sep 17 00:00:00 2001 From: Valentina Kats Date: Thu, 16 Feb 2023 20:23:10 +0100 Subject: [PATCH] Documentation sync for 2022.0 release (#792) * Fixed table entry in documentation (entry in column 1 was too long). (#681) (cherry picked from commit c09390f9d57a7093f863d0dd381f94c214c40561) * oneDPL 2022.0.0 changes description (#672) * add changes description * Add new page to structure * Address review feedback * A string alignment * Reorganize and update wording Signed-off-by: Alexey Kukanov * Improve the note directive * Address review feedback Signed-off-by: Alexey Kukanov Co-authored-by: Alexey Kukanov (cherry picked from commit 7b31e75710b93b90653d54c24dacb70ff52647a9) * Updated per library style guides. (#692) Signed-off-by: Benito, Dylan Co-authored-by: Valentina Kats (cherry picked from commit 124856af648ed34382fb15b967da711c1afecd0b) * Update release_notes.rst * Apply suggestions from code review Co-authored-by: Timmie Smith --------- Co-authored-by: trosenqu Co-authored-by: Dylan Co-authored-by: Timmie Smith --- documentation/index.rst | 1 + .../tested_standard_cpp_api.rst | 782 +++++++++--------- documentation/library_guide/index.rst | 12 +- .../{overview.rst => introduction.rst} | 13 +- .../library_guide/notices_disclaimers.rst | 11 +- .../library_guide/oneDPL_2022.0_changes.rst | 37 + documentation/library_guide/onedpl_gsg.rst | 17 +- .../parallel_api/execution_policies.rst | 2 +- documentation/release_notes.rst | 24 + 9 files changed, 491 insertions(+), 408 deletions(-) rename documentation/library_guide/{overview.rst => introduction.rst} (97%) create mode 100644 documentation/library_guide/oneDPL_2022.0_changes.rst diff --git a/documentation/index.rst b/documentation/index.rst index b8edf5c8c18..e92e9653838 100644 --- a/documentation/index.rst +++ b/documentation/index.rst @@ -9,5 +9,6 @@ oneAPI DPC++ Library (oneDPL) library_guide/parallel_api_main.rst library_guide/parallel_api/std_execution_policies.rst library_guide/macros.rst + library_guide/oneDPL_2022.0_changes.rst library_guide/api_for_dpcpp_kernels_main.rst diff --git a/documentation/library_guide/api_for_sycl_kernels/tested_standard_cpp_api.rst b/documentation/library_guide/api_for_sycl_kernels/tested_standard_cpp_api.rst index a14db55ceba..5d2a67dd75c 100644 --- a/documentation/library_guide/api_for_sycl_kernels/tested_standard_cpp_api.rst +++ b/documentation/library_guide/api_for_sycl_kernels/tested_standard_cpp_api.rst @@ -62,397 +62,397 @@ The printed result is: Tested Standard C++ API Reference ================================= -==================================== ========== ========== ========== -C++ Standard API libstdc++ libc++ MSVC -==================================== ========== ========== ========== -``std::swap`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::lower_bound`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::upper_bound`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::binary_search`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::equal_range`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::tuple`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::pair`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::reference_wrapper`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::ref/cref`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::divides`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::minus`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::plus`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::negate`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::modulus`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::multiplies`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::equal_to`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::greater`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::greater_equal`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::less`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::less_equal`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::not_equal_to`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::bit_and`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::bit_not`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::bit_xor`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::bit_or`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::logical_and`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::logical_or`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::logical_not`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::binary_negate`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::unary_negate`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::not1/2`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::initializer_list`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::forward`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::move`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::move_if_noexcept`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::integral_constant`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_same`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_base_of`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_base_of_union`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_convertible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::extent`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::rank`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remove_all_extents`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remove_extent`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::add_const`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::add_cv`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::add_volatile`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remove_const`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remove_cv`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remove_volatile`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::decay`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::conditional`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::enable_if`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::common_type`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::declval`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::alignment_of`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_arithmetic`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_fundamental`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_reference`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_object`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_scalar`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_compound`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_member_pointer`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_const`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_assignable`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_constructible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_copy_assignable`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_copy_constructible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_default_constructible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_destructible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_empty`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_literal_type`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_move_assignable`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_move_constructible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_pod`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_signed`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_standard_layout`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_trivial`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_unsigned`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_volatile`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_trivially_assignable`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_trivially_constructible`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_trivially_copyable`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::array`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::ratio`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::complex`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::abs`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::arg`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::conj`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::exp`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::imag`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::norm`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::polar`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::proj`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::real`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::assert`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::sin`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::cos`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::tan`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::asin`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::acos`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::atan`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::atan2`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::sinh`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::cosh`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::tanh`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::asinh`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::acosh`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::atanh`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::exp`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::frexp`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::ldexp`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::log`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::log10`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::modf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::exp2`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::expm1`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::ilogb`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::log1p`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::log2`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::logb`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::pow`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::sqrt`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::cbrt`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::hypot`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::erf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::erfc`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::tgamma`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::lgamma`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fmod`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remainder`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::remquo`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::nextafter`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::nearbyint`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::nearbyintf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fdim`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::optional`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::reduce`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::all_of`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::any_of`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::none_of`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::count`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::count_if`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::for_each`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::find`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::find_if`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::find_if_not`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::for_each_n`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::ceil`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::copy`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::copy_backward`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::copy_if`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::copy_n`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::copysign`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::copysignf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fabs`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_permutation`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fill`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fill_n`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::floor`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fmax`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fmaxf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fmin`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::fminf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::move`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::move_backward`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_sorted`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_sorted_until`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::isgreater`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::isgreaterequal`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::isinf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::isless`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::islessequal`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::isnan`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::isunordered`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::partial_sort`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::partial_sort_copy`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_heap`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::is_heap_until`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::make_heap`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::max`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::min`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::nan`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::nanf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::numeric_limits::infinity`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::numeric_limits::lowest`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::numeric_limits::max`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::numeric_limits::quiet_NaN``Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::push_heap`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::pop_heap`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::round`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::roundf`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::trunc`` Tested Tested Tested ------------------------------------- ---------- ---------- ---------- -``std::truncf`` Tested Tested Tested -==================================== ========== ========== ========== +===================================== ========== ========== ========== +C++ Standard API libstdc++ libc++ MSVC +===================================== ========== ========== ========== +``std::swap`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::lower_bound`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::upper_bound`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::binary_search`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::equal_range`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::tuple`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::pair`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::reference_wrapper`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::ref/cref`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::divides`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::minus`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::plus`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::negate`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::modulus`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::multiplies`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::equal_to`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::greater`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::greater_equal`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::less`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::less_equal`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::not_equal_to`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::bit_and`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::bit_not`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::bit_xor`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::bit_or`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::logical_and`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::logical_or`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::logical_not`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::binary_negate`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::unary_negate`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::not1/2`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::initializer_list`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::forward`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::move`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::move_if_noexcept`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::integral_constant`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_same`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_base_of`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_base_of_union`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_convertible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::extent`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::rank`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remove_all_extents`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remove_extent`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::add_const`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::add_cv`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::add_volatile`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remove_const`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remove_cv`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remove_volatile`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::decay`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::conditional`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::enable_if`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::common_type`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::declval`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::alignment_of`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_arithmetic`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_fundamental`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_reference`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_object`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_scalar`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_compound`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_member_pointer`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_const`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_assignable`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_constructible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_copy_assignable`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_copy_constructible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_default_constructible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_destructible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_empty`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_literal_type`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_move_assignable`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_move_constructible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_pod`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_signed`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_standard_layout`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_trivial`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_unsigned`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_volatile`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_trivially_assignable`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_trivially_constructible`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_trivially_copyable`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::array`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::ratio`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::complex`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::abs`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::arg`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::conj`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::exp`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::imag`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::norm`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::polar`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::proj`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::real`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::assert`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::sin`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::cos`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::tan`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::asin`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::acos`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::atan`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::atan2`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::sinh`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::cosh`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::tanh`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::asinh`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::acosh`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::atanh`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::exp`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::frexp`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::ldexp`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::log`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::log10`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::modf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::exp2`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::expm1`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::ilogb`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::log1p`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::log2`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::logb`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::pow`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::sqrt`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::cbrt`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::hypot`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::erf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::erfc`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::tgamma`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::lgamma`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fmod`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remainder`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::remquo`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::nextafter`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::nearbyint`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::nearbyintf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fdim`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::optional`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::reduce`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::all_of`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::any_of`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::none_of`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::count`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::count_if`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::for_each`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::find`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::find_if`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::find_if_not`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::for_each_n`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::ceil`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::copy`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::copy_backward`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::copy_if`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::copy_n`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::copysign`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::copysignf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fabs`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_permutation`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fill`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fill_n`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::floor`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fmax`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fmaxf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fmin`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::fminf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::move`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::move_backward`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_sorted`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_sorted_until`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::isgreater`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::isgreaterequal`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::isinf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::isless`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::islessequal`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::isnan`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::isunordered`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::partial_sort`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::partial_sort_copy`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_heap`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::is_heap_until`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::make_heap`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::max`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::min`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::nan`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::nanf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::numeric_limits::infinity`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::numeric_limits::lowest`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::numeric_limits::max`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::numeric_limits::quiet_NaN`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::push_heap`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::pop_heap`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::round`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::roundf`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::trunc`` Tested Tested Tested +------------------------------------- ---------- ---------- ---------- +``std::truncf`` Tested Tested Tested +===================================== ========== ========== ========== These tests were done for the following versions of the standard C++ library: diff --git a/documentation/library_guide/index.rst b/documentation/library_guide/index.rst index 4b0b2540f0e..80af4af397e 100644 --- a/documentation/library_guide/index.rst +++ b/documentation/library_guide/index.rst @@ -1,10 +1,13 @@ -|onedpl_long| -================================= +|onedpl_long| Developer Guide +============================= |onedpl_long| (|onedpl_short|) works with the |dpcpp_cpp| to provide high-productivity APIs to developers, which can minimize SYCL* programming efforts across devices for high performance parallel applications. +For general information, refer to the `oneDPL GitHub* repository +`_. + .. toctree:: :maxdepth: 2 :caption: Get Started @@ -16,13 +19,14 @@ efforts across devices for high performance parallel applications. :maxdepth: 2 :caption: Library Guide - overview + introduction parallel_api_main api_for_sycl_kernels_main macros + oneDPL_2022.0_changes .. toctree:: :hidden: :caption: Notices and Disclaimers - notices_disclaimers.rst \ No newline at end of file + notices_disclaimers.rst diff --git a/documentation/library_guide/overview.rst b/documentation/library_guide/introduction.rst similarity index 97% rename from documentation/library_guide/overview.rst rename to documentation/library_guide/introduction.rst index 45b1e8af536..dd57da8dd2a 100644 --- a/documentation/library_guide/overview.rst +++ b/documentation/library_guide/introduction.rst @@ -1,4 +1,4 @@ -|onedpl_long| Overview +|onedpl_long| Introduction ####################################### Parallel API can be used with the `C++ Standard Execution @@ -22,7 +22,9 @@ page for: * Overview * New Features * Fixed Issues +* Deprecation Notice * Known Issues and Limitations +* Previous Release Notes Install the `Intel® oneAPI Base Toolkit (Base Kit) `_ to use |onedpl_short|. @@ -34,8 +36,11 @@ include the corresponding header in your source code with the ``#include `_ file for the full license text and copyright notice. + + + diff --git a/documentation/library_guide/oneDPL_2022.0_changes.rst b/documentation/library_guide/oneDPL_2022.0_changes.rst new file mode 100644 index 00000000000..1f80e672cc2 --- /dev/null +++ b/documentation/library_guide/oneDPL_2022.0_changes.rst @@ -0,0 +1,37 @@ +oneDPL 2022 Breaking Changes +############################ + +This page lists the incompatible changes that occurred between the 2021.7.1 and 2022.0 releases. + +.. note:: + You may need to modify and/or rebuild your code when switching to oneDPL 2022.0. + +Support for C++11 and C++14 has been discontinued. To use any functionality of oneDPL 2022.0, +a compiler that supports C++17 or newer version of the C++ language standard is required. + +The following APIs are not supported in C++17 and have been removed from ``namespace oneapi::dpl``: + +* In the ```` header: + + * ``binary_function`` + * ``unary_function`` + +The following APIs are deprecated in C++17 and not supported in C++20: + +* In the ```` header: + + * ``binary_negate`` + * ``not1`` + * ``not2`` + * ``unary_negate`` + +* In the ```` header: + + * ``is_literal_type`` + * ``is_literal_type_v`` + * ``result_of`` + * ``result_of_t`` + +The size and the layout of the ``discard_block_engine`` class template were changed to align its +implementation with the С++ standard proposal found at https://cplusplus.github.io/LWG/issue3561. +This change lets you utilize the full range of values for the template parameters of the engine. diff --git a/documentation/library_guide/onedpl_gsg.rst b/documentation/library_guide/onedpl_gsg.rst index 2f98075d45e..a4590291fb6 100644 --- a/documentation/library_guide/onedpl_gsg.rst +++ b/documentation/library_guide/onedpl_gsg.rst @@ -17,8 +17,11 @@ For general information about |onedpl_short|, visit the `oneDPL GitHub* reposito or visit the `Intel® oneAPI DPC++ Library Guide `_ and the `Intel® oneAPI DPC++ Library main page `_. -Before You Begin -================ +Quick Start +=========== + +Installation +------------ Visit the |onedpl_short| `Release Notes `_ @@ -43,13 +46,13 @@ and use the ``std`` namespace. pkg-config Support -================== +------------------ The pkg-config program is used to retrieve information about your installed libraries, and to compile and link against one or more libraries. Use pkg-config with |onedpl_short| ----------------------------------- +********************************** Use pkg-config with the ``--cflags`` flag to get the include path to the oneDPL directory: @@ -69,14 +72,14 @@ This flag converts your compiling and linking flags to the appropriate form: Usage Examples -============== +-------------- |onedpl_short| sample code is available from the `oneAPI GitHub samples repository `_. Each sample includes a readme with build instructions. \ Header Usage Example ------------------------------------------- +****************************************** This example illustrates |onedpl_short| random number generator usage. The sample below shows you how to create an random number generator engine object (the source of pseudo-randomness), @@ -107,7 +110,7 @@ This example performs its computations on your default SYCL device. You can set } Pi Benchmark Usage Example --------------------------- +************************** This example uses a Monte Carlo method to estimate the value of π. The basic idea is to generate random points within a square, and to check what diff --git a/documentation/library_guide/parallel_api/execution_policies.rst b/documentation/library_guide/parallel_api/execution_policies.rst index 36a8553e326..5d8608145cc 100644 --- a/documentation/library_guide/parallel_api/execution_policies.rst +++ b/documentation/library_guide/parallel_api/execution_policies.rst @@ -157,7 +157,7 @@ with the following steps: following constructor arguments: #. A SYCL queue constructed for the - `FPGA Selector `_ + `FPGA Selector `_ (the behavior is undefined with any other queue). #. An existing FPGA policy object with a different kernel name and/or unroll factor. diff --git a/documentation/release_notes.rst b/documentation/release_notes.rst index 40dd19efa8a..0bd0190ff9b 100644 --- a/documentation/release_notes.rst +++ b/documentation/release_notes.rst @@ -8,6 +8,29 @@ The Intel® oneAPI DPC++ Library (oneDPL) accompanies the Intel® oneAPI DPC++/C and provides high-productivity APIs aimed to minimize programming efforts of C++ developers creating efficient heterogeneous applications. +New in 2022.0.0 +=============== + +New Features +------------ +- Added the functionality from ```` and more APIs from ```` and ```` + standard headers to `Tested Standard C++ API`_. +- Improved performance of ``sort`` and ``stable_sort`` algorithms on GPU devices when using Radix sort [#fnote1]_. + +Fixed Issues +------------ +- Fixed permutation_iterator to work with C++ lambda functions for index permutation +- Fixed an error in ``oneapi::dpl::experimental::ranges::guard_view`` and ``oneapi::dpl::experimental::ranges::zip_view`` + when using ``operator[]`` with an index exceeding the limits of a 32 bit integer type. +- Fixed errors when data size is 0 in ``upper_bound``, ``lower_bound`` and ``binary_search`` algorithms. + +Changes affecting backward compatibility +---------------------------------------- +- Removed support of C++11 and C++14. +- Changed the size and the layout of the ``discard_block_engine`` class template. + + For further details, please refer to `2022.0 Changes`_. + New in 2021.7.1 =============== @@ -367,3 +390,4 @@ Known Issues and Limitations .. _`restrictions and known limitations`: https://oneapi-src.github.io/oneDPL/overview.html#restrictions .. _`Tested Standard C++ API`: https://oneapi-src.github.io/oneDPL/api_for_dpcpp_kernels/tested_standard_cpp_api.html#tested-standard-c-api-reference .. _`Macros`: https://oneapi-src.github.io/oneDPL/macros.html +.. _`2022.0 Changes`: https://oneapi-src.github.io/oneDPL/oneDPL_2022.0_changes.html