Skip to main content

Table 7 Thrust and CUDA functions used by Algorithms 2 and 4

From: Solving the maximum subsequence sum and related problems using BSP/CGM model and multi-GPU CUDA

Algorithm Steps Thrust function
Algorithm 2 (1) PSUM (2) SSUM thrust::inclusive_scan
Algorithm 2 (1) PSUM (2) SSUM thrust::for_each (to correct borders - multi-GPUs)
Algorithm 2 (3) SMAX (4) PMAX thrust::inclusive_scan
Algorithm 2 (3) SMAX (4) PMAX thrust::for_each (to correct borders - multi-GPUs)
Algorithm 2 (7) Compute array M thrust::transform
Algorithm 2 (8) Maximum reduction thrust::reduce
Algorithm 4 (2) Transformation thrust::for_each
Algorithm 4 (7) Segmented scan thrust::inclusive_scan_by_key
Algorithm 4 (8) Bitwise and operation thrust::transform, thrust::find
Algorithm 4 (8) Bitwise and operation thrust::for_each (to correct borders - multi-GPUs)
Algorithm 4 (12) Find related solutions findRelatedSolutions (Custom Kernel)
Synchronization __syncthreads (threads)
Synchronization cudaDeviceSynchronize (blocks and device-host)