├── cmake
├── filecheck_smoke_test
├── wrap_source_file.cpp.in
├── ThrustRunTest.cmake
├── ThrustAddSubdir.cmake
└── AppendOptionIfAvailable.cmake
├── internal
├── test
│ ├── thrust.example.mr_basic.filecheck
│ ├── thrust.example.saxpy.filecheck
│ ├── thrust.example.cuda.async_reduce.filecheck
│ ├── thrust.example.cuda.unwrap_pointer.filecheck
│ ├── thrust.example.cuda.wrap_pointer.filecheck
│ ├── thrust.example.scan_matrix_by_rows.filecheck
│ ├── thrust.smoke.filecheck
│ ├── thrust.example.uninitialized_vector.filecheck
│ ├── thrust.example.cuda.global_device_vector.filecheck
│ ├── thrust.example.sum.filecheck
│ ├── thrust.example.norm.filecheck
│ ├── thrust.example.permutation_iterator.filecheck
│ ├── thrust.example.monte_carlo.filecheck
│ ├── thrust.example.cuda.explicit_cuda_stream.filecheck
│ ├── thrust.example.max_abs_diff.filecheck
│ ├── thrust.example.monte_carlo_disjoint_sequences.filecheck
│ ├── thrust.example.version.filecheck
│ ├── thrust.example.minimal_custom_backend.filecheck
│ ├── thrust.example.transform_output_iterator.filecheck
│ ├── thrust.example.bounding_box.filecheck
│ ├── thrust.example.constant_iterator.filecheck
│ ├── thrust.example.device_ptr.filecheck
│ ├── thrust.example.cuda.range_view.filecheck
│ ├── thrust.example.minmax.filecheck
│ ├── warningstester.cu
│ ├── thrust.example.sorting_aos_vs_soa.filecheck
│ ├── thrust.example.transform_input_output_iterator.filecheck
│ ├── thrust.example.counting_iterator.filecheck
│ ├── thrust.example.stream_compaction.filecheck
│ ├── thrust.example.tiled_range.filecheck
│ ├── thrust.example.arbitrary_transformation.filecheck
│ ├── thrust.example.repeated_range.filecheck
│ ├── thrust.example.run_length_decoding.filecheck
│ ├── thrust.example.run_length_encoding.filecheck
│ ├── thrust.example.raw_reference_cast.filecheck
│ ├── thrust.example.strided_range.filecheck
│ ├── thrust.example.expand.filecheck
│ ├── thrust.example.basic_vector.filecheck
│ ├── thrust.example.sparse_vector.filecheck
│ ├── thrust.example.sum_rows.filecheck
│ ├── thrust.example.fill_copy_sequence.filecheck
│ ├── thrust.example.lambda.filecheck
│ ├── thrust.example.dot_products_with_zip.filecheck
│ ├── thrust.example.mode.filecheck
│ ├── thrust.example.set_operations.filecheck
│ ├── thrust.example.transform_iterator.filecheck
│ ├── thrust.example.discrete_voronoi.filecheck
│ ├── thrust.example.summary_statistics.filecheck
│ ├── thrust.example.cuda.fallback_allocator.filecheck
│ ├── thrust.example.weld_vertices.filecheck
│ ├── thrust.example.word_count.filecheck
│ └── thrust.example.histogram.filecheck
├── rename_cub_namespace.sh
├── reverse_rename_cub_namespace.sh
├── scripts
│ └── tounix
├── build
│ ├── common_detect.mk
│ ├── generic_example.mk
│ ├── testframework.mk
│ └── generic_test.mk
├── benchmark
│ └── bench.mk
└── racecheck.sh
├── testing
├── cuda
│ ├── complex.mk
│ ├── copy.mk
│ ├── copy_if.mk
│ ├── count.mk
│ ├── cudart.mk
│ ├── equal.mk
│ ├── fill.mk
│ ├── find.mk
│ ├── gather.mk
│ ├── logical.mk
│ ├── memory.mk
│ ├── merge.mk
│ ├── reduce.mk
│ ├── remove.mk
│ ├── replace.mk
│ ├── reverse.mk
│ ├── scan.mk
│ ├── scatter.mk
│ ├── sort.mk
│ ├── unique.mk
│ ├── for_each.mk
│ ├── generate.mk
│ ├── is_sorted.mk
│ ├── max_element.mk
│ ├── merge_by_key.mk
│ ├── merge_sort.mk
│ ├── min_element.mk
│ ├── mismatch.mk
│ ├── pair_sort.mk
│ ├── partition.mk
│ ├── scan_by_key.mk
│ ├── sequence.mk
│ ├── set_union.mk
│ ├── sort_by_key.mk
│ ├── swap_ranges.mk
│ ├── tabulate.mk
│ ├── transform.mk
│ ├── binary_search.mk
│ ├── inner_product.mk
│ ├── is_partitioned.mk
│ ├── is_sorted_until.mk
│ ├── minmax_element.mk
│ ├── pair_sort_by_key.mk
│ ├── partition_point.mk
│ ├── reduce_by_key.mk
│ ├── set_difference.mk
│ ├── set_intersection.mk
│ ├── set_union_by_key.mk
│ ├── transform_reduce.mk
│ ├── transform_scan.mk
│ ├── unique_by_key.mk
│ ├── adjacent_difference.mk
│ ├── managed_memory_pointer.mk
│ ├── set_difference_by_key.mk
│ ├── uninitialized_copy.mk
│ ├── uninitialized_fill.mk
│ ├── set_intersection_by_key.mk
│ ├── set_symmetric_difference.mk
│ ├── set_symmetric_difference_by_key.mk
│ ├── stream_per_thread.mk
│ ├── cudart.cu
│ ├── stream_legacy.cu
│ ├── stream_per_thread.cu
│ └── stream_per_thread.cmake
├── regression
│ ├── nvbug_1965743__unnecessary_static_on_get_occ_device_properties.cu
│ ├── gh_928_nvbug_2341455__reduce_with_complex.cu
│ ├── nvbug_1632709__reduce_large_input_sizes.cu
│ ├── CMakeLists.txt
│ ├── nvbug_1990211__scan_requires_assignability_from_zero.cu
│ ├── nvbug_1990211__scan_requires_assignability_from_zero.fixed1.cu
│ └── nvbug_1990211__scan_requires_assignability_from_zero.fixed0.cu
├── async_reduce.cmake
├── unittest
│ ├── unittest.h
│ ├── cuda
│ │ └── testframework.h
│ ├── system.h
│ └── CMakeLists.txt
├── unittest_static_assert.cmake
├── cpp
│ └── CMakeLists.txt
├── omp
│ └── CMakeLists.txt
├── distance.cu
├── caching_allocator.cu
├── unittest_static_assert.cu
└── generate_const_iterators.cu
├── examples
├── cmake
│ └── add_subdir
│ │ ├── dummy.cu
│ │ └── dummy.cpp
├── cpp_integration
│ ├── device.h
│ ├── device.cu
│ ├── host.cpp
│ └── README
├── README.md
├── version.cu
├── cuda
│ ├── CMakeLists.txt
│ ├── wrap_pointer.cu
│ └── unwrap_pointer.cu
├── constant_iterator.cu
└── fill_copy_sequence.cu
├── .gitignore
├── docs
├── doxybook
│ └── templates
│ │ ├── table_header_brief.tmpl
│ │ ├── index_classes.tmpl
│ │ ├── index_examples.tmpl
│ │ ├── index_files.tmpl
│ │ ├── index_groups.tmpl
│ │ ├── index_pages.tmpl
│ │ ├── index_namespaces.tmpl
│ │ ├── table_header_enum.tmpl
│ │ ├── table_row_brief.tmpl
│ │ ├── kind_page.tmpl
│ │ ├── kind_example.tmpl
│ │ ├── synopsis_initializer_abbreviated.tmpl
│ │ ├── synopsis_leading_line_break.tmpl
│ │ ├── title_trailing.tmpl
│ │ ├── synopsis_initializer.tmpl
│ │ ├── name_unqualified.tmpl
│ │ ├── table_row_enum.tmpl
│ │ ├── name.tmpl
│ │ ├── synopsis_indent.tmpl
│ │ ├── title_kind.tmpl
│ │ ├── kind_class.tmpl
│ │ ├── kind_group.tmpl
│ │ ├── name_qualified.tmpl
│ │ ├── title_leading.tmpl
│ │ ├── title_nonmember.tmpl
│ │ ├── synopsis_function_trailing_specifiers.tmpl
│ │ ├── synopsis_inherited_from.tmpl
│ │ ├── title_member.tmpl
│ │ ├── synopsis_type_and_leading_specifiers.tmpl
│ │ ├── synopsis_brief.tmpl
│ │ ├── kind_file.tmpl
│ │ ├── kind_nonclass.tmpl
│ │ ├── synopsis_function_type_and_leading_specifiers.tmpl
│ │ ├── synopsis_inherited_from_comment.tmpl
│ │ ├── synopsis_macro.tmpl
│ │ ├── synopsis_namespace_abbreviated.tmpl
│ │ ├── synopsis_member_namespace_abbreviated.tmpl
│ │ ├── synopsis_function_parameters.tmpl
│ │ ├── synopsis_kind.tmpl
│ │ ├── synopsis_kind_abbreviated.tmpl
│ │ ├── index.tmpl
│ │ ├── synopsis_type.tmpl
│ │ ├── synopsis_variable.tmpl
│ │ ├── synopsis_template_parameters.tmpl
│ │ ├── synopsis_function.tmpl
│ │ └── synopsis_friend_class.tmpl
└── github_pages
│ ├── favicon.ico
│ ├── api.md
│ ├── setup.md
│ ├── assets
│ └── images
│ │ └── nvidia_logo.png
│ ├── contributing.md
│ └── Gemfile
├── ci
├── common
│ └── memmon_config
│ │ └── procps
│ │ └── toprc
├── axis
│ └── gpu.yml
├── cpu
│ └── build.bash
└── gpu
│ └── build.bash
├── .gitmodules
├── thrust
├── cmake
│ ├── thrust-header-search.cmake
│ └── thrust-header-search.cmake.in
├── limits.h
├── system
│ ├── cuda
│ │ └── detail
│ │ │ ├── binary_search.h
│ │ │ ├── logical.h
│ │ │ ├── sequence.h
│ │ │ └── temporary_buffer.h
│ ├── cpp
│ │ └── detail
│ │ │ ├── transform.h
│ │ │ ├── swap_ranges.h
│ │ │ ├── count.h
│ │ │ ├── equal.h
│ │ │ ├── fill.h
│ │ │ ├── gather.h
│ │ │ ├── generate.h
│ │ │ ├── logical.h
│ │ │ ├── mismatch.h
│ │ │ ├── replace.h
│ │ │ ├── reverse.h
│ │ │ ├── scatter.h
│ │ │ ├── sequence.h
│ │ │ ├── tabulate.h
│ │ │ ├── inner_product.h
│ │ │ ├── transform_scan.h
│ │ │ ├── per_device_resource.h
│ │ │ ├── temporary_buffer.h
│ │ │ ├── transform_reduce.h
│ │ │ ├── uninitialized_copy.h
│ │ │ ├── uninitialized_fill.h
│ │ │ ├── copy.h
│ │ │ ├── find.h
│ │ │ ├── merge.h
│ │ │ ├── scan.h
│ │ │ ├── sort.h
│ │ │ ├── copy_if.h
│ │ │ ├── reduce.h
│ │ │ ├── remove.h
│ │ │ ├── unique.h
│ │ │ ├── for_each.h
│ │ │ ├── get_value.h
│ │ │ ├── iter_swap.h
│ │ │ ├── partition.h
│ │ │ ├── assign_value.h
│ │ │ ├── extrema.h
│ │ │ ├── reduce_by_key.h
│ │ │ ├── unique_by_key.h
│ │ │ ├── malloc_and_free.h
│ │ │ ├── set_operations.h
│ │ │ ├── scan_by_key.h
│ │ │ ├── adjacent_difference.h
│ │ │ └── binary_search.h
│ ├── detail
│ │ └── sequential
│ │ │ ├── fill.h
│ │ │ ├── count.h
│ │ │ ├── equal.h
│ │ │ ├── gather.h
│ │ │ ├── logical.h
│ │ │ ├── replace.h
│ │ │ ├── reverse.h
│ │ │ ├── scatter.h
│ │ │ ├── generate.h
│ │ │ ├── mismatch.h
│ │ │ ├── sequence.h
│ │ │ ├── tabulate.h
│ │ │ ├── transform.h
│ │ │ ├── swap_ranges.h
│ │ │ ├── inner_product.h
│ │ │ ├── per_device_resource.h
│ │ │ ├── temporary_buffer.h
│ │ │ ├── transform_reduce.h
│ │ │ ├── transform_scan.h
│ │ │ ├── uninitialized_copy.h
│ │ │ └── uninitialized_fill.h
│ ├── omp
│ │ └── detail
│ │ │ ├── per_device_resource.h
│ │ │ ├── temporary_buffer.h
│ │ │ ├── fill.h
│ │ │ ├── scan.h
│ │ │ ├── count.h
│ │ │ ├── equal.h
│ │ │ ├── gather.h
│ │ │ ├── merge.h
│ │ │ ├── logical.h
│ │ │ ├── reverse.h
│ │ │ ├── transform.h
│ │ │ ├── generate.h
│ │ │ ├── get_value.h
│ │ │ ├── iter_swap.h
│ │ │ ├── mismatch.h
│ │ │ ├── replace.h
│ │ │ ├── scatter.h
│ │ │ ├── sequence.h
│ │ │ ├── swap_ranges.h
│ │ │ ├── tabulate.h
│ │ │ ├── assign_value.h
│ │ │ ├── scan_by_key.h
│ │ │ ├── inner_product.h
│ │ │ ├── set_operations.h
│ │ │ ├── transform_scan.h
│ │ │ ├── malloc_and_free.h
│ │ │ ├── transform_reduce.h
│ │ │ ├── uninitialized_copy.h
│ │ │ └── uninitialized_fill.h
│ └── tbb
│ │ └── detail
│ │ ├── per_device_resource.h
│ │ ├── temporary_buffer.h
│ │ ├── fill.h
│ │ ├── count.h
│ │ ├── equal.h
│ │ ├── gather.h
│ │ ├── logical.h
│ │ ├── reverse.h
│ │ ├── transform.h
│ │ ├── generate.h
│ │ ├── get_value.h
│ │ ├── iter_swap.h
│ │ ├── mismatch.h
│ │ ├── replace.h
│ │ ├── scatter.h
│ │ ├── sequence.h
│ │ ├── swap_ranges.h
│ │ ├── tabulate.h
│ │ ├── scan_by_key.h
│ │ ├── assign_value.h
│ │ ├── binary_search.h
│ │ ├── inner_product.h
│ │ ├── set_operations.h
│ │ ├── transform_scan.h
│ │ ├── malloc_and_free.h
│ │ ├── transform_reduce.h
│ │ ├── uninitialized_copy.h
│ │ └── uninitialized_fill.h
├── mr
│ └── universal_memory_resource.h
├── detail
│ ├── swap.inl
│ ├── use_default.h
│ ├── config.h
│ └── reference_forward_declaration.h
├── event.h
├── universal_ptr.h
└── addressof.h
├── .github
└── workflows
│ ├── xrefcheck-validate-markdown-links.yml
│ ├── mirror-main-branch-to-master-branch.yml
│ ├── add_to_project.yml
│ └── deploy-documentation-github-pages.yml
└── .git-blame-ignore-revs
/cmake/filecheck_smoke_test:
--------------------------------------------------------------------------------
1 | SMOKE
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.mr_basic.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.saxpy.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/testing/cuda/complex.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/copy.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/copy_if.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/count.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/cudart.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/equal.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/fill.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/find.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/gather.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/logical.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/memory.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/merge.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/reduce.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/remove.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/replace.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/reverse.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/scan.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/scatter.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/sort.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/unique.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.cuda.async_reduce.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.cuda.unwrap_pointer.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.cuda.wrap_pointer.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.scan_matrix_by_rows.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/internal/test/thrust.smoke.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: SMOKE
2 |
--------------------------------------------------------------------------------
/testing/cuda/for_each.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/generate.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/is_sorted.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/max_element.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/merge_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/merge_sort.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/min_element.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/mismatch.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/pair_sort.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/partition.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/scan_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/sequence.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_union.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/sort_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/swap_ranges.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/tabulate.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/transform.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/examples/cmake/add_subdir/dummy.cu:
--------------------------------------------------------------------------------
1 | #include "dummy.cpp"
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.uninitialized_vector.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/testing/cuda/binary_search.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/inner_product.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/is_partitioned.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/is_sorted_until.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/minmax_element.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/pair_sort_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/partition_point.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/reduce_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_difference.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_intersection.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_union_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/transform_reduce.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/transform_scan.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/unique_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/cmake/wrap_source_file.cpp.in:
--------------------------------------------------------------------------------
1 | #include <${wrapped_source_file}>
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.cuda.global_device_vector.filecheck:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/testing/cuda/adjacent_difference.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/managed_memory_pointer.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_difference_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/uninitialized_copy.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/uninitialized_fill.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | discrete_voronoi.pgm
2 | *build*/
3 | .idea/
4 | .vscode
5 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.sum.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: sum is 509773
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_intersection_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_symmetric_difference.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.norm.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: norm is 5.47723
2 |
--------------------------------------------------------------------------------
/testing/cuda/set_symmetric_difference_by_key.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += -rdc=true
2 |
--------------------------------------------------------------------------------
/testing/cuda/stream_per_thread.mk:
--------------------------------------------------------------------------------
1 | CUDACC_FLAGS += --default-stream per-thread
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.permutation_iterator.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: sum is 130
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.monte_carlo.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: pi is approximately 3.14
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.cuda.explicit_cuda_stream.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: sum is 499500
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.max_abs_diff.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: maximum absolute difference: 4
2 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/table_header_brief.tmpl:
--------------------------------------------------------------------------------
1 | | Name | Description |
2 | |------|-------------|
3 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.monte_carlo_disjoint_sequences.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: pi is around 3.1415
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.version.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: Thrust v{{[0-9]+[.][0-9]+[.][0-9]+-[0-9]+}}
2 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/index_classes.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {% include "index.tmpl" -%}
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/index_examples.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {% include "index.tmpl" -%}
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/index_files.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {% include "index.tmpl" -%}
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/index_groups.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {% include "index.tmpl" -%}
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/index_pages.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {% include "index.tmpl" -%}
3 |
--------------------------------------------------------------------------------
/docs/github_pages/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IgorBaratta/thrust/main/docs/github_pages/favicon.ico
--------------------------------------------------------------------------------
/docs/doxybook/templates/index_namespaces.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {% include "index.tmpl" -%}
3 |
--------------------------------------------------------------------------------
/docs/github_pages/api.md:
--------------------------------------------------------------------------------
1 | ---
2 | has_children: true
3 | has_toc: true
4 | nav_order: 2
5 | ---
6 |
7 | # API
8 |
9 |
--------------------------------------------------------------------------------
/docs/github_pages/setup.md:
--------------------------------------------------------------------------------
1 | ---
2 | has_children: true
3 | has_toc: true
4 | nav_order: 1
5 | ---
6 |
7 | # Setup
8 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.minimal_custom_backend.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: Hello, world from for_each(my_system)!
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.transform_output_iterator.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: result= [ -0.666667 -2.66667 2 ]
2 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.bounding_box.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: bounding box (0.000022,0.037300) (0.967956,0.995085)
2 |
--------------------------------------------------------------------------------
/ci/common/memmon_config/procps/toprc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IgorBaratta/thrust/main/ci/common/memmon_config/procps/toprc
--------------------------------------------------------------------------------
/docs/doxybook/templates/table_header_enum.tmpl:
--------------------------------------------------------------------------------
1 | | Enumerator | Value | Description |
2 | |------------|-------|-------------|
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/table_row_brief.tmpl:
--------------------------------------------------------------------------------
1 | | **[`{{name}}`]({{url}})** | {% if exists("brief") %}{{brief}}{% endif %} |
2 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/kind_page.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {%- if exists("details") -%}{{details}}{%- endif -%}
3 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.constant_iterator.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: 13
2 | CHECK-NEXT: 17
3 | CHECK-NEXT: 12
4 | CHECK-NEXT: 15
5 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.device_ptr.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: device array contains 10 values
2 | CHECK-NEXT: sum of values is 45
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/kind_example.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {%- if exists("details") -%}{{details}}{%- endif -%}
3 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/synopsis_initializer_abbreviated.tmpl:
--------------------------------------------------------------------------------
1 | {% if kind == "using" or exists("initializer") %} = see below{% endif -%}
2 |
--------------------------------------------------------------------------------
/docs/github_pages/assets/images/nvidia_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IgorBaratta/thrust/main/docs/github_pages/assets/images/nvidia_logo.png
--------------------------------------------------------------------------------
/docs/doxybook/templates/synopsis_leading_line_break.tmpl:
--------------------------------------------------------------------------------
1 | {%- if default(synopsis_needs_leading_line_break, false) -%}
2 |
3 | {%- endif -%}
4 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.cuda.range_view.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: z[0]= 7
2 | CHECK-NEXT: z[1]= 8
3 | CHECK-NEXT: z[2]= 9
4 | CHECK-NEXT: z[3]= 10
5 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.minmax.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: [ 10 17 64 90 97 27 56 45 33 76 ]
2 | CHECK-NEXT: minimum = 10
3 | CHECK-NEXT: maximum = 97
4 |
--------------------------------------------------------------------------------
/internal/test/warningstester.cu:
--------------------------------------------------------------------------------
1 | //#include "cuda_runtime_api.h"
2 | #include "warningstester.h"
3 |
4 | int main()
5 | {
6 | return 0;
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/title_trailing.tmpl:
--------------------------------------------------------------------------------
1 | {%- if existsIn(child, "kind") and child.kind in ["class", "struct"] -%}
2 |
3 | {%- endif -%}
4 |
5 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.sorting_aos_vs_soa.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: AoS sort took {{[0-9.]+}} milliseconds
2 | CHECK-NEXT: SoA sort took {{[0-9.]+}} milliseconds
3 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.transform_input_output_iterator.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: Expected [ 1050 2060 3070 4080 ]
2 | CHECK-NEXT: Result [ 1050 2060 3070 4080 ]
3 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "cub"]
2 | path = dependencies/cub
3 | url = ../cub.git
4 | [submodule "libcudacxx"]
5 | path = dependencies/libcudacxx
6 | url = ../libcudacxx.git
7 |
--------------------------------------------------------------------------------
/examples/cpp_integration/device.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | // function prototype
6 | void sort_on_device(thrust::host_vector& V);
7 |
8 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.counting_iterator.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: found 4 nonzero values at indices:
2 | CHECK-NEXT: 1
3 | CHECK-NEXT: 2
4 | CHECK-NEXT: 5
5 | CHECK-NEXT: 7
6 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/synopsis_initializer.tmpl:
--------------------------------------------------------------------------------
1 | {%- if kind == "using" %} = {{ escape(type) -}}
2 | {%- else if exists("initializer") %} {{ escape(initializer) -}}
3 | {%- endif -%}
4 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/name_unqualified.tmpl:
--------------------------------------------------------------------------------
1 | {%- if exists("name") -%}
2 | {{- escape(stripNamespace(name)) -}}
3 | {%- else -%}
4 | {{- escape(stripNamespace(title)) -}}
5 | {%- endif -%}
6 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/table_row_enum.tmpl:
--------------------------------------------------------------------------------
1 | | `{{ name }}` | {% if exists("initializer") -%}`{{ escape(replace(initializer, "= ", "")) }}`{%- endif %} | {% if exists("brief") -%}{{ brief }}{%- endif %} |
2 |
--------------------------------------------------------------------------------
/docs/github_pages/contributing.md:
--------------------------------------------------------------------------------
1 | ---
2 | has_children: true
3 | has_toc: true
4 | nav_order: 4
5 | ---
6 |
7 | # Contributing
8 |
9 | We welcome contributions - just send us a pull request!
10 |
11 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.stream_compaction.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: values: 0 1 2 3 4 5 6 7 8 9
2 | CHECK-NEXT: output: 1 3 5 7 9
3 | CHECK-NEXT: small_output: 1 3 5 7 9
4 | CHECK-NEXT: values: 0 2 4 6 8
5 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.tiled_range.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: range 10 20 30 40
2 | CHECK-NEXT: two tiles: 10 20 30 40 10 20 30 40
3 | CHECK-NEXT: three tiles: 10 20 30 40 10 20 30 40 10 20 30 40
4 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/name.tmpl:
--------------------------------------------------------------------------------
1 | {%- if default(names_qualified, true) -%}
2 | {{- render("name_qualified.tmpl", child) -}}
3 | {%- else -%}
4 | {{- render("name_unqualified.tmpl", child) -}}
5 | {%- endif -%}
6 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/synopsis_indent.tmpl:
--------------------------------------------------------------------------------
1 | {%- if default(synopsis_indent_width, false) -%}
2 | {%- for i in range(synopsis_indent_width) -%}
3 | {{ noop() -}}
4 | {%- endfor -%}
5 | {%- endif -%}
6 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.arbitrary_transformation.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: 3 + 6 * 2 = 15
2 | CHECK-NEXT: 4 + 7 * 5 = 39
3 | CHECK-NEXT: 0 + 2 * 7 = 14
4 | CHECK-NEXT: 8 + 1 * 4 = 12
5 | CHECK-NEXT: 2 + 8 * 3 = 26
6 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.repeated_range.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: range 10 20 30 40
2 | CHECK-NEXT: repeated x2: 10 10 20 20 30 30 40 40
3 | CHECK-NEXT: repeated x3: 10 10 10 20 20 20 30 30 30 40 40 40
4 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.run_length_decoding.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: run-length encoded input:
2 | CHECK-NEXT: (a,3)(b,5)(c,1)(d,2)(e,9)(f,2)
3 | CHECK: decoded output:
4 | CHECK-NEXT: aaabbbbbcddeeeeeeeeeff
5 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.run_length_encoding.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: input data:
2 | CHECK-NEXT: aaabbbbbcddeeeeeeeeeff
3 | CHECK: run-length encoded output:
4 | CHECK-NEXT: (a,3)(b,5)(c,1)(d,2)(e,9)(f,2)
5 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/title_kind.tmpl:
--------------------------------------------------------------------------------
1 | {%- if child.kind == "using" %}Type Alias{{ noop() -}}
2 | {%- else -%}{{ title(child.kind) -}}
3 | {%- endif -%}
4 | {%- if child.kind == "enum" and child.strong %} Class{%- endif -%}
5 |
--------------------------------------------------------------------------------
/testing/regression/nvbug_1965743__unnecessary_static_on_get_occ_device_properties.cu:
--------------------------------------------------------------------------------
1 | // nvcc -Xcompiler -Wall -Xcompiler -Werror -ccbin=clang
2 |
3 | #include
4 |
5 | int main() {}
6 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/kind_class.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {%- if hasDetails -%}{% include "details.tmpl" -%}{%- endif -%}
3 | {% include "class_members.tmpl" -%}
4 | {% include "class_members_details.tmpl" -%}
5 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/kind_group.tmpl:
--------------------------------------------------------------------------------
1 | {% include "frontmatter.tmpl" -%}
2 | {%- if hasDetails %}{% include "details.tmpl" -%}{%- endif -%}
3 | {% include "nonclass_members.tmpl" -%}
4 | {% include "nonclass_members_details.tmpl" -%}
5 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/name_qualified.tmpl:
--------------------------------------------------------------------------------
1 | {%- if exists("qualifiedname") -%}
2 | {{- escape(qualifiedname) -}}
3 | {%- else if exists("name") -%}
4 | {{- escape(name) -}}
5 | {%- else -%}
6 | {{- escape(title) -}}
7 | {%- endif -%}
8 |
--------------------------------------------------------------------------------
/internal/test/thrust.example.raw_reference_cast.filecheck:
--------------------------------------------------------------------------------
1 | CHECK: Before A->B Copy
2 | CHECK-NEXT: A: 0 1 2 3 4
3 | CHECK-NEXT: B: 0 0 0 0 0
4 | CHECK-NEXT: After A->B Copy
5 | CHECK-NEXT: A: 0 1 2 3 4
6 | CHECK-NEXT: B: 0 1 2 3 4
7 |
--------------------------------------------------------------------------------
/cmake/ThrustRunTest.cmake:
--------------------------------------------------------------------------------
1 | execute_process(
2 | COMMAND "${THRUST_BINARY}"
3 | RESULT_VARIABLE EXIT_CODE
4 | )
5 |
6 | if (NOT "0" STREQUAL "${EXIT_CODE}")
7 | message(FATAL_ERROR "${THRUST_BINARY} failed (${EXIT_CODE})")
8 | endif ()
9 |
--------------------------------------------------------------------------------
/docs/doxybook/templates/title_leading.tmpl:
--------------------------------------------------------------------------------
1 |