onedpl/2022.3.0

OneDPL (Formerly Parallel STL) is an implementation of the C++ standard library algorithmswith support for execution policies, as specified in ISO/IEC 14882:2017 standard, commonly called C++17
Recipe info
LLVM-exception, Apache-2.0
2024-01-13

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
onedpl/2022.3.0

Using onedpl

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
onedpl/2022.3.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("onedpl/2022.3.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): ParallelSTL
  • CMake target name(s): pstl::ParallelSTL
  • _onedpl => pstl::ParallelSTL
    
  • pkg-config file name(s): onedpl.pc
  • _onedpl => onedpl-_onedpl.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(ParallelSTL REQUIRED)
# ...
target_link_libraries(YOUR_TARGET pstl::ParallelSTL)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the onedpl homepage listed above:

#include "oneapi/dpl/algorithm"
#include "oneapi/dpl/array"
#include "oneapi/dpl/async"
#include "oneapi/dpl/cmath"
#include "oneapi/dpl/complex"
#include "oneapi/dpl/cstddef"
#include "oneapi/dpl/cstring"
#include "oneapi/dpl/dynamic_selection"
#include "oneapi/dpl/execution"
#include "oneapi/dpl/functional"
#include "oneapi/dpl/internal/async_extension_defs.h"
#include "oneapi/dpl/internal/async_impl/async_impl_hetero.h"
#include "oneapi/dpl/internal/async_impl/glue_async_impl.h"
#include "oneapi/dpl/internal/binary_search_extension_defs.h"
#include "oneapi/dpl/internal/binary_search_impl.h"
#include "oneapi/dpl/internal/by_segment_extension_defs.h"
#include "oneapi/dpl/internal/common_config.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/auto_tune_policy.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/dynamic_load_policy.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/fixed_resource_policy.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/policy_traits.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/round_robin_policy.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/scoring_policy_defs.h"
#include "oneapi/dpl/internal/dynamic_selection_impl/sycl_backend.h"
#include "oneapi/dpl/internal/dynamic_selection_traits.h"
#include "oneapi/dpl/internal/exclusive_scan_by_segment_impl.h"
#include "oneapi/dpl/internal/function.h"
#include "oneapi/dpl/internal/gcd_impl.h"
#include "oneapi/dpl/internal/inclusive_scan_by_segment_impl.h"
#include "oneapi/dpl/internal/iterator_impl.h"
#include "oneapi/dpl/internal/random_impl/bernoulli_distribution.h"
#include "oneapi/dpl/internal/random_impl/cauchy_distribution.h"
#include "oneapi/dpl/internal/random_impl/discard_block_engine.h"
#include "oneapi/dpl/internal/random_impl/exponential_distribution.h"
#include "oneapi/dpl/internal/random_impl/extreme_value_distribution.h"
#include "oneapi/dpl/internal/random_impl/geometric_distribution.h"
#include "oneapi/dpl/internal/random_impl/linear_congruential_engine.h"
#include "oneapi/dpl/internal/random_impl/lognormal_distribution.h"
#include "oneapi/dpl/internal/random_impl/normal_distribution.h"
#include "oneapi/dpl/internal/random_impl/random_common.h"
#include "oneapi/dpl/internal/random_impl/subtract_with_carry_engine.h"
#include "oneapi/dpl/internal/random_impl/uniform_int_distribution.h"
#include "oneapi/dpl/internal/random_impl/uniform_real_distribution.h"
#include "oneapi/dpl/internal/random_impl/weibull_distribution.h"
#include "oneapi/dpl/internal/reduce_by_segment_impl.h"
#include "oneapi/dpl/internal/scan_by_segment_impl.h"
#include "oneapi/dpl/internal/serial_algorithm_impl.h"
#include "oneapi/dpl/internal/serial_numeric_impl.h"
#include "oneapi/dpl/iterator"
#include "oneapi/dpl/limits"
#include "oneapi/dpl/memory"
#include "oneapi/dpl/numeric"
#include "oneapi/dpl/optional"
#include "oneapi/dpl/pstl/algorithm_fwd.h"
#include "oneapi/dpl/pstl/algorithm_impl.h"
#include "oneapi/dpl/pstl/execution_defs.h"
#include "oneapi/dpl/pstl/execution_impl.h"
#include "oneapi/dpl/pstl/experimental/algorithm"
#include "oneapi/dpl/pstl/experimental/internal/for_loop.h"
#include "oneapi/dpl/pstl/experimental/internal/for_loop_impl.h"
#include "oneapi/dpl/pstl/experimental/internal/induction.h"
#include "oneapi/dpl/pstl/experimental/internal/induction_impl.h"
#include "oneapi/dpl/pstl/experimental/internal/reduction.h"
#include "oneapi/dpl/pstl/experimental/internal/reduction_impl.h"
#include "oneapi/dpl/pstl/glue_algorithm_defs.h"
#include "oneapi/dpl/pstl/glue_algorithm_impl.h"
#include "oneapi/dpl/pstl/glue_algorithm_ranges_defs.h"
#include "oneapi/dpl/pstl/glue_algorithm_ranges_impl.h"
#include "oneapi/dpl/pstl/glue_execution_defs.h"
#include "oneapi/dpl/pstl/glue_memory_defs.h"
#include "oneapi/dpl/pstl/glue_memory_impl.h"
#include "oneapi/dpl/pstl/glue_numeric_defs.h"
#include "oneapi/dpl/pstl/glue_numeric_impl.h"
#include "oneapi/dpl/pstl/glue_numeric_ranges_defs.h"
#include "oneapi/dpl/pstl/glue_numeric_ranges_impl.h"
#include "oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h"
#include "oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/execution_sycl_defs.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_fpga.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_radix_sort.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_radix_sort_one_wg.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/sycl_defs.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/sycl_iterator.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/unseq_backend_sycl.h"
#include "oneapi/dpl/pstl/hetero/dpcpp/utils_ranges_sycl.h"
#include "oneapi/dpl/pstl/hetero/numeric_impl_hetero.h"
#include "oneapi/dpl/pstl/hetero/numeric_ranges_impl_hetero.h"
#include "oneapi/dpl/pstl/hetero/utils_hetero.h"
#include "oneapi/dpl/pstl/iterator_defs.h"
#include "oneapi/dpl/pstl/iterator_impl.h"
#include "oneapi/dpl/pstl/memory_fwd.h"
#include "oneapi/dpl/pstl/memory_impl.h"
#include "oneapi/dpl/pstl/numeric_fwd.h"
#include "oneapi/dpl/pstl/numeric_impl.h"
#include "oneapi/dpl/pstl/omp/parallel_for.h"
#include "oneapi/dpl/pstl/omp/parallel_for_each.h"
#include "oneapi/dpl/pstl/omp/parallel_invoke.h"
#include "oneapi/dpl/pstl/omp/parallel_merge.h"
#include "oneapi/dpl/pstl/omp/parallel_reduce.h"
#include "oneapi/dpl/pstl/omp/parallel_scan.h"
#include "oneapi/dpl/pstl/omp/parallel_stable_partial_sort.h"
#include "oneapi/dpl/pstl/omp/parallel_stable_sort.h"
#include "oneapi/dpl/pstl/omp/parallel_transform_reduce.h"
#include "oneapi/dpl/pstl/omp/parallel_transform_scan.h"
#include "oneapi/dpl/pstl/omp/util.h"
#include "oneapi/dpl/pstl/onedpl_config.h"
#include "oneapi/dpl/pstl/parallel_backend.h"
#include "oneapi/dpl/pstl/parallel_backend_omp.h"
#include "oneapi/dpl/pstl/parallel_backend_serial.h"
#include "oneapi/dpl/pstl/parallel_backend_tbb.h"
#include "oneapi/dpl/pstl/parallel_backend_utils.h"
#include "oneapi/dpl/pstl/parallel_impl.h"
#include "oneapi/dpl/pstl/pstl_config.h"
#include "oneapi/dpl/pstl/ranges/nanorange.hpp"
#include "oneapi/dpl/pstl/ranges/nanorange_ext.h"
#include "oneapi/dpl/pstl/ranges_defs.h"
#include "oneapi/dpl/pstl/tuple_impl.h"
#include "oneapi/dpl/pstl/unseq_backend_simd.h"
#include "oneapi/dpl/pstl/utils.h"
#include "oneapi/dpl/pstl/utils_ranges.h"
#include "oneapi/dpl/random"
#include "oneapi/dpl/ranges"
#include "oneapi/dpl/ratio"
#include "oneapi/dpl/tuple"
#include "oneapi/dpl/type_traits"
#include "oneapi/dpl/utility"
#include "pstl_offload/algorithm"
#include "pstl_offload/any"
#include "pstl_offload/array"
#include "pstl_offload/atomic"
#include "pstl_offload/barrier"
#include "pstl_offload/bit"
#include "pstl_offload/bitset"
#include "pstl_offload/cassert"
#include "pstl_offload/cctype"
#include "pstl_offload/cerrno"
#include "pstl_offload/cfenv"
#include "pstl_offload/cfloat"
#include "pstl_offload/charconv"
#include "pstl_offload/chrono"
#include "pstl_offload/cinttypes"
#include "pstl_offload/climits"
#include "pstl_offload/clocale"
#include "pstl_offload/cmath"
#include "pstl_offload/codecvt"
#include "pstl_offload/compare"
#include "pstl_offload/complex"
#include "pstl_offload/concepts"
#include "pstl_offload/condition_variable"
#include "pstl_offload/coroutine"
#include "pstl_offload/csetjmp"
#include "pstl_offload/csignal"
#include "pstl_offload/cstdarg"
#include "pstl_offload/cstddef"
#include "pstl_offload/cstdint"
#include "pstl_offload/cstdio"
#include "pstl_offload/cstdlib"
#include "pstl_offload/cstring"
#include "pstl_offload/ctime"
#include "pstl_offload/cuchar"
#include "pstl_offload/cwchar"
#include "pstl_offload/cwctype"
#include "pstl_offload/deque"
#include "pstl_offload/exception"
#include "pstl_offload/execution"
#include "pstl_offload/filesystem"
#include "pstl_offload/format"
#include "pstl_offload/forward_list"
#include "pstl_offload/fstream"
#include "pstl_offload/functional"
#include "pstl_offload/future"
#include "pstl_offload/initializer_list"
#include "pstl_offload/internal/algorithm_redirection_impl.h"
#include "pstl_offload/internal/memory_redirection_impl.h"
#include "pstl_offload/internal/numeric_redirection_impl.h"
#include "pstl_offload/internal/usm_memory_replacement.h"
#include "pstl_offload/internal/usm_memory_replacement_common.h"
#include "pstl_offload/iomanip"
#include "pstl_offload/ios"
#include "pstl_offload/iosfwd"
#include "pstl_offload/iostream"
#include "pstl_offload/istream"
#include "pstl_offload/iterator"
#include "pstl_offload/latch"
#include "pstl_offload/limits"
#include "pstl_offload/list"
#include "pstl_offload/locale"
#include "pstl_offload/map"
#include "pstl_offload/memory"
#include "pstl_offload/memory_resource"
#include "pstl_offload/mutex"
#include "pstl_offload/new"
#include "pstl_offload/numbers"
#include "pstl_offload/numeric"
#include "pstl_offload/oneapi/dpl/algorithm"
#include "pstl_offload/oneapi/dpl/array"
#include "pstl_offload/oneapi/dpl/async"
#include "pstl_offload/oneapi/dpl/cmath"
#include "pstl_offload/oneapi/dpl/complex"
#include "pstl_offload/oneapi/dpl/cstddef"
#include "pstl_offload/oneapi/dpl/cstring"
#include "pstl_offload/oneapi/dpl/dynamic_selection"
#include "pstl_offload/oneapi/dpl/execution"
#include "pstl_offload/oneapi/dpl/functional"
#include "pstl_offload/oneapi/dpl/iterator"
#include "pstl_offload/oneapi/dpl/limits"
#include "pstl_offload/oneapi/dpl/memory"
#include "pstl_offload/oneapi/dpl/numeric"
#include "pstl_offload/oneapi/dpl/optional"
#include "pstl_offload/oneapi/dpl/random"
#include "pstl_offload/oneapi/dpl/ranges"
#include "pstl_offload/oneapi/dpl/ratio"
#include "pstl_offload/oneapi/dpl/tuple"
#include "pstl_offload/oneapi/dpl/type_traits"
#include "pstl_offload/oneapi/dpl/utility"
#include "pstl_offload/oneapi/tbb/blocked_range.h"
#include "pstl_offload/oneapi/tbb/blocked_range2d.h"
#include "pstl_offload/oneapi/tbb/blocked_range3d.h"
#include "pstl_offload/oneapi/tbb/blocked_rangeNd.h"
#include "pstl_offload/oneapi/tbb/cache_aligned_allocator.h"
#include "pstl_offload/oneapi/tbb/collaborative_call_once.h"
#include "pstl_offload/oneapi/tbb/combinable.h"
#include "pstl_offload/oneapi/tbb/concurrent_hash_map.h"
#include "pstl_offload/oneapi/tbb/concurrent_lru_cache.h"
#include "pstl_offload/oneapi/tbb/concurrent_map.h"
#include "pstl_offload/oneapi/tbb/concurrent_priority_queue.h"
#include "pstl_offload/oneapi/tbb/concurrent_queue.h"
#include "pstl_offload/oneapi/tbb/concurrent_set.h"
#include "pstl_offload/oneapi/tbb/concurrent_unordered_map.h"
#include "pstl_offload/oneapi/tbb/concurrent_unordered_set.h"
#include "pstl_offload/oneapi/tbb/concurrent_vector.h"
#include "pstl_offload/oneapi/tbb/enumerable_thread_specific.h"
#include "pstl_offload/oneapi/tbb/flow_graph.h"
#include "pstl_offload/oneapi/tbb/flow_graph_abstractions.h"
#include "pstl_offload/oneapi/tbb/global_control.h"
#include "pstl_offload/oneapi/tbb/info.h"
#include "pstl_offload/oneapi/tbb/memory_pool.h"
#include "pstl_offload/oneapi/tbb/mutex.h"
#include "pstl_offload/oneapi/tbb/null_mutex.h"
#include "pstl_offload/oneapi/tbb/null_rw_mutex.h"
#include "pstl_offload/oneapi/tbb/parallel_for.h"
#include "pstl_offload/oneapi/tbb/parallel_for_each.h"
#include "pstl_offload/oneapi/tbb/parallel_invoke.h"
#include "pstl_offload/oneapi/tbb/parallel_pipeline.h"
#include "pstl_offload/oneapi/tbb/parallel_reduce.h"
#include "pstl_offload/oneapi/tbb/parallel_scan.h"
#include "pstl_offload/oneapi/tbb/parallel_sort.h"
#include "pstl_offload/oneapi/tbb/partitioner.h"
#include "pstl_offload/oneapi/tbb/profiling.h"
#include "pstl_offload/oneapi/tbb/queuing_mutex.h"
#include "pstl_offload/oneapi/tbb/queuing_rw_mutex.h"
#include "pstl_offload/oneapi/tbb/rw_mutex.h"
#include "pstl_offload/oneapi/tbb/scalable_allocator.h"
#include "pstl_offload/oneapi/tbb/spin_mutex.h"
#include "pstl_offload/oneapi/tbb/spin_rw_mutex.h"
#include "pstl_offload/oneapi/tbb/task.h"
#include "pstl_offload/oneapi/tbb/task_arena.h"
#include "pstl_offload/oneapi/tbb/task_group.h"
#include "pstl_offload/oneapi/tbb/task_scheduler_observer.h"
#include "pstl_offload/oneapi/tbb/tbb_allocator.h"
#include "pstl_offload/oneapi/tbb/tbbmalloc_proxy.h"
#include "pstl_offload/oneapi/tbb/tick_count.h"
#include "pstl_offload/oneapi/tbb/version.h"
#include "pstl_offload/optional"
#include "pstl_offload/ostream"
#include "pstl_offload/queue"
#include "pstl_offload/random"
#include "pstl_offload/ranges"
#include "pstl_offload/ratio"
#include "pstl_offload/regex"
#include "pstl_offload/scoped_allocator"
#include "pstl_offload/semaphore"
#include "pstl_offload/set"
#include "pstl_offload/shared_mutex"
#include "pstl_offload/source_location"
#include "pstl_offload/span"
#include "pstl_offload/sstream"
#include "pstl_offload/stack"
#include "pstl_offload/stdexcept"
#include "pstl_offload/stdlib.h"
#include "pstl_offload/stop_token"
#include "pstl_offload/streambuf"
#include "pstl_offload/string"
#include "pstl_offload/string_view"
#include "pstl_offload/strstream"
#include "pstl_offload/sycl/sycl.hpp"
#include "pstl_offload/syncstream"
#include "pstl_offload/system_error"
#include "pstl_offload/thread"
#include "pstl_offload/tuple"
#include "pstl_offload/type_traits"
#include "pstl_offload/typeindex"
#include "pstl_offload/typeinfo"
#include "pstl_offload/unordered_map"
#include "pstl_offload/unordered_set"
#include "pstl_offload/utility"
#include "pstl_offload/valarray"
#include "pstl_offload/variant"
#include "pstl_offload/vector"
#include "pstl_offload/version"