From faa7c003ba3b608becc33812f0d1104004ef1263 Mon Sep 17 00:00:00 2001 From: Saksham03 Date: Mon, 18 Sep 2023 01:13:42 -0400 Subject: [PATCH 1/5] Till part 3.1 complete CPU scan + stream compaction GPU Naive scan GPU work efficient scan but only for powers of 2 --- src/main.cpp | 8 +++--- stream_compaction/common.h | 2 ++ stream_compaction/cpu.cu | 49 +++++++++++++++++++++++++++++----- stream_compaction/efficient.cu | 49 +++++++++++++++++++++++++++++++++- stream_compaction/naive.cu | 47 ++++++++++++++++++++++++++++++-- 5 files changed, 142 insertions(+), 13 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 896ac2b..e19a26c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -51,7 +51,7 @@ int main(int argc, char* argv[]) { printDesc("naive scan, power-of-two"); StreamCompaction::Naive::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); /* For bug-finding only: Array of 1s to help find bugs in stream compaction or scan @@ -64,21 +64,21 @@ int main(int argc, char* argv[]) { printDesc("naive scan, non-power-of-two"); StreamCompaction::Naive::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, power-of-two"); StreamCompaction::Efficient::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, non-power-of-two"); StreamCompaction::Efficient::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); diff --git a/stream_compaction/common.h b/stream_compaction/common.h index d2c1fed..48272ee 100644 --- a/stream_compaction/common.h +++ b/stream_compaction/common.h @@ -12,6 +12,8 @@ #define FILENAME (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #define checkCUDAError(msg) checkCUDAErrorFn(msg, FILENAME, __LINE__) +const int BLOCKSIZE = 1 << 7; + /** * Check for CUDA errors; print and exit if there was a problem. diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 719fa11..013ea81 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -18,8 +18,12 @@ namespace StreamCompaction { * (Optional) For better understanding before starting moving to GPU, you can simulate your GPU scan in this function first. */ void scan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); - // TODO + timer().startCpuTimer(); + odata[0] = 0; + for (int i = 1; i < n; i++) + { + odata[i] = odata[i - 1] + idata[i - 1]; + } timer().endCpuTimer(); } @@ -30,9 +34,15 @@ namespace StreamCompaction { */ int compactWithoutScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); - // TODO + int index = 0; + for (int i = 0; i < n; i++) { + if (idata[i] != 0) { + odata[index] = idata[i]; + index++; + } + } timer().endCpuTimer(); - return -1; + return index; } /** @@ -42,9 +52,36 @@ namespace StreamCompaction { */ int compactWithScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); - // TODO + int* temp = new int[n]; + int* scan = new int[n]; + for (int i = 0; i < n; i++) { + if (idata[i] == 0) { + temp[i] = 0; + } + else { + temp[i] = 1; + } + } + + //scan + scan[0] = 0; + for (int i = 1; i < n; i++) + { + scan[i] = scan[i - 1] + temp[i - 1]; + } + + //scatter + for (int i = 0; i < n; i++) { + if (temp[i] == 1) { + odata[scan[i]] = idata[i]; + } + } + timer().endCpuTimer(); - return -1; + int noOfRemaining = scan[n - 1]; + delete[] temp; + delete[] scan; + return noOfRemaining; } } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 2db346e..52ff6f1 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -3,6 +3,26 @@ #include "common.h" #include "efficient.h" +__global__ void kernUpSweep(int n, int d, int* data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + int k = (index + 1) * (1 << (d + 1)) - 1; + data[k] += data[k - (1 << d)]; +} + +__global__ void kernDownSweep(int n, int d, int* data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n) { + return; + } + int k = (index + 1) * (1 << (d + 1)) - 1; + int val = data[k - (1 << d)]; + data[k - (1 << d)] = data[k]; + data[k] += val; +} + namespace StreamCompaction { namespace Efficient { using StreamCompaction::Common::PerformanceTimer; @@ -16,9 +36,36 @@ namespace StreamCompaction { * 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 noOfIters = ilog2ceil(n) - 1; + + cudaMalloc((void**)&dev_data, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_data failed!"); + + cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + timer().startGpuTimer(); - // TODO + + //up sweep + for (int d = 0; d <= noOfIters; d++) { + int noOfElementsToBeUpdated = n / (1 << (d + 1)); + dim3 fullBlocksPerGrid((noOfElementsToBeUpdated + BLOCKSIZE - 1) / BLOCKSIZE); + kernUpSweep << > > (n, d, dev_data); + } + + //set last element to zero before starting down sweep + int zero = 0; + cudaMemcpy(&dev_data[n-1], &zero, sizeof(int), cudaMemcpyHostToDevice); + + //down sweep + for (int d = noOfIters; d >= 0; d--) { + int noOfElementsToBeUpdated = n / (1 << (d + 1)); + dim3 fullBlocksPerGrid((noOfElementsToBeUpdated + BLOCKSIZE - 1) / BLOCKSIZE); + kernDownSweep << > > (n, d, dev_data); + } + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost); timer().endGpuTimer(); + cudaFree(dev_data); } /** diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 4308876..f28f74d 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -3,6 +3,27 @@ #include "common.h" #include "naive.h" +__global__ void kernNaiveScan(int offset, int n, int* odata, const int* idata) { + int k = threadIdx.x + (blockIdx.x * blockDim.x); + if (k >= n) { + return; + } + odata[k] = idata[k]; + if (k >= offset) { + odata[k] += idata[k - offset]; + } +} + +__global__ void kernRightShift(int n, int* data) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index >= n - 1) { + return; + } + int readVal = data[index]; + __syncthreads(); + data[index + 1] = readVal; +} + namespace StreamCompaction { namespace Naive { using StreamCompaction::Common::PerformanceTimer; @@ -16,10 +37,32 @@ namespace StreamCompaction { /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { + void scan(int n, int* odata, const int* idata) { + int* dev_in; + int* dev_out; + int noOfIters = ilog2ceil(n); + dim3 fullBlocksPerGrid((n + BLOCKSIZE - 1) / BLOCKSIZE); + + cudaMalloc((void**)&dev_in, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_in failed!"); + + cudaMalloc((void**)&dev_out, n * sizeof(int)); + checkCUDAError("cudaMalloc dev_out failed!"); + + cudaMemcpy(dev_in, idata, sizeof(int) * n, cudaMemcpyHostToDevice); timer().startGpuTimer(); - // TODO + for (int d = 1; d <= noOfIters; d++) { + int offset = 1 << (d - 1); + kernNaiveScan << > > (offset, n, dev_out, dev_in); + std::swap(dev_in, dev_out); + } + std::swap(dev_in, dev_out); + kernRightShift << > > (n, dev_out); + cudaMemcpy(odata, dev_out, sizeof(int) * n, cudaMemcpyDeviceToHost); + odata[0] = 0; timer().endGpuTimer(); + cudaFree(dev_in); + cudaFree(dev_out); } } } From 81b02381c3ddb5d3b855c48e5b0de9719324d36b Mon Sep 17 00:00:00 2001 From: Saksham03 Date: Tue, 19 Sep 2023 18:43:13 -0400 Subject: [PATCH 2/5] all parts complete --- src/main.cpp | 10 ++-- stream_compaction/common.cu | 14 +++++- stream_compaction/cpu.cu | 2 +- stream_compaction/efficient.cu | 87 +++++++++++++++++++++++++++++----- stream_compaction/naive.cu | 19 ++++---- stream_compaction/thrust.cu | 11 +++-- 6 files changed, 109 insertions(+), 34 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e19a26c..184b10b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,7 @@ #include #include "testing_helpers.hpp" -const int SIZE = 1 << 8; // feel free to change the size of array +const int SIZE = 1 << 27; // 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]; @@ -85,14 +85,14 @@ int main(int argc, char* argv[]) { printDesc("thrust scan, power-of-two"); StreamCompaction::Thrust::scan(SIZE, c, a); printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(SIZE, c, true); + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("thrust scan, non-power-of-two"); StreamCompaction::Thrust::scan(NPOT, c, a); printElapsedTime(StreamCompaction::Thrust::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(NPOT, c, true); + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); printf("\n"); @@ -137,14 +137,14 @@ int main(int argc, char* argv[]) { printDesc("work-efficient compact, power-of-two"); count = StreamCompaction::Efficient::compact(SIZE, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(count, c, true); + printArray(count, c, true); printCmpLenResult(count, expectedCount, b, c); zeroArray(SIZE, c); printDesc("work-efficient compact, non-power-of-two"); count = StreamCompaction::Efficient::compact(NPOT, c, a); printElapsedTime(StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(), "(CUDA Measured)"); - //printArray(count, c, true); + printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); system("pause"); // stop Win32 console from closing on exit diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index 2ed6d63..0acc872 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -23,7 +23,11 @@ namespace StreamCompaction { * which map to 0 will be removed, and elements which map to 1 will be kept. */ __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] == 0 ? 0 : 1; } /** @@ -32,7 +36,13 @@ 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] == 1) { + odata[indices[index]] = idata[index]; + } } } diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 013ea81..734e617 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -51,9 +51,9 @@ namespace StreamCompaction { * @returns the number of elements remaining after compaction. */ int compactWithScan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); int* temp = new int[n]; int* scan = new int[n]; + timer().startCpuTimer(); for (int i = 0; i < n; i++) { if (idata[i] == 0) { temp[i] = 0; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 52ff6f1..ad427c0 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -37,34 +37,36 @@ namespace StreamCompaction { */ void scan(int n, int *odata, const int *idata) { int* dev_data; - int noOfIters = ilog2ceil(n) - 1; + int paddedSize = 1 << ilog2ceil(n); + int noOfIters = ilog2ceil(paddedSize) - 1; + int zero = 0; - cudaMalloc((void**)&dev_data, n * sizeof(int)); + cudaMalloc((void**)&dev_data, paddedSize * sizeof(int)); checkCUDAError("cudaMalloc dev_data failed!"); cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + cudaMemcpy(&dev_data[n], &zero, sizeof(int) * (paddedSize - n), cudaMemcpyHostToDevice); timer().startGpuTimer(); //up sweep for (int d = 0; d <= noOfIters; d++) { - int noOfElementsToBeUpdated = n / (1 << (d + 1)); + int noOfElementsToBeUpdated = paddedSize / (1 << (d + 1)); dim3 fullBlocksPerGrid((noOfElementsToBeUpdated + BLOCKSIZE - 1) / BLOCKSIZE); - kernUpSweep << > > (n, d, dev_data); + kernUpSweep << > > (noOfElementsToBeUpdated, d, dev_data); } - //set last element to zero before starting down sweep - int zero = 0; - cudaMemcpy(&dev_data[n-1], &zero, sizeof(int), cudaMemcpyHostToDevice); + //set last element to zero before starting down sweep + cudaMemcpy(&dev_data[paddedSize -1], &zero, sizeof(int), cudaMemcpyHostToDevice); //down sweep for (int d = noOfIters; d >= 0; d--) { - int noOfElementsToBeUpdated = n / (1 << (d + 1)); + int noOfElementsToBeUpdated = paddedSize / (1 << (d + 1)); dim3 fullBlocksPerGrid((noOfElementsToBeUpdated + BLOCKSIZE - 1) / BLOCKSIZE); - kernDownSweep << > > (n, d, dev_data); + kernDownSweep << > > (noOfElementsToBeUpdated, d, dev_data); } - cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost); timer().endGpuTimer(); + cudaMemcpy(odata, dev_data, sizeof(int) * n, cudaMemcpyDeviceToHost); cudaFree(dev_data); } @@ -77,11 +79,70 @@ namespace StreamCompaction { * @param idata The array of elements to compact. * @returns The number of elements remaining after compaction. */ - int compact(int n, int *odata, const int *idata) { + int compact(int n, int *odata, const int *idata) { + int* dev_idata; + int* dev_odata; + int* dev_bools; + int* dev_indices; + + int paddedSize = 1 << ilog2ceil(n); + int noOfIters = ilog2ceil(paddedSize) - 1; + + cudaMalloc((void**)&dev_idata, paddedSize * sizeof(int)); + checkCUDAError("cudaMalloc dev_idata failed!"); + cudaMemcpy(dev_idata, idata, sizeof(int) * n, cudaMemcpyHostToDevice); + cudaMemset(&dev_idata[n], 0, sizeof(int) * (paddedSize - n)); + + cudaMalloc((void**)&dev_odata, paddedSize * sizeof(int)); + checkCUDAError("cudaMalloc dev_odata failed!"); + + cudaMalloc((void**)&dev_bools, paddedSize * sizeof(int)); + checkCUDAError("cudaMalloc dev_bools failed!"); + + cudaMalloc((void**)&dev_indices, paddedSize * sizeof(int)); + checkCUDAError("cudaMalloc dev_indices failed!"); + timer().startGpuTimer(); - // TODO + + //Map to booleans + dim3 fullBlocksPerGrid((paddedSize + BLOCKSIZE - 1) / BLOCKSIZE); + StreamCompaction::Common::kernMapToBoolean << > > (paddedSize, dev_bools, dev_idata); + + cudaMemcpy(dev_indices, dev_bools, sizeof(int) * paddedSize, cudaMemcpyDeviceToDevice); + + //scan + + //up sweep + for (int d = 0; d <= noOfIters; d++) { + int noOfElementsToBeUpdated = paddedSize / (1 << (d + 1)); + dim3 fullBlocksPerGrid((noOfElementsToBeUpdated + BLOCKSIZE - 1) / BLOCKSIZE); + kernUpSweep << > > (noOfElementsToBeUpdated, d, dev_indices); + } + + //set last element to zero before starting down sweep + cudaMemset(&dev_indices[paddedSize - 1], 0, sizeof(int)); + + //down sweep + for (int d = noOfIters; d >= 0; d--) { + int noOfElementsToBeUpdated = paddedSize / (1 << (d + 1)); + dim3 fullBlocksPerGrid((noOfElementsToBeUpdated + BLOCKSIZE - 1) / BLOCKSIZE); + kernDownSweep << > > (noOfElementsToBeUpdated, d, dev_indices); + } + + int returnVal; + cudaMemcpy(&returnVal, dev_indices + paddedSize - 1, sizeof(int), cudaMemcpyDeviceToHost); + + //scatter + StreamCompaction::Common::kernScatter << > > (paddedSize, dev_odata, dev_idata, dev_bools, dev_indices); timer().endGpuTimer(); - return -1; + cudaMemcpy(odata, dev_odata, sizeof(int) * returnVal, cudaMemcpyDeviceToHost); + + //cleanup + cudaFree(dev_idata); + cudaFree(dev_odata); + cudaFree(dev_bools); + cudaFree(dev_indices); + return returnVal; } } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index f28f74d..ad6a48c 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -14,14 +14,17 @@ __global__ void kernNaiveScan(int offset, int n, int* odata, const int* idata) { } } -__global__ void kernRightShift(int n, int* data) { +__global__ void kernRightShift(int n, int* odata, int* idata) { int index = threadIdx.x + (blockIdx.x * blockDim.x); - if (index >= n - 1) { + if (index >= n) { return; } - int readVal = data[index]; - __syncthreads(); - data[index + 1] = readVal; + if (index == 0) { + odata[index] = 0; + } + else { + odata[index] = idata[index - 1]; + } } namespace StreamCompaction { @@ -56,11 +59,9 @@ namespace StreamCompaction { kernNaiveScan << > > (offset, n, dev_out, dev_in); std::swap(dev_in, dev_out); } - std::swap(dev_in, dev_out); - kernRightShift << > > (n, dev_out); - cudaMemcpy(odata, dev_out, sizeof(int) * n, cudaMemcpyDeviceToHost); - odata[0] = 0; + kernRightShift << > > (n, dev_out, dev_in); timer().endGpuTimer(); + cudaMemcpy(odata, dev_out, sizeof(int) * n, cudaMemcpyDeviceToHost); cudaFree(dev_in); cudaFree(dev_out); } diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 1def45e..3eb98fc 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -18,11 +18,14 @@ 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::host_vector host_data(idata, idata + n); + thrust::device_vector device_data = host_data; + timer().startGpuTimer(); + //thrust::exclusive_scan(idata, idata + n, odata); + thrust::exclusive_scan(device_data.begin(), device_data.end(), device_data.begin()); + //host_data = device_data; timer().endGpuTimer(); + cudaMemcpy(odata, device_data.data().get(), sizeof(int) * n, cudaMemcpyDeviceToHost); } } } From 1a5a50c1c2a052d90db7f6aedea6b04af4a4030d Mon Sep 17 00:00:00 2001 From: Saksham03 Date: Tue, 19 Sep 2023 22:37:25 -0400 Subject: [PATCH 3/5] performance images --- ...ompact_time_vs_array_size_blocksize128.png | Bin 0 -> 71041 bytes img/scan_time_vs_array_size_blocksize128.png | Bin 0 -> 64775 bytes img/time_vs_blocksize_2_21.png | Bin 0 -> 26522 bytes src/main.cpp | 39 +++++++++++++++++- stream_compaction/common.h | 2 +- stream_compaction/efficient.cu | 10 ++--- stream_compaction/efficient.h | 4 +- stream_compaction/naive.cu | 2 +- stream_compaction/naive.h | 2 +- 9 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 img/compact_time_vs_array_size_blocksize128.png create mode 100644 img/scan_time_vs_array_size_blocksize128.png create mode 100644 img/time_vs_blocksize_2_21.png diff --git a/img/compact_time_vs_array_size_blocksize128.png b/img/compact_time_vs_array_size_blocksize128.png new file mode 100644 index 0000000000000000000000000000000000000000..484bda0ca2b755816bff672fe6d97b960a2a08ad GIT binary patch literal 71041 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
    0H=1v^Km9)YTI-fq|_SV!7&oz-PdEKU` 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 D4mNE0 literal 0 HcmV?d00001 diff --git a/img/scan_time_vs_array_size_blocksize128.png b/img/scan_time_vs_array_size_blocksize128.png new file mode 100644 index 0000000000000000000000000000000000000000..e23846308084e09bf2aec40c530230d3d102a72c GIT binary patch literal 64775 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 OO0u4=elF{r5}E*FawD_= literal 0 HcmV?d00001 diff --git a/img/time_vs_blocksize_2_21.png b/img/time_vs_blocksize_2_21.png new file mode 100644 index 0000000000000000000000000000000000000000..e893304ef85d90b0a24f3d4b27175463b99a0118 GIT binary patch literal 26522 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 #include "testing_helpers.hpp" -const int SIZE = 1 << 27; // feel free to change the size of array +const int SIZE = 1 << 21; // 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 main1(int argc, char* argv[]) { + int bs = 16; + while (bs <= 1024) + { + float cpuScan = 0.0; + float naiveScan = 0.0; + float workEffScan = 0.0; + float thrustScan = 0.0; + for (int i = 0; i < 100; i++) { + genArray(SIZE - 5, a, 50); + a[SIZE - 1] = 0; + + zeroArray(SIZE, c); + //printDesc("naive scan, non-power-of-two"); + StreamCompaction::Naive::scan(NPOT, c, a, bs); + naiveScan += StreamCompaction::Naive::timer().getGpuElapsedTimeForPreviousOperation(); + + zeroArray(SIZE, c); + //printDesc("work-efficient scan, non-power-of-two"); + StreamCompaction::Efficient::scan(NPOT, c, a, bs); + workEffScan += StreamCompaction::Efficient::timer().getGpuElapsedTimeForPreviousOperation(); + + } + std::cout << " BLOCK SIZE: " << bs << std::endl; + std::cout << " Naive Scan: " << naiveScan/100.f << std::endl; + std::cout << " Work Efficient Scan: " << workEffScan / 100.f << std::endl; + bs *= 2; + } + system("pause"); // stop Win32 console from closing on exit + delete[] a; + delete[] b; + delete[] c; + return 0; +} + int main(int argc, char* argv[]) { // Scan tests - printf("\n"); + std::cout << " BLOCK SIZE: " << BLOCK_SIZE << std::endl; printf("****************\n"); printf("** SCAN TESTS **\n"); printf("****************\n"); diff --git a/stream_compaction/common.h b/stream_compaction/common.h index 48272ee..22338bd 100644 --- a/stream_compaction/common.h +++ b/stream_compaction/common.h @@ -12,7 +12,7 @@ #define FILENAME (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #define checkCUDAError(msg) checkCUDAErrorFn(msg, FILENAME, __LINE__) -const int BLOCKSIZE = 1 << 7; +#define BLOCK_SIZE 128 /** diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index ad427c0..c17e60b 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -35,18 +35,16 @@ namespace StreamCompaction { /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { + void scan(int n, int *odata, const int *idata, int BLOCKSIZE) { int* dev_data; int paddedSize = 1 << ilog2ceil(n); int noOfIters = ilog2ceil(paddedSize) - 1; - int zero = 0; cudaMalloc((void**)&dev_data, paddedSize * sizeof(int)); checkCUDAError("cudaMalloc dev_data failed!"); cudaMemcpy(dev_data, idata, sizeof(int) * n, cudaMemcpyHostToDevice); - cudaMemcpy(&dev_data[n], &zero, sizeof(int) * (paddedSize - n), cudaMemcpyHostToDevice); - + cudaMemset(&dev_data[n], 0, sizeof(int) * (paddedSize - n)); timer().startGpuTimer(); //up sweep @@ -57,7 +55,7 @@ namespace StreamCompaction { } //set last element to zero before starting down sweep - cudaMemcpy(&dev_data[paddedSize -1], &zero, sizeof(int), cudaMemcpyHostToDevice); + cudaMemset(&dev_data[paddedSize -1], 0, sizeof(int)); //down sweep for (int d = noOfIters; d >= 0; d--) { @@ -79,7 +77,7 @@ namespace StreamCompaction { * @param idata The array of elements to compact. * @returns The number of elements remaining after compaction. */ - int compact(int n, int *odata, const int *idata) { + int compact(int n, int *odata, const int *idata, int BLOCKSIZE) { int* dev_idata; int* dev_odata; int* dev_bools; diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 803cb4f..128941d 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -6,8 +6,8 @@ namespace StreamCompaction { namespace Efficient { StreamCompaction::Common::PerformanceTimer& timer(); - void scan(int n, int *odata, const int *idata); + void scan(int n, int *odata, const int *idata, int BLOCKSIZE = BLOCK_SIZE); - int compact(int n, int *odata, const int *idata); + int compact(int n, int *odata, const int *idata, int BLOCKSIZE = BLOCK_SIZE); } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index ad6a48c..b979879 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -40,7 +40,7 @@ namespace StreamCompaction { /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int* odata, const int* idata) { + void scan(int n, int* odata, const int* idata, int BLOCKSIZE) { int* dev_in; int* dev_out; int noOfIters = ilog2ceil(n); diff --git a/stream_compaction/naive.h b/stream_compaction/naive.h index 37dcb06..c7592eb 100644 --- a/stream_compaction/naive.h +++ b/stream_compaction/naive.h @@ -6,6 +6,6 @@ namespace StreamCompaction { namespace Naive { StreamCompaction::Common::PerformanceTimer& timer(); - void scan(int n, int *odata, const int *idata); + void scan(int n, int *odata, const int *idata, int BLOCKSIZE = BLOCK_SIZE); } } From 19bb9e7ba6803cf4b5a2467592254861b6f6692f Mon Sep 17 00:00:00 2001 From: Saksham03 Date: Tue, 19 Sep 2023 23:27:49 -0400 Subject: [PATCH 4/5] Update README.md --- README.md | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 117 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0e38ddb..c215ba6 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,123 @@ 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) +* Saksham Nagpal + * [LinkedIn](https://www.linkedin.com/in/nagpalsaksham/) +* Tested on: Windows 11 Home, AMD Ryzen 7 6800H Radeon @ 3.2GHz 16GB, NVIDIA GeForce RTX 3050 Ti Laptop GPU 4096MB -### (TODO: Your README) +Introduction +==== +This project implements the **Scan (All-Prefix Sums)** and the **Stream Compaction** algorithms. We first implement the algorithms on the CPU, then they are implemented using CUDA to run on the GPU. A performance analysis comparing the different approaches is presented afterwards. -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +### Scan +The Scan algorithm operates on an array and computes the prefix-sum by applying an operator to all the preceding elements for each index. We implement this algorithm in 3 different ways: +1. CPU Scan: A CPU-side version of the algorithm that sequentially adds every number to the next index, accumulating the result. +2. Naive Scan: A naive implementation that translates the CPU-side algorithm to run on the GPU. Accumulates the result by dividing the array into smaller sub-arrays and adding the corresponding elements. +3. Work-Efficient Scan: An optimization of the naive scan that treats the input array as a balance binary tree and performs _up-sweep_ and _down-sweep_ to accumulate the result. + +### Stream Compaction +Stream Compaction operates on an array based on a given condition and filters out the elements that do not meet that condition, thus 'compacting' the data stream. In this project, we compact arrays of integers and filter out any element if it is 0. We implement this algorithm in 3 different ways: +1. A simple CPU version, +2. A CPU version that imitates the parallelized version using _scan_ and _scatter_ passes, and +3. a GPU version that maps the input to booleans, runs _scan_ on the mapped boolean array, and then runs _scatter_ to get the compacted output. + + +Performance Analysis +==== + +* ## Figuring out the appropriate block size +First, we track the performace of our different implementations against varying block sizes to figure out the most suitable block size vefore continuing our comparison. + +| ![](img/time_vs_blocksize_2_21.png) | +|:--:| +| *Time (ms) VS Block Size using an array of 221 elements* | + +We see that there is a significant performance increase till increasing the block size to 64, and after that the gain is negligible. For further performance comparisons, we use a block size of 128. + +* ## Comparing Scan implementations + +| ![](img/scan_time_vs_array_size_blocksize128.png) | +|:--:| +| ***Scan:** Time (ms) VS Array Size using Block Size of 128* | + +Next, we compare how our different implementations perform with respect to varying array sizes. It is clear that thrust's implementation is the fastest, while our naive implementation is the slowest. While it is interesting that the sequential CPU implementation outperforms both the Naive and the Work-Efficient GPU-based methods for the most part, we can see the Work-Efficient implementation catching up to it for larger sized arrays. + +* ## Comparing Stream Compaction implementations + +| ![](img/compact_time_vs_array_size_blocksize128.png) | +|:--:| +| ***Stream Compaction:** Time (ms) VS Array Size using Block Size of 128* | + +Lastly, we compare the performance of our 3 different implementations of stream compaction. The GPU-based Work Efficient compaction outperforms the other 2 methods significantly. + +#### Can you find the performance bottlenecks? Is it memory I/O? Computation? Is it different for each implementation? +As we can see, the GPU-based implementations (Naive and Work-Efficient) of the Scan algorithm are not that 'efficient' - even the CPU-based approach outperforms them. Some observations that cen be made in this regard are as follows: +1. One of the reasons for the above bottleneck could be **Warp-Partitioning**. Our implementations divide our array into sub-arrays and add their corresponding elements. The way we do indexing could cause half of the threads in each warp to stall, thus causing warp divergence. The indexing can potentially be tweaked so that after each division step, we end up with totally free warps that can then be retired and used to schedule other warps. +2. As an optimization to the Work-Efficient method, we try to launch only as many threads as the number of elements in the divided sub-array at each iteration. This could potentially be the reason why we see this approach catching up to the CPU-implementation's performance in the second graph above, since the parallelized implementation would offset the sequential computation sepcially for larger sized arrays. + +Output +==== +The following tests were ran on array size of **221**, a non-power-of-two array size of **221 - 3**, and a block size of **128**. +``` +**************** +** SCAN TESTS ** +**************** + [ 38 48 2 7 4 39 42 0 33 1 4 46 46 ... 37 0 ] +==== cpu scan, power-of-two ==== + elapsed time: 1.2294ms (std::chrono Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329733 51329770 ] +==== cpu scan, non-power-of-two ==== + elapsed time: 1.2644ms (std::chrono Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329672 51329705 ] + passed +==== naive scan, power-of-two ==== + elapsed time: 2.62829ms (CUDA Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329733 51329770 ] + passed +==== naive scan, non-power-of-two ==== + elapsed time: 3.84182ms (CUDA Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329672 51329705 ] + passed +==== work-efficient scan, power-of-two ==== + elapsed time: 1.43606ms (CUDA Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329733 51329770 ] + passed +==== work-efficient scan, non-power-of-two ==== + elapsed time: 1.27795ms (CUDA Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329672 51329705 ] + passed +==== thrust scan, power-of-two ==== + elapsed time: 0.882496ms (CUDA Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329733 51329770 ] + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 1.51619ms (CUDA Measured) + [ 0 38 86 88 95 99 138 180 180 213 214 218 264 ... 51329672 51329705 ] + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 2 2 2 3 2 3 0 0 3 1 0 2 2 ... 1 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 4.7782ms (std::chrono Measured) + [ 2 2 2 3 2 3 3 1 2 2 3 2 1 ... 3 1 ] + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 4.5961ms (std::chrono Measured) + [ 2 2 2 3 2 3 3 1 2 2 3 2 1 ... 1 3 ] + passed +==== cpu compact with scan ==== + elapsed time: 9.5317ms (std::chrono Measured) + [ 2 2 2 3 2 3 3 1 2 2 3 2 1 ... 3 1 ] + passed +==== work-efficient compact, power-of-two ==== + elapsed time: 2.03965ms (CUDA Measured) + [ 2 2 2 3 2 3 3 1 2 2 3 2 1 ... 3 1 ] + passed +==== work-efficient compact, non-power-of-two ==== + elapsed time: 1.76128ms (CUDA Measured) + [ 2 2 2 3 2 3 3 1 2 2 3 2 1 ... 1 3 ] + passed +``` From 22f53a420fcf5ab7ec9418391bd541ad16449564 Mon Sep 17 00:00:00 2001 From: Saksham03 Date: Tue, 19 Sep 2023 23:28:34 -0400 Subject: [PATCH 5/5] updating legends on an image --- ...ompact_time_vs_array_size_blocksize128.png | Bin 71041 -> 74357 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/img/compact_time_vs_array_size_blocksize128.png b/img/compact_time_vs_array_size_blocksize128.png index 484bda0ca2b755816bff672fe6d97b960a2a08ad..8b1526c50d93e46859e0863508f7ff651c446dcb 100644 GIT binary patch literal 74357 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

    WlArL$rx=X{UVP4}-;*7d;^#(- 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

      0H=1v^Km9)YTI-fq|_SV!7&oz-PdEKU` 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 D4mNE0