File tree Expand file tree Collapse file tree 1 file changed +57
-0
lines changed
docs/libcudacxx/standard_api Expand file tree Collapse file tree 1 file changed +57
-0
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,9 @@ Algorithms Library
1313 * - `\< cuda/std/algorithm\> <https://en.cppreference.com/w/cpp/header/algorithm >`_
1414 - Fundamental library algorithms
1515 - CCCL 3.2.0 / CUDA 13.2
16+ * - `\< cuda/std/execution\> <https://en.cppreference.com/w/cpp/header/execution >`_
17+ - Standard parallel algorithms
18+ - CCCL 3.4.0 / CUDA 13.4
1619
1720Extensions
1821----------
@@ -31,3 +34,57 @@ Restrictions
3134 * ``sort ``
3235 * ``stable_partiin ``
3336 * ``stable_sort ``
37+
38+ Parallel standard algorithms
39+ ----------------------------
40+
41+ CCCL provides an implementation for the standard `parallel algorithms library <http://www.eel.is/c++draft/algorithms.parallel >`_
42+
43+ Currently the CUDA backend is the only supported backend. It can be selected by passing the `cuda::execution::gpu `
44+ execution policy to one of the supported algorithms. The CUDA backend requires the passed in sequences to reside in
45+ device accessible memory and the iterators into those sequences to be at least random access iterators. The CUDA backend
46+ is enabled if the program im compiled with a CUDA compile in CUDA mode.
47+
48+ The use of any other execution policy is currently not supported and results in a compile time error.
49+
50+ The following algorithms are supported:
51+
52+ * ``adjacent_difference ``
53+ * ``adjacent_find ``
54+ * ``all_of ``
55+ * ``any_of ``
56+ * ``copy ``
57+ * ``copy_if ``
58+ * ``copy_n ``
59+ * ``count ``
60+ * ``count_if ``
61+ * ``equal ``
62+ * ``exclusive_scan ``
63+ * ``fill ``
64+ * ``fill_n ``
65+ * ``find ``
66+ * ``find_if ``
67+ * ``find_if_not ``
68+ * ``for_each ``
69+ * ``for_each_n ``
70+ * ``generate ``
71+ * ``generate_n ``
72+ * ``inclusive_scan ``
73+ * ``merge ``
74+ * ``mismatch ``
75+ * ``none_of ``
76+ * ``reduce ``
77+ * ``remove ``
78+ * ``remove_copy ``
79+ * ``remove_copy_if ``
80+ * ``remove_if ``
81+ * ``replace ``
82+ * ``replace_copy ``
83+ * ``replace_copy_if ``
84+ * ``replace_if ``
85+ * ``reverse ``
86+ * ``reverse_copy ``
87+ * ``transform ``
88+ * ``transform_reduce ``
89+ * ``unique ``
90+ * ``unique_copy ``
You can’t perform that action at this time.
0 commit comments