gitextract_eoi4a78r/ ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── external/ │ └── cub/ │ ├── .cproject │ ├── .project │ ├── .settings/ │ │ ├── .gitignore │ │ ├── org.eclipse.cdt.codan.core.prefs │ │ ├── org.eclipse.cdt.core.prefs │ │ ├── org.eclipse.cdt.ui.prefs │ │ └── org.eclipse.core.runtime.prefs │ ├── CHANGE_LOG.TXT │ ├── LICENSE.TXT │ ├── README.md │ ├── common.mk │ ├── cub/ │ │ ├── agent/ │ │ │ ├── agent_histogram.cuh │ │ │ ├── agent_radix_sort_downsweep.cuh │ │ │ ├── agent_radix_sort_upsweep.cuh │ │ │ ├── agent_reduce.cuh │ │ │ ├── agent_reduce_by_key.cuh │ │ │ ├── agent_rle.cuh │ │ │ ├── agent_scan.cuh │ │ │ ├── agent_segment_fixup.cuh │ │ │ ├── agent_select_if.cuh │ │ │ ├── agent_spmv_orig.cuh │ │ │ └── single_pass_scan_operators.cuh │ │ ├── block/ │ │ │ ├── block_adjacent_difference.cuh │ │ │ ├── block_discontinuity.cuh │ │ │ ├── block_exchange.cuh │ │ │ ├── block_histogram.cuh │ │ │ ├── block_load.cuh │ │ │ ├── block_radix_rank.cuh │ │ │ ├── block_radix_sort.cuh │ │ │ ├── block_raking_layout.cuh │ │ │ ├── block_reduce.cuh │ │ │ ├── block_scan.cuh │ │ │ ├── block_shuffle.cuh │ │ │ ├── block_store.cuh │ │ │ └── specializations/ │ │ │ ├── block_histogram_atomic.cuh │ │ │ ├── block_histogram_sort.cuh │ │ │ ├── block_reduce_raking.cuh │ │ │ ├── block_reduce_raking_commutative_only.cuh │ │ │ ├── block_reduce_warp_reductions.cuh │ │ │ ├── block_scan_raking.cuh │ │ │ ├── block_scan_warp_scans.cuh │ │ │ ├── block_scan_warp_scans2.cuh │ │ │ └── block_scan_warp_scans3.cuh │ │ ├── cub.cuh │ │ ├── device/ │ │ │ ├── device_histogram.cuh │ │ │ ├── device_partition.cuh │ │ │ ├── device_radix_sort.cuh │ │ │ ├── device_reduce.cuh │ │ │ ├── device_run_length_encode.cuh │ │ │ ├── device_scan.cuh │ │ │ ├── device_segmented_radix_sort.cuh │ │ │ ├── device_segmented_reduce.cuh │ │ │ ├── device_select.cuh │ │ │ ├── device_spmv.cuh │ │ │ └── dispatch/ │ │ │ ├── dispatch_histogram.cuh │ │ │ ├── dispatch_radix_sort.cuh │ │ │ ├── dispatch_reduce.cuh │ │ │ ├── dispatch_reduce_by_key.cuh │ │ │ ├── dispatch_rle.cuh │ │ │ ├── dispatch_scan.cuh │ │ │ ├── dispatch_select_if.cuh │ │ │ └── dispatch_spmv_orig.cuh │ │ ├── grid/ │ │ │ ├── grid_barrier.cuh │ │ │ ├── grid_even_share.cuh │ │ │ ├── grid_mapping.cuh │ │ │ └── grid_queue.cuh │ │ ├── host/ │ │ │ └── mutex.cuh │ │ ├── iterator/ │ │ │ ├── arg_index_input_iterator.cuh │ │ │ ├── cache_modified_input_iterator.cuh │ │ │ ├── cache_modified_output_iterator.cuh │ │ │ ├── constant_input_iterator.cuh │ │ │ ├── counting_input_iterator.cuh │ │ │ ├── discard_output_iterator.cuh │ │ │ ├── tex_obj_input_iterator.cuh │ │ │ ├── tex_ref_input_iterator.cuh │ │ │ └── transform_input_iterator.cuh │ │ ├── thread/ │ │ │ ├── thread_load.cuh │ │ │ ├── thread_operators.cuh │ │ │ ├── thread_reduce.cuh │ │ │ ├── thread_scan.cuh │ │ │ ├── thread_search.cuh │ │ │ └── thread_store.cuh │ │ ├── util_allocator.cuh │ │ ├── util_arch.cuh │ │ ├── util_debug.cuh │ │ ├── util_device.cuh │ │ ├── util_macro.cuh │ │ ├── util_namespace.cuh │ │ ├── util_ptx.cuh │ │ ├── util_type.cuh │ │ └── warp/ │ │ ├── specializations/ │ │ │ ├── warp_reduce_shfl.cuh │ │ │ ├── warp_reduce_smem.cuh │ │ │ ├── warp_scan_shfl.cuh │ │ │ └── warp_scan_smem.cuh │ │ ├── warp_reduce.cuh │ │ └── warp_scan.cuh │ ├── eclipse code style profile.xml │ ├── examples/ │ │ ├── block/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── example_block_radix_sort.cu │ │ │ ├── example_block_reduce.cu │ │ │ ├── example_block_scan.cu │ │ │ └── reduce_by_key.cu │ │ └── device/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── example_device_partition_flagged.cu │ │ ├── example_device_partition_if.cu │ │ ├── example_device_radix_sort.cu │ │ ├── example_device_reduce.cu │ │ ├── example_device_scan.cu │ │ ├── example_device_select_flagged.cu │ │ ├── example_device_select_if.cu │ │ ├── example_device_select_unique.cu │ │ └── example_device_sort_find_non_trivial_runs.cu │ ├── experimental/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── defunct/ │ │ │ ├── example_coo_spmv.cu │ │ │ └── test_device_seg_reduce.cu │ │ ├── histogram/ │ │ │ ├── histogram_cub.h │ │ │ ├── histogram_gmem_atomics.h │ │ │ └── histogram_smem_atomics.h │ │ ├── histogram_compare.cu │ │ ├── sparse_matrix.h │ │ ├── spmv_compare.cu │ │ └── spmv_script.sh │ ├── test/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── link_a.cu │ │ ├── link_b.cu │ │ ├── link_main.cpp │ │ ├── mersenne.h │ │ ├── test_allocator.cu │ │ ├── test_block_histogram.cu │ │ ├── test_block_load_store.cu │ │ ├── test_block_radix_sort.cu │ │ ├── test_block_reduce.cu │ │ ├── test_block_scan.cu │ │ ├── test_device_histogram.cu │ │ ├── test_device_radix_sort.cu │ │ ├── test_device_reduce.cu │ │ ├── test_device_reduce_by_key.cu │ │ ├── test_device_run_length_encode.cu │ │ ├── test_device_scan.cu │ │ ├── test_device_select_if.cu │ │ ├── test_device_select_unique.cu │ │ ├── test_grid_barrier.cu │ │ ├── test_iterator.cu │ │ ├── test_util.h │ │ ├── test_warp_reduce.cu │ │ └── test_warp_scan.cu │ └── tune/ │ ├── .gitignore │ ├── Makefile │ └── tune_device_reduce.cu ├── src/ │ ├── bitonicTopK.cuh │ ├── radixSelectTopK.cuh │ ├── sharedmem.cuh │ ├── sortTopK.cuh │ └── sortingNetwork.cuh └── test/ ├── compareTopKAlgorithms.cu ├── generateProblems.cuh └── printFunctions.cuh