From 9ff4c950269bad47dde6971485511977380cda6e Mon Sep 17 00:00:00 2001 From: Caballo <1076318970@qq.com> Date: Wed, 20 Sep 2023 11:54:18 +0800 Subject: [PATCH] Finished --- README.md | 249 ++++++++++++++++++++++++++- result/blocksize.png | Bin 0 -> 50758 bytes result/compactNPot.png | Bin 0 -> 50040 bytes result/compactPot.png | Bin 0 -> 54846 bytes result/scanNPot.png | Bin 0 -> 53998 bytes result/scanPot.png | Bin 0 -> 57018 bytes result/sort.png | Bin 0 -> 54371 bytes src/main.cpp | 66 ++++++- stream_compaction/common.cu | 9 + stream_compaction/cpu.cu | 46 ++++- stream_compaction/cpu.h | 2 + stream_compaction/efficient.cu | 306 ++++++++++++++++++++++++++++++++- stream_compaction/efficient.h | 3 + stream_compaction/naive.cu | 50 +++++- stream_compaction/thrust.cu | 10 +- 15 files changed, 723 insertions(+), 18 deletions(-) create mode 100644 result/blocksize.png create mode 100644 result/compactNPot.png create mode 100644 result/compactPot.png create mode 100644 result/scanNPot.png create mode 100644 result/scanPot.png create mode 100644 result/sort.png diff --git a/README.md b/README.md index 0e38ddb..f97b136 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,249 @@ CUDA Stream Compaction **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Xiaoyue Ma + * [LinkedIn](https://www.linkedin.com/in/xiaoyue-ma-6b268b193/) +* Tested on: Windows 10, i7-12700H @ 2.30 GHz 16GB, GTX3060 8GB -### (TODO: Your README) +# Table of Contents +[Overview](#overview) -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +[Features](#features) +[Implementation](#implementation) + +[Result](#result) + +[Performance Analysis](#performanceAnalysis) + +[Extra Credit](#extraCredit) + + + +# Overview + +This project is mainly about Parallel Scan(prefix sum) and Stream Compaction algorithms implemented with CUDA. Scan is about computing the prefix sum of an array, and stream compaction is about deleting all elements in an array that meet certain condition. These algorithms seem to be inherently sequential at the first glance, but with GPU we can convert these algorithms into very efficient parallel algorithms. + +One application of Parallel Scan is Summed Area Table, which is a very important algorithm real-time rendering, especially for pre-computation. Another one is Radix Sort, which is a sorting algorithm that can run in parallel. Stream Compaction is very important in ray tracing, which can help delete unnecessory rays. + +The data is computed in the Release Mode. + + +# Features +* CPU Version Scan +* CPU Version Compaction with/without Scan +* GPU Naive Version Scan +* GPU Work-efficient Version Scan +* GPU Work-efficient Version Compaction with Scan +* Thrust Version Scan/Compaction +* GPU Version Scan Optimization (Extra Credit) +* Radix Sort (Extra Credit) + + + +# Implementation +**TBD** + + + +# Result + +* Input array Size 2^22 +* For Scan and compaction, max element value is 50 +* For Sort, max element value is 7 +``` + +**************** +** SCAN TESTS ** +**************** + [ 7 5 8 15 24 5 45 33 9 19 33 37 40 ... 18 0 ] +==== cpu scan, power-of-two ==== + elapsed time: 7.7637ms (std::chrono Measured) + [ 0 7 12 20 35 59 64 109 142 151 170 203 240 ... 102732720 102732738 ] +==== cpu scan, non-power-of-two ==== + elapsed time: 7.9926ms (std::chrono Measured) + [ 0 7 12 20 35 59 64 109 142 151 170 203 240 ... 102732598 102732638 ] + passed +==== naive scan, power-of-two ==== + elapsed time: 2.83472ms (CUDA Measured) + passed +==== naive scan, non-power-of-two ==== + elapsed time: 2.75386ms (CUDA Measured) + passed +==== work-efficient scan, power-of-two ==== + elapsed time: 2.58877ms (CUDA Measured) + passed +==== work-efficient scan, non-power-of-two ==== + elapsed time: 2.49437ms (CUDA Measured) + passed +==== work-efficient scanOptimized, power-of-two ==== + elapsed time: 1.47747ms (CUDA Measured) + passed +==== work-efficient scanOptimized, non-power-of-two ==== + elapsed time: 1.34262ms (CUDA Measured) + passed +==== thrust scan, power-of-two ==== + elapsed time: 0.615424ms (CUDA Measured) + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 0.500736ms (CUDA Measured) + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 1 3 0 1 2 3 1 1 1 3 1 3 0 ... 2 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 10.3321ms (std::chrono Measured) + [ 1 3 1 2 3 1 1 1 3 1 3 2 2 ... 1 2 ] + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 10.7476ms (std::chrono Measured) + [ 1 3 1 2 3 1 1 1 3 1 3 2 2 ... 2 1 ] + passed +==== cpu compact with scan ==== + elapsed time: 22.0692ms (std::chrono Measured) + [ 1 3 1 2 3 1 1 1 3 1 3 2 2 ... 1 2 ] + passed +==== work-efficient compact, power-of-two ==== + elapsed time: 3.81203ms (CUDA Measured) + passed +==== work-efficient compact, non-power-of-two ==== + elapsed time: 4.11203ms (CUDA Measured) + passed +==== work-efficient compactOptimized, power-of-two ==== + elapsed time: 2.52003ms (CUDA Measured) + passed +==== work-efficient compactOptimized, non-power-of-two ==== + elapsed time: 2.6936ms (CUDA Measured) + passed + +***************************** +** RADIX SORT TESTS ** +***************************** + [ 4 3 2 6 4 3 1 5 2 5 6 6 2 ... 6 0 ] +==== cpu std::sort, power-of-two ==== + elapsed time: 46.5172ms (std::chrono Measured) + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 6 6 ] +==== cpu std::sort, non-power-of-two ==== + elapsed time: 45.6927ms (std::chrono Measured) + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 6 6 ] +==== radix sort, power-of-two ==== + elapsed time: 15.2273ms (CUDA Measured) + passed +==== radix sort, non-power-of-two ==== + elapsed time: 14.2143ms (CUDA Measured) + passed +``` + + + +# Performance Analysis + +As seen in this graph, **blockSize = 128** has the general best performance: + +![BlockSize Different](result/blocksize.png) + + +![Scan Power of two](result/scanPot.png) + +Thrust's implementation consistently delivers the top performance. Its sort function is not just a simple quicksort or mergesort. Behind the scenes, Thrust might choose the best sorting strategy based on the input data and the specific GPU hardware. Like remove function in Thrust container, it re-partition the element order instead of deleting the element directly. So I guess Thrust's implementation has great Optimized Algorithms, Memory Management and Parallel Patterns. + +![Scan Not Power Of Two](result/scanNPot.png) + +In the Scan operation, when handling smaller arrays (below 2^12), the CPU consistently delivers better performance than the GPU, irrespective of the GPU's scanning method, be it naive or work-efficient. Yet, as array sizes surpass 2^16, the GPU, with its naive scan, takes the lead, capitalizing on the strengths of parallel computation for handling large datasets. In such cases, following the GPU's naive scan in performance ranking is its work-efficient scan, with the CPU trailing noticeably with extremely large datasets. Interestingly, performance doesn't noticeably differ whether the array sizes are power-of-two or not. This uniformity is attributed to the GPU's approach of padding non-power-of-two arrays to their closest power-of-two counterpart, and the CPU maintaining its efficiency even with slight variations in array sizes. + + +![Compaction Power of two](result/compactPot.png) + +![Compaction Not Power Of Two](result/compactNPot.png) + +With small datasets, the CPU is faster than the GPU. But as data size increases, the GPU's efficiency, especially using the Work Efficient Scan, surpasses the CPU. This is accentuated in tasks like compaction where parallelism shines. Conversely, the CPU's Compact With Scan lags because it tackles more tasks without benefiting from parallel processing. + +![Sort Power Of Two](result/sort.png) + +The CPU employs std::sort with an O(N log(N)) complexity. Yet, for inputs beyond 2^17, the GPU's Radix sort outperforms it(Still slower than thrust). + + + +# Extra Credit +### Why is My GPU Approach So Slow? + +* Global Memory Access: A primary factor causing our GPU to lag behind the CPU in speed is its reliance on global memory for computations. Accessing data from global memory can significantly hamper performance, even if the GPU's parallel processing capability offers advantages with large arrays. To enhance the performance, we should transition to using shared memory rather than global memory and employ an algorithm designed to minimize bank conflicts. + +* More Threads Than Needed: The original launches more threads than necessary, especially in the deeper levels of the sweep. Many of these threads do not perform any useful work but still contribute to launch overhead. + +* Overhead of Modulo Operation: The use of the modulo operation (index % (2 * path) == 0) in the original methods is computationally more expensive than a simple boundary check. + + +``` +__global__ void kernUpSweepOptimized(int n, int d, int* odata) { + int path = 1 << d; + int index = (threadIdx.x + blockIdx.x * blockDim.x) * 2 * path; + + if (index + 2 * path - 1 < n) { + odata[index + 2 * path - 1] += odata[index + path - 1]; + } + } + +__global__ void kernDownSweepOptimized(int n, int d, int* odata) { + //same optimization as above +} + +void scanUpDownSweepOptimized(int n, int* odata) { + for (int d = 0; d <= ilog2ceil(n) - 1; ++d) { + int threadsNeeded = n / (2 << d); + dim3 BlockDim = (threadsNeeded + BlockSize - 1) / BlockSize; + + kernUpSweepOptimized << < BlockDim, BlockSize >> > (n, d, odata); + } + ... + + //Same code + + ... +} + ``` + +**For my optimization:** + +* Thread Index Calculation: + + * Original (kernUpSweep & kernDownSweep): The thread index is calculated as a combination of the block's index and the thread's index within that block: int index = threadIdx.x + (blockIdx.x * blockDim.x); + * Optimized (kernUpSweepOptimized & kernDownSweepOptimized): The thread index is calculated differently: int index = (threadIdx.x + blockIdx.x * blockDim.x) * 2 * path;. Each thread in the optimized version is responsible for twice as many elements as in the original, which means fewer threads are needed to handle the same amount of data. + +* Index Conditions for Operations: + + * Original: Operations are conditioned on index % (2 * path) == 0. This is a more general case that applies to each thread. + * Optimized: Operations are conditioned on boundary checks, i.e., index + 2 * path - 1 < n. Given the adjusted index calculation, the optimized version has a more straightforward condition that checks if operations will stay within the array bounds. + +* Thread and Block Launch Calculations: + + * Original (scanUpDownSweep): The block dimensions are calculated based on the BlockSize, without considering the depth d of the sweep. + * Optimized (scanUpDownSweepOptimized): The block dimensions are calculated based on both the BlockSize and the depth d. Specifically, int threadsNeeded = n / (2 << d); determines the actual number of threads required for each depth, potentially reducing the number of threads launched, especially in the deeper levels of the sweep where fewer updates are needed. + +In general, Even though I didn't use share memory, I still slowed it down to a much lower speed than the GPU and the original version. + +### Radix Sort +I've crafted a radix sort algorithm in the efficient.cu file and benchmarked it against the std::sort function on the CPU. The results show that my implementation begins to outpace the CPU-based sort when the input exceeds 2^16 elements. + +This is the result for ArraySize = 2^22: +``` +***************************** +** RADIX SORT TESTS ** +***************************** + [ 4 3 2 6 4 3 1 5 2 5 6 6 2 ... 6 0 ] +==== cpu std::sort, power-of-two ==== + elapsed time: 46.5172ms (std::chrono Measured) + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 6 6 ] +==== cpu std::sort, non-power-of-two ==== + elapsed time: 45.6927ms (std::chrono Measured) + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 6 6 ] +==== radix sort, power-of-two ==== + elapsed time: 15.2273ms (CUDA Measured) + passed +==== radix sort, non-power-of-two ==== + elapsed time: 14.2143ms (CUDA Measured) + passed +``` +The max element value is 7, cuz Radix Sort is only suitable for small numbers sort. If I set the max element value to be 50, Radix Sort will be slow. diff --git a/result/blocksize.png b/result/blocksize.png new file mode 100644 index 0000000000000000000000000000000000000000..905a8e68ee21173b06552d502ee312240155d677 GIT binary patch literal 50758 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 literal 0 HcmV?d00001 diff --git a/result/compactNPot.png b/result/compactNPot.png new file mode 100644 index 0000000000000000000000000000000000000000..05799ac9eba108f8d265f8db4c9eed043141af76 GIT binary patch literal 50040 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 literal 0 HcmV?d00001 diff --git a/result/compactPot.png b/result/compactPot.png new file mode 100644 index 0000000000000000000000000000000000000000..c0aff6c3a019af2f2fcb312d7b2968e1f13a2a91 GIT binary patch literal 54846 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 GU;Z!8UKknx literal 0 HcmV?d00001 diff --git a/result/scanNPot.png b/result/scanNPot.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2ebc4f89f255fd8469e57b1010fbb6ee332ab9 GIT binary patch literal 53998 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 W)xVn9j~|{sPfbbtQPsnzVgCz!GS~_L literal 0 HcmV?d00001 diff --git a/result/scanPot.png b/result/scanPot.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb628fe3f57cccaac239d5f56b7ddab19fdf691 GIT binary patch literal 57018 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 #include "testing_helpers.hpp" -const int SIZE = 1 << 8; // feel free to change the size of array +const int SIZE = 1 << 22; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; int *c = new int[SIZE]; +int* d = new int[SIZE]; int main(int argc, char* argv[]) { // Scan tests @@ -81,6 +82,20 @@ int main(int argc, char* argv[]) { //printArray(NPOT, c, true); printCmpResult(NPOT, b, c); + zeroArray(SIZE, c); + printDesc("work-efficient scanOptimized, power-of-two"); + StreamCompaction::Efficient::scanOptimized(SIZE, c, a); + printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + //printArray(SIZE, c, true); + printCmpResult(SIZE, b, c); + + zeroArray(SIZE, c); + printDesc("work-efficient scanOptimized, non-power-of-two"); + StreamCompaction::Efficient::scanOptimized(NPOT, c, a); + printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + //printArray(NPOT, c, true); + printCmpResult(NPOT, b, c); + zeroArray(SIZE, c); printDesc("thrust scan, power-of-two"); StreamCompaction::Thrust::scan(SIZE, c, a); @@ -102,7 +117,7 @@ int main(int argc, char* argv[]) { // Compaction tests - genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case + genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case a[SIZE - 1] = 0; printArray(SIZE, a, true); @@ -147,8 +162,55 @@ int main(int argc, char* argv[]) { //printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + zeroArray(SIZE, c); + printDesc("work-efficient compactOptimized, power-of-two"); + count = StreamCompaction::Efficient::compactOptimized(SIZE, c, a); + printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + //printArray(count, c, true); + printCmpLenResult(count, expectedCount, b, c); + + zeroArray(SIZE, c); + printDesc("work-efficient compactOptimized, non-power-of-two"); + count = StreamCompaction::Efficient::compactOptimized(NPOT, c, a); + printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + //printArray(count, c, true); + printCmpLenResult(count, expectedNPOT, b, c); + + printf("\n"); + printf("*****************************\n"); + printf("** RADIX SORT TESTS **\n"); + printf("*****************************\n"); + + genArray(SIZE - 1, a, 7); + printArray(SIZE, a, true); + + zeroArray(SIZE, b); + printDesc("cpu std::sort, power-of-two"); + StreamCompaction::CPU::sort(SIZE, b, a); + printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + printArray(SIZE, b, true); + + zeroArray(SIZE, c); + printDesc("cpu std::sort, non-power-of-two"); + StreamCompaction::CPU::sort(NPOT, c, a); + printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + printArray(NPOT, c, true); + + zeroArray(SIZE, d); + printDesc("radix sort, power-of-two"); + StreamCompaction::Efficient::radixSort(SIZE, d, a); + printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + printCmpResult(SIZE, b, d); + + zeroArray(SIZE, d); + printDesc("radix sort, non-power-of-two"); + StreamCompaction::Efficient::radixSort(NPOT, d, a); + printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); + printCmpResult(NPOT,c, d); + system("pause"); // stop Win32 console from closing on exit delete[] a; delete[] b; delete[] c; + delete[] d; } diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index 2ed6d63..3280af4 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -24,6 +24,9 @@ namespace StreamCompaction { */ __global__ void kernMapToBoolean(int n, int *bools, const int *idata) { // TODO + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index > n) return; + bools[index] = idata[index] ? 1 : 0; } /** @@ -33,6 +36,12 @@ namespace StreamCompaction { __global__ void kernScatter(int n, int *odata, const int *idata, const int *bools, const int *indices) { // TODO + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) return; + + if (bools[index]) { + odata[indices[index]] = idata[index]; + } } } diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 719fa11..bce32b8 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -20,6 +20,11 @@ namespace StreamCompaction { void scan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + odata[0] = 0; + for (int i = 1; i < n; ++i) + { + odata[i] = idata[i - 1] + odata[i - 1]; + } timer().endCpuTimer(); } @@ -31,8 +36,18 @@ namespace StreamCompaction { int compactWithoutScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + int count = 0; + for (int i = 0; i < n; ++i) + { + if (idata[i]) + { + odata[count] = idata[i]; + ++count; + } + } + timer().endCpuTimer(); - return -1; + return count; } /** @@ -43,8 +58,35 @@ namespace StreamCompaction { int compactWithScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + int* scan_arr = new int[n]; + odata[0] = idata[0] ? 1 : 0; + scan_arr[0] = 0; + for (int i = 1; i < n; ++i) + { + odata[i] = idata[i] ? 1 : 0; + scan_arr[i] = odata[i - 1] + scan_arr[i - 1]; + } + + int count = 0; + for (int i = 0; i < n; ++i) + { + if (odata[i]) + { + odata[scan_arr[i]] = idata[i]; + ++count; + } + } + + timer().endCpuTimer(); + return count; + } + + void sort(int n, int* odata, const int* idata) + { + memcpy(odata, idata, n * sizeof(int)); + timer().startCpuTimer(); + std::sort(odata, odata + n); timer().endCpuTimer(); - return -1; } } } diff --git a/stream_compaction/cpu.h b/stream_compaction/cpu.h index 873c047..222b77a 100644 --- a/stream_compaction/cpu.h +++ b/stream_compaction/cpu.h @@ -11,5 +11,7 @@ namespace StreamCompaction { int compactWithoutScan(int n, int *odata, const int *idata); int compactWithScan(int n, int *odata, const int *idata); + + void sort(int n, int* odata, const int* idata); } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 2db346e..149d32f 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -3,6 +3,7 @@ #include "common.h" #include "efficient.h" +#define BlockSize 256 namespace StreamCompaction { namespace Efficient { using StreamCompaction::Common::PerformanceTimer; @@ -12,13 +13,133 @@ namespace StreamCompaction { return timer; } + __global__ void kernUpSweep(int n, int d, int* odata) + { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) return; + int path = 1 << d; + if (index % (2 * path) == 0) + { + odata[index + 2 * path - 1] += odata[index + path - 1]; + } + } + + __global__ void kernDownSweep(int n, int d, int* odata) + { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) return; + int path = 1 << d; + if (index % (2 * path) == 0) + { + int temp = odata[index + path - 1]; + odata[index + path - 1] = odata[index + 2 * path - 1]; + odata[index + 2 * path - 1] += temp; + } + } + + __global__ void kernUpSweepOptimized(int n, int d, int* odata) { + int path = 1 << d; + int index = (threadIdx.x + blockIdx.x * blockDim.x) * 2 * path; + + if (index + 2 * path - 1 < n) { + odata[index + 2 * path - 1] += odata[index + path - 1]; + } + } + + __global__ void kernDownSweepOptimized(int n, int d, int* odata) { + int path = 1 << d; + int index = (threadIdx.x + blockIdx.x * blockDim.x) * 2 * path; + + if (index + 2 * path - 1 < n) { + int temp = odata[index + path - 1]; + odata[index + path - 1] = odata[index + 2 * path - 1]; + odata[index + 2 * path - 1] += temp; + } + } + + void scanUpDownSweep(int n, int* odata) + { + dim3 BlockDim((BlockSize + n - 1) / BlockSize); + for (int d = 0; d <= ilog2ceil(n) - 1; ++d) { + kernUpSweep <<< BlockDim, BlockSize >>> (n, d, odata); + } + cudaDeviceSynchronize(); + + cudaMemsetAsync(odata + n - 1, 0, sizeof(int)); + + for (int d = ilog2ceil(n) - 1; d >= 0; --d) { + kernDownSweep <<< BlockDim, BlockSize >>> (n, d, odata); + } + cudaDeviceSynchronize(); + } + + void scanUpDownSweepOptimized(int n, int* odata) { + for (int d = 0; d <= ilog2ceil(n) - 1; ++d) { + int threadsNeeded = n / (2 << d); + dim3 BlockDim = (threadsNeeded + BlockSize - 1) / BlockSize; + + kernUpSweepOptimized << < BlockDim, BlockSize >> > (n, d, odata); + } + cudaDeviceSynchronize(); + + cudaMemsetAsync(odata + n - 1, 0, sizeof(int)); + + for (int d = ilog2ceil(n) - 1; d >= 0; --d) { + int threadsNeeded = n / (2 << d); + dim3 BlockDim = (threadsNeeded + BlockSize - 1) / BlockSize; + + kernDownSweepOptimized <<< BlockDim, BlockSize >>> (n, d, odata); + } + cudaDeviceSynchronize(); + } + + + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { + int* dev_data; + int arrSize = 1 << ilog2ceil(n); + cudaMalloc((void**)&dev_data, arrSize * sizeof(int)); + cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + timer().startGpuTimer(); - // TODO + + scanUpDownSweep(arrSize, dev_data); + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost); + cudaFree(dev_data); + } + + void scanOptimized(int n, int* odata, const int* idata) { + int* dev_data; + int arrSize = 1 << ilog2ceil(n); + cudaMalloc((void**)&dev_data, arrSize * sizeof(int)); + cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + + timer().startGpuTimer(); + + scanUpDownSweepOptimized(arrSize, dev_data); + + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost); + cudaFree(dev_data); + } + + void scanForRadixSort(int n, int* odata, const int* idata) { + int* dev_data; + int arrSize = 1 << ilog2ceil(n); + cudaMalloc((void**)&dev_data, arrSize * sizeof(int)); + cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + + scanUpDownSweep(arrSize, dev_data); + + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost); + cudaFree(dev_data); } /** @@ -31,10 +152,191 @@ namespace StreamCompaction { * @returns The number of elements remaining after compaction. */ int compact(int n, int *odata, const int *idata) { + // TODO + int arrSize = 1 << ilog2ceil(n); + int* dev_bools; + int* dev_indices; + int* dev_idata; + int* dev_odata; + + cudaMalloc((void**)&dev_bools, n * sizeof(int)); + cudaMalloc((void**)&dev_indices, arrSize * sizeof(int)); + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + timer().startGpuTimer(); + // 1. Map the input data to a boolean array + dim3 fullBlocksPerGrid = (n + BlockSize - 1) / BlockSize; + + StreamCompaction::Common::kernMapToBoolean <<>> (n, dev_bools, dev_idata); + cudaDeviceSynchronize(); + + // 2. Compute the exclusive prefix sum on the boolean array + cudaMemcpy(dev_indices, dev_bools, n * sizeof(int), cudaMemcpyDeviceToDevice); + cudaMemset(dev_indices + n, 0, (arrSize - n) * sizeof(int)); + scanUpDownSweep(arrSize, dev_indices); + + // The total number of elements after compaction is stored in the last slot of indices + the last slot of bools + int totalSize; + int lastBool, lastIndex; + cudaMemcpy(&lastBool, &dev_bools[n - 1], sizeof(int), cudaMemcpyDeviceToHost); + cudaMemcpy(&lastIndex, &dev_indices[n - 1], sizeof(int), cudaMemcpyDeviceToHost); + totalSize = lastBool + lastIndex; + + cudaMalloc((void**)&dev_odata, totalSize * sizeof(int)); + // 3. Scatter the data to the output array using the index array + StreamCompaction::Common::kernScatter <<>> (n, dev_odata, dev_idata, dev_bools, dev_indices); + cudaDeviceSynchronize(); + + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_odata, totalSize * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(dev_bools); + cudaFree(dev_indices); + cudaFree(dev_idata); + cudaFree(dev_odata); + + return totalSize; + } + + int compactOptimized(int n, int* odata, const int* idata) { // TODO + int arrSize = 1 << ilog2ceil(n); + int* dev_bools; + int* dev_indices; + int* dev_idata; + int* dev_odata; + + cudaMalloc((void**)&dev_bools, n * sizeof(int)); + cudaMalloc((void**)&dev_indices, arrSize * sizeof(int)); + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + + timer().startGpuTimer(); + // 1. Map the input data to a boolean array + dim3 fullBlocksPerGrid = (n + BlockSize - 1) / BlockSize; + + StreamCompaction::Common::kernMapToBoolean << > > (n, dev_bools, dev_idata); + cudaDeviceSynchronize(); + + // 2. Compute the exclusive prefix sum on the boolean array + cudaMemcpy(dev_indices, dev_bools, n * sizeof(int), cudaMemcpyDeviceToDevice); + cudaMemset(dev_indices + n, 0, (arrSize - n) * sizeof(int)); + scanUpDownSweepOptimized(arrSize, dev_indices); + + // The total number of elements after compaction is stored in the last slot of indices + the last slot of bools + int totalSize; + int lastBool, lastIndex; + cudaMemcpy(&lastBool, &dev_bools[n - 1], sizeof(int), cudaMemcpyDeviceToHost); + cudaMemcpy(&lastIndex, &dev_indices[n - 1], sizeof(int), cudaMemcpyDeviceToHost); + totalSize = lastBool + lastIndex; + + cudaMalloc((void**)&dev_odata, totalSize * sizeof(int)); + // 3. Scatter the data to the output array using the index array + StreamCompaction::Common::kernScatter << > > (n, dev_odata, dev_idata, dev_bools, dev_indices); + cudaDeviceSynchronize(); + timer().endGpuTimer(); - return -1; + + cudaMemcpy(odata, dev_odata, totalSize * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(dev_bools); + cudaFree(dev_indices); + cudaFree(dev_idata); + cudaFree(dev_odata); + + return totalSize; + } + + __global__ void kernComputeBEArr(int n, int pos, const int* idata, int* bArr, int* eArr) + { + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index >= n) return; + int bitVal = (idata[index] >> pos) & 1; + bArr[index] = bitVal; + eArr[index] = !bitVal; + } + + __global__ void kernComputeTArr(int n, int totalFalse, const int* fArr, int* tArr) + { + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index >= n) return; + tArr[index] = index - fArr[index] + totalFalse; } + + __global__ void kernComputeDArr(int n, const int* bArr, const int* tArr, const int* fArr, int* dArr) + { + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index >= n) return; + dArr[index] = bArr[index] ? tArr[index] : fArr[index]; + } + + __global__ void kernScatterOutput(int n, const int* dArr, const int* idata, int* odata) + { + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index >= n) return; + odata[dArr[index]] = idata[index]; + } + + void radixSort(int n, int* odata, const int* idata) + { + int* dev_idata; + int* dev_odata; + + int* dev_bArr; + int* dev_eArr; + int* dev_fAr; + int* dev_tArr; + int* dev_dArr; + + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMalloc((void**)&dev_bArr, n * sizeof(int)); + cudaMalloc((void**)&dev_eArr, n * sizeof(int)); + cudaMalloc((void**)&dev_fAr, n * sizeof(int)); + cudaMalloc((void**)&dev_tArr, n * sizeof(int)); + cudaMalloc((void**)&dev_dArr, n * sizeof(int)); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + + int blockDim = (n + BlockSize - 1) / BlockSize; + + int totalFalse = 0; + int maxVal = *(std::max_element(idata, idata + n)); + + timer().startGpuTimer(); + for (int pos = 0; pos < ilog2ceil(maxVal); pos++) { + kernComputeBEArr <<>> (n, pos, dev_idata, dev_bArr, dev_eArr); + //cudaDeviceSynchronize(); + + scanForRadixSort(n, dev_fAr, dev_eArr); + + //Compute TotalFalse + int e, f; + cudaMemcpy(&e, dev_eArr + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + cudaMemcpy(&f, dev_fAr + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + totalFalse = e + f; + + kernComputeTArr <<< blockDim, BlockSize >>> (n, totalFalse, dev_fAr, dev_tArr); + //cudaDeviceSynchronize(); + + kernComputeDArr <<< blockDim, BlockSize >>> (n, dev_bArr, dev_tArr, dev_fAr, dev_dArr); + //cudaDeviceSynchronize(); + + kernScatterOutput <<>> (n, dev_dArr, dev_idata, dev_odata); + //cudaDeviceSynchronize(); + std::swap(dev_odata, dev_idata); + } + timer().endGpuTimer(); + cudaMemcpy(odata, dev_idata, n * sizeof(int), cudaMemcpyDeviceToHost); + + cudaFree(dev_idata); + cudaFree(dev_odata); + cudaFree(dev_bArr); + cudaFree(dev_eArr); + cudaFree(dev_fAr); + cudaFree(dev_tArr); + cudaFree(dev_dArr); + } + } } diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 803cb4f..eea7038 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -7,7 +7,10 @@ namespace StreamCompaction { StreamCompaction::Common::PerformanceTimer& timer(); void scan(int n, int *odata, const int *idata); + void scanOptimized(int n, int* odata, const int* idata); int compact(int n, int *odata, const int *idata); + int compactOptimized(int n, int* odata, const int* idata); + void radixSort(int n, int* odata, const int* idata); } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 4308876..996c6a1 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -3,6 +3,7 @@ #include "common.h" #include "naive.h" +#define BlockSize 256 namespace StreamCompaction { namespace Naive { using StreamCompaction::Common::PerformanceTimer; @@ -13,13 +14,52 @@ namespace StreamCompaction { } // TODO: __global__ - /** - * Performs prefix-sum (aka scan) on idata, storing the result into odata. - */ - void scan(int n, int *odata, const int *idata) { + __global__ void KernNaiveScan(int n, int d, int* odata, int* idata) + { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index > n) return; + int path = 1 << (d - 1); + if (index >= path) + { + odata[index] = idata[index - path] + idata[index]; + } + else + { + odata[index] = idata[index]; + } + } + + void scan(int n, int* odata, const int* idata) { + dim3 BlockDim((n + BlockSize - 1) / BlockSize); + + int* dev_odata; + int* dev_odata2; + cudaMalloc((void**)&dev_odata2, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata1 failed!"); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata2 failed!"); + + cudaMemcpy(dev_odata, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + cudaMemcpy(dev_odata2, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + + int depth = ilog2ceil(n); + timer().startGpuTimer(); - // TODO + + for (int d = 1; d <= depth; ++d) { + KernNaiveScan <<>> (n, d, dev_odata, dev_odata2); + cudaDeviceSynchronize(); + int* temp = dev_odata2; + dev_odata2 = dev_odata; + dev_odata = temp; + } + timer().endGpuTimer(); + cudaMemcpy(odata + 1, dev_odata2, (n - 1) *sizeof(int), cudaMemcpyDeviceToHost); + odata[0] = 0; + cudaFree(dev_odata); + cudaFree(dev_odata2); } + } } diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 1def45e..25835e6 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -18,11 +18,19 @@ namespace StreamCompaction { * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { - timer().startGpuTimer(); // TODO use `thrust::exclusive_scan` // example: for device_vectors dv_in and dv_out: // thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + thrust::device_vector dv_in(idata, idata + n); + thrust::device_vector dv_out(n); + + timer().startGpuTimer(); + + thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + timer().endGpuTimer(); + + thrust::copy(dv_out.begin(), dv_out.end(), odata); } } }