rocPRIM
rocprim.hpp
Go to the documentation of this file.
1 // Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and associated documentation files (the "Software"), to deal
5 // in the Software without restriction, including without limitation the rights
6 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 // copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Software.
12 //
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 // THE SOFTWARE.
20 
21 #ifndef ROCPRIM_HPP_
22 #define ROCPRIM_HPP_
23 
27 
28 // Meta configuration for rocPRIM
29 #include "config.hpp"
30 
31 #include "rocprim_version.hpp"
32 
33 #include "intrinsics.hpp"
34 #include "functional.hpp"
35 #include "types.hpp"
36 #include "type_traits.hpp"
37 #include "iterator.hpp"
38 
39 #include "warp/warp_reduce.hpp"
40 #include "warp/warp_scan.hpp"
41 #include "warp/warp_sort.hpp"
42 
43 #include "block/block_discontinuity.hpp"
44 #include "block/block_exchange.hpp"
45 #include "block/block_histogram.hpp"
46 #include "block/block_load.hpp"
47 #include "block/block_radix_sort.hpp"
48 #include "block/block_scan.hpp"
49 #include "block/block_sort.hpp"
50 #include "block/block_store.hpp"
51 
53 #include "device/device_binary_search.hpp"
54 #include "device/device_histogram.hpp"
55 #include "device/device_merge.hpp"
56 #include "device/device_merge_sort.hpp"
57 #include "device/device_partition.hpp"
58 #include "device/device_radix_sort.hpp"
59 #include "device/device_reduce_by_key.hpp"
60 #include "device/device_reduce.hpp"
61 #include "device/device_run_length_encode.hpp"
62 #include "device/device_scan_by_key.hpp"
63 #include "device/device_scan.hpp"
64 #include "device/device_segmented_radix_sort.hpp"
65 #include "device/device_segmented_reduce.hpp"
66 #include "device/device_segmented_scan.hpp"
67 #include "device/device_select.hpp"
68 #include "device/device_transform.hpp"
69 
71 BEGIN_ROCPRIM_NAMESPACE
72 
75 ROCPRIM_HOST_DEVICE inline
76 unsigned int version()
77 {
78  return ROCPRIM_VERSION;
79 }
80 
81 END_ROCPRIM_NAMESPACE
82 
83 #endif // ROCPRIM_HPP_
BEGIN_ROCPRIM_NAMESPACE ROCPRIM_HOST_DEVICE unsigned int version()
The top level rocPRIM namespace.
Definition: rocprim.hpp:76
Device level adjacent_difference parallel primitives.