From a86f7e911772212d861715641c0b3717a65d7a32 Mon Sep 17 00:00:00 2001 From: Di Lu Date: Fri, 16 Sep 2022 15:30:00 -0400 Subject: [PATCH 01/36] Finish all scan functions --- src/main.cpp | 4 +- stream_compaction/cpu.cu | 67 ++++++++++++++++-- stream_compaction/efficient.cu | 120 ++++++++++++++++++++++++++++++++- stream_compaction/naive.cu | 92 ++++++++++++++++++++++++- 4 files changed, 273 insertions(+), 10 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 896ac2b..1885abd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,9 @@ #include #include "testing_helpers.hpp" -const int SIZE = 1 << 8; // feel free to change the size of array +// const int SIZE = 1 << 8; // feel free to change the size of array +// todo bring back +const int SIZE = 1 << 3; const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 719fa11..fb1ccdf 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -13,26 +13,43 @@ namespace StreamCompaction { } /** - * CPU scan (prefix sum). + * CPU scan (prefix sum). * For performance analysis, this is supposed to be a simple for loop. * (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 + // perform exclusive prefix sum + for (int i = 0; i < n; i++) { + if (i == 0) { + odata[i] = 0; + } + else { + odata[i] = odata[i - 1] + idata[i - 1]; + } + } timer().endCpuTimer(); } /** * CPU stream compaction without using the scan function. - * + * * @returns the number of elements remaining after compaction. */ int compactWithoutScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); - // TODO + // removes digits that are 0 + int oi = 0; + for (int i = 0; i < n; i++) { + if (idata[i] != 0) { + odata[oi] = idata[i]; + oi++; + } + } timer().endCpuTimer(); - return -1; + + // return number of valid digits + return oi; } /** @@ -43,8 +60,46 @@ namespace StreamCompaction { int compactWithScan(int n, int *odata, const int *idata) { timer().startCpuTimer(); // TODO + int* tdata = new int[n]; + int* sdata = new int[n]; + + int numvalid = 0; + for (int i = 0; i < n; i++) { + if (idata[i] != 0) { + tdata[i] = 1; + } + else { + // todo remove if initialize to 0 automatically + tdata[i] = 0; + } + } + + // perform scan on tdata to produce sdata + // perform exclusive prefix sum + for (int i = 0; i < n; i++) { + if (i == 0) { + sdata[i] = 0; + } + else { + sdata[i] = sdata[i - 1] + tdata[i - 1]; + } + } + + // scatter: iterate over tdata. if tdata is 1, write idata[i] to odata[sdata[i]] + // where odata.size is last elem of sdata + for (int i = 0; i < n; i++) { + if (tdata[i] == 1) { + odata[sdata[i]] = idata[i]; + } + } + + int numValid = sdata[n - 1]; + + delete[] tdata; + delete[] sdata; + timer().endCpuTimer(); - return -1; + return numValid; } } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 2db346e..4921c1b 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -2,6 +2,9 @@ #include #include "common.h" #include "efficient.h" +#include "iostream" + +#define checkCUDAErrorWithLine(msg) checkCUDAError(msg, __LINE__) namespace StreamCompaction { namespace Efficient { @@ -12,12 +15,120 @@ namespace StreamCompaction { return timer; } + /*! Block size used for CUDA kernel launch. */ + #define blockSize 128 + + // fix this and use new function1 + __global__ void reductionHelper(int n, int offset, int* tdata) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n && (idx + 1) % offset == 0) { + int neighborLoc = offset / 2; + int a = tdata[idx - neighborLoc]; + int b = tdata[idx]; + tdata[idx] = a + b; + + //printf("red: %i, \n", a + b); + } + } + + // use function from class + __global__ void partialSumHelper(int n, int offset, int* tdata) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n && (idx + 1) % offset == 0) { + int neighborLoc = offset / 2; + int a = tdata[idx - neighborLoc]; + int b = tdata[idx]; + + tdata[idx - neighborLoc] = b; + tdata[idx] = a + b; + } + } + + // shift all nums one to the left + __global__ void shiftLeft(int n, int* odata, int* idata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index < n) { + if (index > 0) { + odata[index - 1] = idata[index]; + } + } + } + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { timer().startGpuTimer(); - // TODO + + int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + + + // shift tidata to the right to prepend 0's. + int nextPowTwo = ilog2ceil(n); + int numZeroes = pow(2, nextPowTwo) - n; + + // 1. up sweep same as reduction + // empty buffer as idata + // malloc enough space for n and 0's + int* dev_tidata; + cudaMalloc((void**)&dev_tidata, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tifailed failed!"); + + // set all elems to 0 + cudaMemset(dev_tidata, 0, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMemset all elems to 0 failed!"); + + // copy contents of idata into tidata so we can just pass in tidata and modify that on every pass. + // antyhing after n + numZeroes is all 0's + cudaMemcpy(dev_tidata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy idata to dev_tidata failed!"); + + int depth = 0; + + for (depth = 1; depth <= ilog2ceil(n + numZeroes); depth++) { + int offset = pow(2, depth); + reductionHelper << >>(n + numZeroes, offset, dev_tidata); + // wait for cuda timer. wait for all threads to finish + cudaDeviceSynchronize(); + } + + // store the last int of the array temporarily + int lastInt = 0; + cudaMemcpy(&lastInt, dev_tidata + n + numZeroes - 1, sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy lastInt Device to Host failed!"); + + // set last int of array to 0 + cudaMemset(&dev_tidata[n + numZeroes - 1], 0, sizeof(int)); + checkCUDAErrorWithLine("cudaMemset last int failed!"); + + // 2. down sweep + // takes dev_tidata as input + for (depth; depth >= 1; depth--) { + int offset = pow(2, depth); + partialSumHelper << > > (n + numZeroes, offset, dev_tidata); + cudaDeviceSynchronize(); + } + + // create output array for shifting + int* dev_tidataFinal; + cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); + + // shift entire list to the left by 1 to remove extraneous 0 at the beginning + shiftLeft << > > (n + numZeroes, dev_tidataFinal, dev_tidata); + + // set last number in the array + cudaMemcpy(dev_tidata + n + numZeroes - 1, &lastInt, sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy lastInt Host to Device failed!"); + + // copy final result to odata + cudaMemcpy(odata, dev_tidata, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy dev_tidata to odata failed!"); + + // free all buffers + cudaFree(dev_tidata); + cudaFree(dev_tidataFinal); + timer().endGpuTimer(); } @@ -32,7 +143,12 @@ namespace StreamCompaction { */ int compact(int n, int *odata, const int *idata) { timer().startGpuTimer(); - // TODO + + // 1. compute temp array + + // 2. exclusive scan + // 3. scatter + timer().endGpuTimer(); return -1; } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 4308876..4c02a77 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -2,24 +2,114 @@ #include #include "common.h" #include "naive.h" +#include "iostream" + +#define checkCUDAErrorWithLine(msg) checkCUDAError(msg, __LINE__) namespace StreamCompaction { namespace Naive { using StreamCompaction::Common::PerformanceTimer; + + /*! Block size used for CUDA kernel launch. */ + #define blockSize 128 + PerformanceTimer& timer() { static PerformanceTimer timer; return timer; } + // TODO: __global__ + // offset calculated from depth + __global__ void scanHelper(int n, int offset, int *odata, int *idata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index < n) { + if (index >= offset) { + int a = idata[index - offset]; + int b = idata[index]; + odata[index] = a + b; + } + else { + odata[index] = idata[index]; + } + } + } + + __global__ void prependZero(int n, int* odata, int* idata) { + int index = threadIdx.x + (blockIdx.x * blockDim.x); + if (index < n) { + if (index == 0) { + odata[index] = 0; + } + else { + odata[index] = idata[index - 1]; + } + } + } /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { + int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + timer().startGpuTimer(); - // TODO + + // empty buffer as odata1 and odata2 + int* dev_odata1; + int* dev_odata2; + + cudaMalloc((void**)&dev_odata1, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_odata1 failed!"); + + cudaMalloc((void**)&dev_odata2, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_odata2 failed!"); + + // copy contents of idata into odata so we can just pass in odata. + // set values of odata2 to 0s + // exclusive scan will never set the 0th index + cudaMemset(dev_odata2, 0, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMemset dev_odata2 to 0'sfailed!"); + + + // memcpy contents of idata to odata1 + cudaMemcpy(dev_odata1, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy idata to dev_odata1 Host to Device failed!"); + + // for depth from 1 to 2^d-1, for each k in parallel, invoke scan on an offset and odata. + for (int depth = 0; depth < ilog2ceil(n); depth++) { + int offset = pow(2, depth); + + scanHelper << >>(n, offset, dev_odata2, dev_odata1); + // wait for threads + cudaDeviceSynchronize(); + + std::swap(dev_odata2, dev_odata1); + } + + // initialize new odataFinal with enough space with 1 in front + int* dev_odataFinal; + cudaMalloc((void**)&dev_odataFinal, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_odataFinal failed!"); + + // bit shift towards the right and add 0 to front of odata, put it in odataFinal + // dev_odata1 should always have the most updated data. + prependZero << > > (n, dev_odataFinal, dev_odata1); + + // memcpy back from odata1 to odata + cudaMemcpy(odata, dev_odataFinal, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy dev_odataFinal to odata failed!"); + + /*for (int i = 0; i < n; i++) { + std::cout << odata[i] << std::endl; + }*/ + + cudaFree(dev_odata1); + cudaFree(dev_odata2); + cudaFree(dev_odataFinal); + timer().endGpuTimer(); + } } } From e2317df708951db7ff000e3a0da39cc1ccd59b28 Mon Sep 17 00:00:00 2001 From: Di Lu Date: Sat, 17 Sep 2022 00:15:32 -0400 Subject: [PATCH 02/36] More progress on compact stream --- src/main.cpp | 16 +-- stream_compaction/cpu.cu | 2 +- stream_compaction/efficient.cu | 200 ++++++++++++++++++++++++++++++--- stream_compaction/naive.cu | 8 +- 4 files changed, 198 insertions(+), 28 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 1885abd..ecf012b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,7 +15,7 @@ // const int SIZE = 1 << 8; // feel free to change the size of array // todo bring back -const int SIZE = 1 << 3; +const int SIZE = 1 << 6; const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -29,8 +29,9 @@ int main(int argc, char* argv[]) { printf("** SCAN TESTS **\n"); printf("****************\n"); - genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case - a[SIZE - 1] = 0; + // genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + genArray(SIZE, a, 50); // for cases without 0 at the end + // a[SIZE - 1] = 0; printArray(SIZE, a, true); // initialize b using StreamCompaction::CPU::scan you implement @@ -104,8 +105,9 @@ int main(int argc, char* argv[]) { // Compaction tests - genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case - a[SIZE - 1] = 0; + // genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case + genArray(SIZE, a, 4); // Case without 0 at the end; + //a[SIZE - 1] = 0; printArray(SIZE, a, true); int count, expectedCount, expectedNPOT; @@ -139,14 +141,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/cpu.cu b/stream_compaction/cpu.cu index fb1ccdf..21c6943 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -93,7 +93,7 @@ namespace StreamCompaction { } } - int numValid = sdata[n - 1]; + int numValid = sdata[n - 1] + tdata[n - 1]; delete[] tdata; delete[] sdata; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 4921c1b..4d4de79 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -19,7 +19,7 @@ namespace StreamCompaction { #define blockSize 128 // fix this and use new function1 - __global__ void reductionHelper(int n, int offset, int* tdata) { + __global__ void kernReductionHelper(int n, int offset, int* tdata) { int idx = threadIdx.x + (blockIdx.x * blockDim.x); if (idx < n && (idx + 1) % offset == 0) { int neighborLoc = offset / 2; @@ -32,7 +32,7 @@ namespace StreamCompaction { } // use function from class - __global__ void partialSumHelper(int n, int offset, int* tdata) { + __global__ void kernPartialSumHelper(int n, int offset, int* tdata) { int idx = threadIdx.x + (blockIdx.x * blockDim.x); if (idx < n && (idx + 1) % offset == 0) { int neighborLoc = offset / 2; @@ -45,7 +45,7 @@ namespace StreamCompaction { } // shift all nums one to the left - __global__ void shiftLeft(int n, int* odata, int* idata) { + __global__ void kernShiftLeft(int n, int* odata, int* idata) { int index = threadIdx.x + (blockIdx.x * blockDim.x); if (index < n) { if (index > 0) { @@ -62,11 +62,12 @@ namespace StreamCompaction { int fullBlocksPerArray = (n + blockSize - 1) / blockSize; - // shift tidata to the right to prepend 0's. int nextPowTwo = ilog2ceil(n); int numZeroes = pow(2, nextPowTwo) - n; + // std::cout << numZeroes << std::endl; + // 1. up sweep same as reduction // empty buffer as idata // malloc enough space for n and 0's @@ -87,15 +88,24 @@ namespace StreamCompaction { for (depth = 1; depth <= ilog2ceil(n + numZeroes); depth++) { int offset = pow(2, depth); - reductionHelper << >>(n + numZeroes, offset, dev_tidata); + kernReductionHelper << >>(n + numZeroes, offset, dev_tidata); // wait for cuda timer. wait for all threads to finish cudaDeviceSynchronize(); } // store the last int of the array temporarily - int lastInt = 0; + // since exclusive scan, don't need it. + /*int lastInt = 0; cudaMemcpy(&lastInt, dev_tidata + n + numZeroes - 1, sizeof(int), cudaMemcpyDeviceToHost); - checkCUDAErrorWithLine("cudaMemcpy lastInt Device to Host failed!"); + checkCUDAErrorWithLine("cudaMemcpy lastInt Device to Host failed!");*/ + + //int* tempBuf = new int[n]; + //cudaMemcpy(tempBuf, dev_tidata, (n + numZeroes) * sizeof(int), cudaMemcpyDeviceToHost); + //for (int i = 0; i < n; i++) { + // std::cout << tempBuf[i] << std::endl; + //} + // + // std::cout << "lastInt: " << lastInt << std::endl; // set last int of array to 0 cudaMemset(&dev_tidata[n + numZeroes - 1], 0, sizeof(int)); @@ -105,21 +115,29 @@ namespace StreamCompaction { // takes dev_tidata as input for (depth; depth >= 1; depth--) { int offset = pow(2, depth); - partialSumHelper << > > (n + numZeroes, offset, dev_tidata); + kernPartialSumHelper << > > (n + numZeroes, offset, dev_tidata); cudaDeviceSynchronize(); } + // remove + /*int* tempBuf = new int[n]; + cudaMemcpy(tempBuf, dev_tidata, (n + numZeroes) * sizeof(int), cudaMemcpyDeviceToHost); + for (int i = 0; i < n; i++) { + std::cout << tempBuf[i] << std::endl; + }*/ + // std::cout << "lastInt: " << lastInt << std::endl; + // create output array for shifting int* dev_tidataFinal; cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); // shift entire list to the left by 1 to remove extraneous 0 at the beginning - shiftLeft << > > (n + numZeroes, dev_tidataFinal, dev_tidata); + kernShiftLeft << > > (n + numZeroes, dev_tidataFinal, dev_tidata); // set last number in the array - cudaMemcpy(dev_tidata + n + numZeroes - 1, &lastInt, sizeof(int), cudaMemcpyHostToDevice); - checkCUDAErrorWithLine("cudaMemcpy lastInt Host to Device failed!"); + /*cudaMemcpy(dev_tidata + n + numZeroes - 1, &lastInt, sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy lastInt Host to Device failed!");*/ // copy final result to odata cudaMemcpy(odata, dev_tidata, n * sizeof(int), cudaMemcpyDeviceToHost); @@ -132,6 +150,108 @@ namespace StreamCompaction { timer().endGpuTimer(); } + __global__ void kernMapToBoolean(int n, int* odata, int* idata) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n) { + if (idata[idx] != 0) { + // add 1 to out array + odata[idx] = 1; + } + else { + // add 0 to outarray + odata[idx] = 0; + } + } + } + + __global__ void kernScatter(int n, int* odata, int* idata, int* tdata, int* sdata) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n) { + if (tdata[idx] == 1) { + int destinationIdx = sdata[idx]; + odata[destinationIdx] = idata[idx]; + } + // otherwise do not write + } + } + + // reimplement scan for compact + void compactScan(int n, int* dev_odata, int* dev_idata) { + int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + + // shift tidata to the right to prepend 0's. + int nextPowTwo = ilog2ceil(n); + int numZeroes = pow(2, nextPowTwo) - n; + + // 1. up sweep same as reduction + // empty buffer as idata + // malloc enough space for n and 0's + int* dev_tidata; + cudaMalloc((void**)&dev_tidata, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tifailed failed!"); + + // set all elems to 0 + cudaMemset(dev_tidata, 0, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMemset all elems to 0 failed!"); + + // copy contents of idata into tidata so we can just pass in tidata and modify that on every pass. + // antyhing after n + numZeroes is all 0's + cudaMemcpy(dev_tidata, dev_idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy idata to dev_tidata failed!"); + + int depth = 0; + + for (depth = 1; depth <= ilog2ceil(n + numZeroes); depth++) { + int offset = pow(2, depth); + kernReductionHelper << > > (n + numZeroes, offset, dev_tidata); + // wait for cuda timer. wait for all threads to finish + cudaDeviceSynchronize(); + } + + // store the last int of the array temporarily + //int lastInt = 0; + //cudaMemcpy(&lastInt, dev_tidata + n + numZeroes - 1, sizeof(int), cudaMemcpyDeviceToHost); + //checkCUDAErrorWithLine("cudaMemcpy lastInt Device to Host failed!"); + + // set last int of array to 0 + cudaMemset(&dev_tidata[n + numZeroes - 1], 0, sizeof(int)); + checkCUDAErrorWithLine("cudaMemset last int failed!"); + + // 2. down sweep + // takes dev_tidata as input + for (depth; depth >= 1; depth--) { + int offset = pow(2, depth); + kernPartialSumHelper << > > (n + numZeroes, offset, dev_tidata); + cudaDeviceSynchronize(); + } + + // create output array for shifting + int* dev_tidataFinal; + cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); + + // shift entire list to the left by 1 to remove extraneous 0 at the beginning + kernShiftLeft << > > (n + numZeroes, dev_tidataFinal, dev_tidata); + + // set last number in the array + //cudaMemcpy(dev_tidata + n + numZeroes - 1, &lastInt, sizeof(int), cudaMemcpyHostToDevice); + //checkCUDAErrorWithLine("cudaMemcpy lastInt Host to Device failed!"); + + // copy final result to odata + cudaMemcpy(dev_odata, dev_tidataFinal, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy dev_tidata to odata failed!"); + + /*int* tempBuf = new int[n]; + cudaMemcpy(tempBuf, dev_tidataFinal, (n) * sizeof(int), cudaMemcpyDeviceToHost); + for (int i = 0; i < n; i++) { + std::cout << tempBuf[i] << std::endl; + }*/ + + // free all buffers + cudaFree(dev_tidata); + cudaFree(dev_tidataFinal); + } + /** * Performs stream compaction on idata, storing the result into odata. * All zeroes are discarded. @@ -144,13 +264,61 @@ namespace StreamCompaction { int compact(int n, int *odata, const int *idata) { timer().startGpuTimer(); - // 1. compute temp array - - // 2. exclusive scan + int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + + // 1. compute temp array: 1 for everything that fits rule. 0 otherwise. + int* dev_iArray; + int* dev_tempArray; + + cudaMalloc((void**)&dev_tempArray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tempArray failed!"); + + cudaMalloc((void**)&dev_iArray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_iArray failed!"); + + cudaMemcpy(dev_iArray, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy dev_iArray failed!"); + + kernMapToBoolean << > > (n, dev_tempArray, dev_iArray); + + // 2. exclusive scan on tempArray. + int* dev_scanArray; + + cudaMalloc((void**)&dev_scanArray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_scanArray failed!"); + + compactScan(n, dev_scanArray, dev_tempArray); + // 3. scatter - + // last element of numScatters is the length of scatterArray. + int numScatters = 0; + int validSlot = 0; + cudaMemcpy(&numScatters, dev_scanArray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + cudaMemcpy(&numScatters, dev_tempArray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + + numScatters += validSlot; + checkCUDAErrorWithLine("cudaMemcpy numScatters failed!"); + + // std::cout << numScatters << std::endl; + + int* dev_scatterFinal; + cudaMalloc((void**)&dev_scatterFinal, numScatters * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_scatterFinal failed!"); + + kernScatter << > > (n, dev_scatterFinal, dev_iArray, dev_tempArray, dev_scanArray); + + // memcpy back from odata1 to odata + cudaMemcpy(odata, dev_scatterFinal, numScatters * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy dev_scatterFinal to odata failed!"); + timer().endGpuTimer(); - return -1; + + cudaFree(dev_iArray); + cudaFree(dev_tempArray); + cudaFree(dev_scanArray); + cudaFree(dev_scatterFinal); + + return numScatters; } } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 4c02a77..3f172ca 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -21,7 +21,7 @@ namespace StreamCompaction { // TODO: __global__ // offset calculated from depth - __global__ void scanHelper(int n, int offset, int *odata, int *idata) { + __global__ void kernScanHelper(int n, int offset, int *odata, int *idata) { int index = threadIdx.x + (blockIdx.x * blockDim.x); if (index < n) { if (index >= offset) { @@ -35,7 +35,7 @@ namespace StreamCompaction { } } - __global__ void prependZero(int n, int* odata, int* idata) { + __global__ void kernPrependZero(int n, int* odata, int* idata) { int index = threadIdx.x + (blockIdx.x * blockDim.x); if (index < n) { if (index == 0) { @@ -80,7 +80,7 @@ namespace StreamCompaction { for (int depth = 0; depth < ilog2ceil(n); depth++) { int offset = pow(2, depth); - scanHelper << >>(n, offset, dev_odata2, dev_odata1); + kernScanHelper << >>(n, offset, dev_odata2, dev_odata1); // wait for threads cudaDeviceSynchronize(); @@ -94,7 +94,7 @@ namespace StreamCompaction { // bit shift towards the right and add 0 to front of odata, put it in odataFinal // dev_odata1 should always have the most updated data. - prependZero << > > (n, dev_odataFinal, dev_odata1); + kernPrependZero << > > (n, dev_odataFinal, dev_odata1); // memcpy back from odata1 to odata cudaMemcpy(odata, dev_odataFinal, n * sizeof(int), cudaMemcpyDeviceToHost); From 5338e67857946b47d0c234db4ecf887c4599e138 Mon Sep 17 00:00:00 2001 From: Di Lu Date: Sat, 17 Sep 2022 03:14:38 -0400 Subject: [PATCH 03/36] complete main homework components --- src/main.cpp | 26 +++++++------- stream_compaction/efficient.cu | 65 ++-------------------------------- stream_compaction/naive.cu | 6 +--- stream_compaction/thrust.cu | 21 +++++++++++ 4 files changed, 38 insertions(+), 80 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ecf012b..003acab 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,7 +15,7 @@ // const int SIZE = 1 << 8; // feel free to change the size of array // todo bring back -const int SIZE = 1 << 6; +const int SIZE = 1 << 19; const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -29,9 +29,9 @@ int main(int argc, char* argv[]) { printf("** SCAN TESTS **\n"); printf("****************\n"); - // genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case - genArray(SIZE, a, 50); // for cases without 0 at the end - // a[SIZE - 1] = 0; + genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + // genArray(SIZE, a, 50); // for cases without 0 at the end + a[SIZE - 1] = 0; printArray(SIZE, a, true); // initialize b using StreamCompaction::CPU::scan you implement @@ -54,7 +54,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 @@ -67,35 +67,35 @@ 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(SIZE, 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); 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"); @@ -105,9 +105,9 @@ 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, a, 4); // Case without 0 at the end; - //a[SIZE - 1] = 0; + genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case + //genArray(SIZE, a, 4); // Case without 0 at the end; + a[SIZE - 1] = 0; printArray(SIZE, a, true); int count, expectedCount, expectedNPOT; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 4d4de79..0bbcf7a 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -26,8 +26,6 @@ namespace StreamCompaction { int a = tdata[idx - neighborLoc]; int b = tdata[idx]; tdata[idx] = a + b; - - //printf("red: %i, \n", a + b); } } @@ -66,8 +64,6 @@ namespace StreamCompaction { int nextPowTwo = ilog2ceil(n); int numZeroes = pow(2, nextPowTwo) - n; - // std::cout << numZeroes << std::endl; - // 1. up sweep same as reduction // empty buffer as idata // malloc enough space for n and 0's @@ -93,20 +89,6 @@ namespace StreamCompaction { cudaDeviceSynchronize(); } - // store the last int of the array temporarily - // since exclusive scan, don't need it. - /*int lastInt = 0; - cudaMemcpy(&lastInt, dev_tidata + n + numZeroes - 1, sizeof(int), cudaMemcpyDeviceToHost); - checkCUDAErrorWithLine("cudaMemcpy lastInt Device to Host failed!");*/ - - //int* tempBuf = new int[n]; - //cudaMemcpy(tempBuf, dev_tidata, (n + numZeroes) * sizeof(int), cudaMemcpyDeviceToHost); - //for (int i = 0; i < n; i++) { - // std::cout << tempBuf[i] << std::endl; - //} - // - // std::cout << "lastInt: " << lastInt << std::endl; - // set last int of array to 0 cudaMemset(&dev_tidata[n + numZeroes - 1], 0, sizeof(int)); checkCUDAErrorWithLine("cudaMemset last int failed!"); @@ -119,26 +101,11 @@ namespace StreamCompaction { cudaDeviceSynchronize(); } - // remove - /*int* tempBuf = new int[n]; - cudaMemcpy(tempBuf, dev_tidata, (n + numZeroes) * sizeof(int), cudaMemcpyDeviceToHost); - for (int i = 0; i < n; i++) { - std::cout << tempBuf[i] << std::endl; - }*/ - // std::cout << "lastInt: " << lastInt << std::endl; - // create output array for shifting int* dev_tidataFinal; cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); - // shift entire list to the left by 1 to remove extraneous 0 at the beginning - kernShiftLeft << > > (n + numZeroes, dev_tidataFinal, dev_tidata); - - // set last number in the array - /*cudaMemcpy(dev_tidata + n + numZeroes - 1, &lastInt, sizeof(int), cudaMemcpyHostToDevice); - checkCUDAErrorWithLine("cudaMemcpy lastInt Host to Device failed!");*/ - // copy final result to odata cudaMemcpy(odata, dev_tidata, n * sizeof(int), cudaMemcpyDeviceToHost); checkCUDAErrorWithLine("cudaMemcpy dev_tidata to odata failed!"); @@ -202,17 +169,12 @@ namespace StreamCompaction { int depth = 0; for (depth = 1; depth <= ilog2ceil(n + numZeroes); depth++) { - int offset = pow(2, depth); + int offset = 1 << depth; // pow(2, depth); kernReductionHelper << > > (n + numZeroes, offset, dev_tidata); // wait for cuda timer. wait for all threads to finish cudaDeviceSynchronize(); } - // store the last int of the array temporarily - //int lastInt = 0; - //cudaMemcpy(&lastInt, dev_tidata + n + numZeroes - 1, sizeof(int), cudaMemcpyDeviceToHost); - //checkCUDAErrorWithLine("cudaMemcpy lastInt Device to Host failed!"); - // set last int of array to 0 cudaMemset(&dev_tidata[n + numZeroes - 1], 0, sizeof(int)); checkCUDAErrorWithLine("cudaMemset last int failed!"); @@ -225,31 +187,12 @@ namespace StreamCompaction { cudaDeviceSynchronize(); } - // create output array for shifting - int* dev_tidataFinal; - cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); - checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); - - // shift entire list to the left by 1 to remove extraneous 0 at the beginning - kernShiftLeft << > > (n + numZeroes, dev_tidataFinal, dev_tidata); - - // set last number in the array - //cudaMemcpy(dev_tidata + n + numZeroes - 1, &lastInt, sizeof(int), cudaMemcpyHostToDevice); - //checkCUDAErrorWithLine("cudaMemcpy lastInt Host to Device failed!"); - // copy final result to odata - cudaMemcpy(dev_odata, dev_tidataFinal, n * sizeof(int), cudaMemcpyDeviceToHost); + cudaMemcpy(dev_odata, dev_tidata, n * sizeof(int), cudaMemcpyDeviceToHost); checkCUDAErrorWithLine("cudaMemcpy dev_tidata to odata failed!"); - /*int* tempBuf = new int[n]; - cudaMemcpy(tempBuf, dev_tidataFinal, (n) * sizeof(int), cudaMemcpyDeviceToHost); - for (int i = 0; i < n; i++) { - std::cout << tempBuf[i] << std::endl; - }*/ - // free all buffers cudaFree(dev_tidata); - cudaFree(dev_tidataFinal); } /** @@ -294,13 +237,11 @@ namespace StreamCompaction { int numScatters = 0; int validSlot = 0; cudaMemcpy(&numScatters, dev_scanArray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); - cudaMemcpy(&numScatters, dev_tempArray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + cudaMemcpy(&validSlot, dev_tempArray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); numScatters += validSlot; checkCUDAErrorWithLine("cudaMemcpy numScatters failed!"); - // std::cout << numScatters << std::endl; - int* dev_scatterFinal; cudaMalloc((void**)&dev_scatterFinal, numScatters * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_scatterFinal failed!"); diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 3f172ca..5f2ce58 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -78,7 +78,7 @@ namespace StreamCompaction { // for depth from 1 to 2^d-1, for each k in parallel, invoke scan on an offset and odata. for (int depth = 0; depth < ilog2ceil(n); depth++) { - int offset = pow(2, depth); + int offset = 1 << depth; // pow(2, depth); kernScanHelper << >>(n, offset, dev_odata2, dev_odata1); // wait for threads @@ -100,10 +100,6 @@ namespace StreamCompaction { cudaMemcpy(odata, dev_odataFinal, n * sizeof(int), cudaMemcpyDeviceToHost); checkCUDAErrorWithLine("cudaMemcpy dev_odataFinal to odata failed!"); - /*for (int i = 0; i < n; i++) { - std::cout << odata[i] << std::endl; - }*/ - cudaFree(dev_odata1); cudaFree(dev_odata2); cudaFree(dev_odataFinal); diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 1def45e..2043e66 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -6,6 +6,8 @@ #include "common.h" #include "thrust.h" +#define checkCUDAErrorWithLine(msg) checkCUDAError(msg, __LINE__) + namespace StreamCompaction { namespace Thrust { using StreamCompaction::Common::PerformanceTimer; @@ -22,6 +24,25 @@ namespace StreamCompaction { // 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()); + int* dev_idata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_idata failed!"); + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy dev_idata failed!"); + + int* dev_odata; + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_odata failed!"); + + thrust::device_ptr dev_thrust_in = thrust::device_ptr(dev_idata); + thrust::device_ptr dev_thrust_out = thrust::device_ptr(dev_odata); + + thrust::exclusive_scan(dev_thrust_in, dev_thrust_in + n, dev_thrust_out); + + cudaMemcpy(odata, dev_odata, n * sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMempcy dev_odata failed!"); + + timer().endGpuTimer(); } } From bdbe23f35f6aeedf49860fe786e4acee018f1223 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 14:44:33 -0400 Subject: [PATCH 04/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e38ddb..e43bf63 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -CUDA Stream Compaction +University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2 - CUDA Stream Compaction ====================== **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** From 790179f2db8e32e3683563e8ab7812b1248e3d22 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 14:54:09 -0400 Subject: [PATCH 05/36] Update README.md --- README.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e43bf63..1164437 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,17 @@ University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2 **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE +* Di Lu * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Tested on: Windows 11, i7-12700H @ 2.30GHz 32GB, NVIDIA GeForce RTX 3050 Ti + +## Introduction + +In this project, I implemented the following algorithms on the GPU and tested them: + +1. Exclusive Scan (CPU, Naive Scan, Work-Efficient Scan) - given an array A, output another array B such that each element b\[i\] +is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. +2. Stream Compaction - given an array A, output another array B that only contains elements from A which match a criteria. -### (TODO: Your README) -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) From b42cde265e529ed8941cd72283d23eb103fceb3e Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 15:04:24 -0400 Subject: [PATCH 06/36] Update README.md --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1164437..4a50a61 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,22 @@ University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2 In this project, I implemented the following algorithms on the GPU and tested them: -1. Exclusive Scan (CPU, Naive Scan, Work-Efficient Scan) - given an array A, output another array B such that each element b\[i\] +1. Exclusive Scan (CPU, Naive Scan, Work-Efficient Scan, Thrust Scan) - given an array A, output another array B such that each element b\[i\] is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. 2. Stream Compaction - given an array A, output another array B that only contains elements from A which match a criteria. +## Implementation and Results +### Scan +#### Part 1. Sequential CPU Scan +#### Part 1. Naive Boids Simulation +#### Part 1. Naive Boids Simulation +### Stream Compaction + +## Performance Analysis +## Extra Credit? + + + + From 9d65bfbb4d52e445a359dad9f846d1e329ec13f1 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 19:45:50 -0400 Subject: [PATCH 07/36] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4a50a61..abffce9 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,11 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. 2. Stream Compaction - given an array A, output another array B that only contains elements from A which match a criteria. ## Implementation and Results -### Scan -#### Part 1. Sequential CPU Scan -#### Part 1. Naive Boids Simulation -#### Part 1. Naive Boids Simulation -### Stream Compaction +#### Scan 1. Sequential CPU Scan +#### Scan 2. Naive GPU Scan +#### Scan 3. Work-Efficient GPU Scan +#### Scan 4. Thrust Scan +#### Stream Compaction ## Performance Analysis ## Extra Credit? From 2cbe7050e3768a68d31b1b6716a5e3ef88fcbb99 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 20:00:05 -0400 Subject: [PATCH 08/36] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index abffce9..780a4b3 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,12 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. ## Implementation and Results #### Scan 1. Sequential CPU Scan +#### Stream Compact CPU without Scan +#### Stream Compact CPU with Scan #### Scan 2. Naive GPU Scan #### Scan 3. Work-Efficient GPU Scan #### Scan 4. Thrust Scan -#### Stream Compaction +#### Stream Compaction on GPU ## Performance Analysis ## Extra Credit? From b22d3eb8e39fc2d4692459c8aa3bb0c97a70b4e0 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 20:02:26 -0400 Subject: [PATCH 09/36] Update README.md --- README.md | 44 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 780a4b3..b5e71f5 100644 --- a/README.md +++ b/README.md @@ -16,15 +16,45 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. 2. Stream Compaction - given an array A, output another array B that only contains elements from A which match a criteria. ## Implementation and Results -#### Scan 1. Sequential CPU Scan -#### Stream Compact CPU without Scan -#### Stream Compact CPU with Scan -#### Scan 2. Naive GPU Scan -#### Scan 3. Work-Efficient GPU Scan -#### Scan 4. Thrust Scan -#### Stream Compaction on GPU +#### CPU: Sequential Scan +#### CPU: Stream Compact without Scan +#### CPU: Stream Compact with Scan +#### GPU Naive GPU Scan +#### GPU Work-Efficient GPU Scan +#### GPU Thrust Scan +#### GPU Stream Compaction ## Performance Analysis + +* Roughly optimize the block sizes of each of your implementations for minimal + run time on your GPU. + * (You shouldn't compare unoptimized implementations to each other!) + +* Compare all of these GPU Scan implementations (Naive, Work-Efficient, and + Thrust) to the serial CPU version of Scan. Plot a graph of the comparison + (with array size on the independent axis). + * We wrapped up both CPU and GPU timing functions as a performance timer class for you to conveniently measure the time cost. + * We use `std::chrono` to provide CPU high-precision timing and CUDA event to measure the CUDA performance. + * For CPU, put your CPU code between `timer().startCpuTimer()` and `timer().endCpuTimer()`. + * For GPU, put your CUDA code between `timer().startGpuTimer()` and `timer().endGpuTimer()`. Be sure **not** to include any *initial/final* memory operations (`cudaMalloc`, `cudaMemcpy`) in your performance measurements, for comparability. + * Don't mix up `CpuTimer` and `GpuTimer`. + * To guess at what might be happening inside the Thrust implementation (e.g. + allocation, memory copy), take a look at the Nsight timeline for its + execution. Your analysis here doesn't have to be detailed, since you aren't + even looking at the code for the implementation. + +* Write a brief explanation of the phenomena you see here. + * Can you find the performance bottlenecks? Is it memory I/O? Computation? Is + it different for each implementation? + +* Paste the output of the test program into a triple-backtick block in your + README. + * If you add your own tests (e.g. for radix sort or to test additional corner + cases), be sure to mention it explicitly. + +These questions should help guide you in performance analysis on future +assignments, as well. + ## Extra Credit? From 0d558829ab7729316d9a60a84610efd838fe43c7 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 20:02:48 -0400 Subject: [PATCH 10/36] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b5e71f5..efbce47 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,10 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. #### CPU: Sequential Scan #### CPU: Stream Compact without Scan #### CPU: Stream Compact with Scan -#### GPU Naive GPU Scan -#### GPU Work-Efficient GPU Scan -#### GPU Thrust Scan -#### GPU Stream Compaction +#### GPU: Naive GPU Scan +#### GPU: Work-Efficient GPU Scan +#### GPU: Thrust Scan +#### GPU: Stream Compaction ## Performance Analysis From fa1c587f4834346f0f83c6847f5b0ff9f16f041b Mon Sep 17 00:00:00 2001 From: Di Lu Date: Sun, 18 Sep 2022 21:44:58 -0400 Subject: [PATCH 11/36] add image and attempt radix sort --- img/blocksize.png | Bin 0 -> 34973 bytes src/main.cpp | 52 ++++++++- stream_compaction/efficient.cu | 189 +++++++++++++++++++++++++++++---- stream_compaction/efficient.h | 8 ++ stream_compaction/naive.cu | 28 ++--- stream_compaction/thrust.cu | 22 +++- stream_compaction/thrust.h | 1 + 7 files changed, 263 insertions(+), 37 deletions(-) create mode 100644 img/blocksize.png diff --git a/img/blocksize.png b/img/blocksize.png new file mode 100644 index 0000000000000000000000000000000000000000..24e2f03ba6d412a3a1a7e99a30dcdacdc7a8febf GIT binary patch literal 34973 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 literal 0 HcmV?d00001 diff --git a/src/main.cpp b/src/main.cpp index 003acab..c750d0c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,7 +15,7 @@ // const int SIZE = 1 << 8; // feel free to change the size of array // todo bring back -const int SIZE = 1 << 19; +const int SIZE = 1 << 10; const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; @@ -151,8 +151,58 @@ int main(int argc, char* argv[]) { printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + printf("\n"); + printf("**********************\n"); + printf("** RADIX SORT TESTS **\n"); + printf("**********************\n"); + + // Radix Sort tests + + genArray(SIZE - 1, a, 8); // Leave a 0 at the end to test that edge case + //genArray(SIZE, a, 4); // Case without 0 at the end; + a[SIZE - 1] = 0; + printArray(SIZE, a, true); + + int* d = new int[SIZE]; + int* e = new int[SIZE]; + + zeroArray(SIZE, b); + printDesc("control case thrust sort, power-of-two"); + StreamCompaction::Thrust::sort(SIZE, b, a); + printArray(SIZE, b, true); + + zeroArray(SIZE, c); + printDesc("control case thrust sort, non-power-of-two"); + StreamCompaction::Thrust::sort(NPOT, c, a); + printArray(NPOT, c, true); + // do not comapre to array b. + + zeroArray(SIZE, d); + printDesc("radix sort, power-of-two"); + RadixSort::radixSort(SIZE, d, a); + printArray(SIZE, d, true); + printCmpResult(SIZE, d, b); + + /* zeroArray(SIZE, b); + printDesc("radix sort, power-of-two"); + count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); + printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + expectedCount = count; + printArray(count, b, true); + printCmpLenResult(count, expectedCount, b, b); + + zeroArray(SIZE, b); + printDesc("radix sort, non power-of-two"); + count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); + printElapsedTime(StreamCompaction::CPU::timer().getCpuElapsedTimeForPreviousOperation(), "(std::chrono Measured)"); + expectedCount = count; + printArray(count, b, true); + printCmpLenResult(count, expectedCount, b, b);*/ + system("pause"); // stop Win32 console from closing on exit delete[] a; delete[] b; delete[] c; + delete[] d; + delete[] e; } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 0bbcf7a..613f7f4 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -16,7 +16,8 @@ namespace StreamCompaction { } /*! Block size used for CUDA kernel launch. */ - #define blockSize 128 + #define blockSizeEffScan 256 + #define blockSizeCompact 256 // fix this and use new function1 __global__ void kernReductionHelper(int n, int offset, int* tdata) { @@ -56,9 +57,10 @@ 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(); + int fullBlocksPerArray = (n + blockSizeEffScan - 1) / blockSizeEffScan; - int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + // for performance analysis + printf("blockSize: %i \n", blockSizeEffScan); // shift tidata to the right to prepend 0's. int nextPowTwo = ilog2ceil(n); @@ -71,6 +73,11 @@ namespace StreamCompaction { cudaMalloc((void**)&dev_tidata, (n + numZeroes) * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_tifailed failed!"); + // create output array for shifting + int* dev_tidataFinal; + cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); + // set all elems to 0 cudaMemset(dev_tidata, 0, (n + numZeroes) * sizeof(int)); checkCUDAErrorWithLine("cudaMemset all elems to 0 failed!"); @@ -80,11 +87,14 @@ namespace StreamCompaction { cudaMemcpy(dev_tidata, idata, n * sizeof(int), cudaMemcpyHostToDevice); checkCUDAErrorWithLine("cudaMemcpy idata to dev_tidata failed!"); + // start gpu timer + timer().startGpuTimer(); + int depth = 0; for (depth = 1; depth <= ilog2ceil(n + numZeroes); depth++) { int offset = pow(2, depth); - kernReductionHelper << >>(n + numZeroes, offset, dev_tidata); + kernReductionHelper << >>(n + numZeroes, offset, dev_tidata); // wait for cuda timer. wait for all threads to finish cudaDeviceSynchronize(); } @@ -97,14 +107,12 @@ namespace StreamCompaction { // takes dev_tidata as input for (depth; depth >= 1; depth--) { int offset = pow(2, depth); - kernPartialSumHelper << > > (n + numZeroes, offset, dev_tidata); + kernPartialSumHelper << > > (n + numZeroes, offset, dev_tidata); cudaDeviceSynchronize(); } - // create output array for shifting - int* dev_tidataFinal; - cudaMalloc((void**)&dev_tidataFinal, (n + numZeroes) * sizeof(int)); - checkCUDAErrorWithLine("cudaMalloc dev_tidataFinal failed!"); + // stop gpu timer + timer().endGpuTimer(); // copy final result to odata cudaMemcpy(odata, dev_tidata, n * sizeof(int), cudaMemcpyDeviceToHost); @@ -113,8 +121,6 @@ namespace StreamCompaction { // free all buffers cudaFree(dev_tidata); cudaFree(dev_tidataFinal); - - timer().endGpuTimer(); } __global__ void kernMapToBoolean(int n, int* odata, int* idata) { @@ -144,7 +150,7 @@ namespace StreamCompaction { // reimplement scan for compact void compactScan(int n, int* dev_odata, int* dev_idata) { - int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + int fullBlocksPerArray = (n + blockSizeCompact - 1) / blockSizeCompact; // shift tidata to the right to prepend 0's. int nextPowTwo = ilog2ceil(n); @@ -170,7 +176,7 @@ namespace StreamCompaction { for (depth = 1; depth <= ilog2ceil(n + numZeroes); depth++) { int offset = 1 << depth; // pow(2, depth); - kernReductionHelper << > > (n + numZeroes, offset, dev_tidata); + kernReductionHelper << > > (n + numZeroes, offset, dev_tidata); // wait for cuda timer. wait for all threads to finish cudaDeviceSynchronize(); } @@ -183,7 +189,7 @@ namespace StreamCompaction { // takes dev_tidata as input for (depth; depth >= 1; depth--) { int offset = pow(2, depth); - kernPartialSumHelper << > > (n + numZeroes, offset, dev_tidata); + kernPartialSumHelper << > > (n + numZeroes, offset, dev_tidata); cudaDeviceSynchronize(); } @@ -205,10 +211,9 @@ namespace StreamCompaction { * @returns The number of elements remaining after compaction. */ int compact(int n, int *odata, const int *idata) { - timer().startGpuTimer(); - - int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + int fullBlocksPerArray = (n + blockSizeCompact - 1) / blockSizeCompact; + printf("blockSize: %i \n", blockSizeCompact); // 1. compute temp array: 1 for everything that fits rule. 0 otherwise. int* dev_iArray; int* dev_tempArray; @@ -222,14 +227,16 @@ namespace StreamCompaction { cudaMemcpy(dev_iArray, idata, n * sizeof(int), cudaMemcpyHostToDevice); checkCUDAErrorWithLine("cudaMemcpy dev_iArray failed!"); - kernMapToBoolean << > > (n, dev_tempArray, dev_iArray); - - // 2. exclusive scan on tempArray. int* dev_scanArray; - cudaMalloc((void**)&dev_scanArray, n * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_scanArray failed!"); + // start gpu timer + timer().startGpuTimer(); + + kernMapToBoolean << > > (n, dev_tempArray, dev_iArray); + + // 2. exclusive scan on tempArray. compactScan(n, dev_scanArray, dev_tempArray); // 3. scatter @@ -242,17 +249,20 @@ namespace StreamCompaction { numScatters += validSlot; checkCUDAErrorWithLine("cudaMemcpy numScatters failed!"); + // unavoidable malloc int* dev_scatterFinal; cudaMalloc((void**)&dev_scatterFinal, numScatters * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_scatterFinal failed!"); - kernScatter << > > (n, dev_scatterFinal, dev_iArray, dev_tempArray, dev_scanArray); + kernScatter << > > (n, dev_scatterFinal, dev_iArray, dev_tempArray, dev_scanArray); + + // end gpu timer + timer().endGpuTimer(); // memcpy back from odata1 to odata cudaMemcpy(odata, dev_scatterFinal, numScatters * sizeof(int), cudaMemcpyDeviceToHost); checkCUDAErrorWithLine("cudaMemcpy dev_scatterFinal to odata failed!"); - timer().endGpuTimer(); cudaFree(dev_iArray); cudaFree(dev_tempArray); @@ -263,3 +273,136 @@ namespace StreamCompaction { } } } + +namespace RadixSort { + //// todo import performance timer + + /*! Block size used for CUDA kernel launch. */ + #define blockSize 128 + + __global__ void kernMapToBoolean(int n, int* odata, int* idata, int bitpos) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n) { + int num = idata[idx]; + int bit = (num & (1 << bitpos)) >> bitpos; + // printf("num: %i, bitpos: %i, bit: %i \n", num, bitpos, bit); + + if (bit != 0) { + // add 1 to out array + odata[idx] = 1; + // printf("idx: %i, val: %i \n", idx, 1); + } + else { + // add 0 to outarray + odata[idx] = 0; + // printf("idx: %i, val: %i \n", idx, 0); + } + } + } + + __global__ void kernComputeScatter(int n, int bitpos, int* ddata, int* bdata, int* tdata, int* fdata, int* idata) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n) { + if (bdata[idx] == 1) { + int numToScatter = idata[idx]; + int dest = tdata[idx]; + ddata[dest] = idata[idx]; + // printf("bitpos: %i, scatter num: %i, destination: %i \n", bitpos, numToScatter, dest); + } + } + } + + __global__ void kernComputeT(int n, int* tdata, int* fdata, int totalFalses) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n) { + tdata[idx] = idx - fdata[idx] + totalFalses; + } + + } + + __global__ void kernComputeE(int n, int* odata, int* idata) { + int idx = threadIdx.x + (blockIdx.x * blockDim.x); + if (idx < n) { + odata[idx] = !idata[idx]; + } + } + + void split(int n, int* odata, int* idata, int bitpos) { + // the following operations should only be done on the bit specified by bitpos. + // todo implement radix sort + int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + + // 1. compute e array + int* dev_iarray; + cudaMalloc((void**)&dev_iarray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_iarray failed!"); + cudaMemcpy(dev_iarray, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy dev_iarray failed!"); + + int* dev_barray; + cudaMalloc((void**)&dev_barray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_barray failed!"); + + // call kernMapToBoolean to calculate b + kernMapToBoolean<<>>(n, dev_barray, dev_iarray, bitpos); + + //int* tempBuf = new int[n]; + //cudaMemcpy(tempBuf, dev_barray, n * sizeof(int), cudaMemcpyDeviceToHost); + //checkCUDAErrorWithLine("cudaMempy dev_tarray failed!"); + + //for (int i = 0; i < n; i++) { + // std::cout << "t: " << bitpos << " " << tempBuf[i] << std::endl; + //} + + int* dev_earray; + cudaMalloc((void**)&dev_earray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_earray failed!"); + + kernComputeE << > > (n, dev_earray, dev_barray); + + // 2. exclusive scan on e and store in f + int* dev_farray; + cudaMalloc((void**)&dev_farray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_farray failed!"); + + // use compact scan because it doesn't presume the input is a host pointer. + StreamCompaction::Efficient::compactScan(n, dev_farray, dev_earray); + + // 3. compute total # falses + int fArrayLast = 0; + int eArrayLast = 0; + cudaMemcpy(&fArrayLast, dev_farray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy fArrayLast failed!"); + cudaMemcpy(&eArrayLast, dev_earray + n - 1, sizeof(int), cudaMemcpyDeviceToHost); + checkCUDAErrorWithLine("cudaMemcpy eArrayLast failed!"); + + int totalFalses = fArrayLast + eArrayLast; + + // 4. compute t array which contains the address for writing data. + int* dev_tarray; + cudaMalloc((void**)&dev_tarray, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_tarray failed!"); + + kernComputeT << > > (n, dev_tarray, dev_farray, totalFalses); + + // 5. scatter based on address d. + int* dev_scatterFinal; // final output. send to odata + cudaMalloc((void**)&dev_scatterFinal, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_scatterFinal failed!"); + + kernComputeScatter << > > (n, bitpos, dev_scatterFinal, dev_barray, dev_tarray, dev_farray, dev_iarray); + + // memcpy back to odata + cudaMemcpy(odata, dev_scatterFinal, n * sizeof(int), cudaMemcpyDeviceToHost); + + // delete[] tempBuf; + } + + void radixSort(int n, int* odata, int* idata) { + int numbits = 3; + for (int i = 0; i < numbits; i++) { + split(n, odata, idata, i); + } + } +} + diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 803cb4f..b408609 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -11,3 +11,11 @@ namespace StreamCompaction { int compact(int n, int *odata, const int *idata); } } + +namespace RadixSort { + + void split(int n, int* odata, int* idata, int bitpos); + + void radixSort(int n, int* odata, int* idata); +} + diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 5f2ce58..c162fce 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -11,7 +11,7 @@ namespace StreamCompaction { using StreamCompaction::Common::PerformanceTimer; /*! Block size used for CUDA kernel launch. */ - #define blockSize 128 + #define blockSizeNaive 256 PerformanceTimer& timer() { @@ -51,13 +51,14 @@ namespace StreamCompaction { * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ void scan(int n, int *odata, const int *idata) { - int fullBlocksPerArray = (n + blockSize - 1) / blockSize; + int fullBlocksPerArray = (n + blockSizeNaive - 1) / blockSizeNaive; - timer().startGpuTimer(); + printf("blockSize: %i \n", blockSizeNaive); // empty buffer as odata1 and odata2 int* dev_odata1; int* dev_odata2; + int* dev_odataFinal; cudaMalloc((void**)&dev_odata1, n * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_odata1 failed!"); @@ -65,6 +66,10 @@ namespace StreamCompaction { cudaMalloc((void**)&dev_odata2, n * sizeof(int)); checkCUDAErrorWithLine("cudaMalloc dev_odata2 failed!"); + // initialize new odataFinal with enough space with 1 in front + cudaMalloc((void**)&dev_odataFinal, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_odataFinal failed!"); + // copy contents of idata into odata so we can just pass in odata. // set values of odata2 to 0s // exclusive scan will never set the 0th index @@ -76,25 +81,26 @@ namespace StreamCompaction { cudaMemcpy(dev_odata1, idata, n * sizeof(int), cudaMemcpyHostToDevice); checkCUDAErrorWithLine("cudaMemcpy idata to dev_odata1 Host to Device failed!"); + // start gpu timer + timer().startGpuTimer(); + // for depth from 1 to 2^d-1, for each k in parallel, invoke scan on an offset and odata. for (int depth = 0; depth < ilog2ceil(n); depth++) { int offset = 1 << depth; // pow(2, depth); - kernScanHelper << >>(n, offset, dev_odata2, dev_odata1); + kernScanHelper << > > (n, offset, dev_odata2, dev_odata1); // wait for threads cudaDeviceSynchronize(); std::swap(dev_odata2, dev_odata1); } - // initialize new odataFinal with enough space with 1 in front - int* dev_odataFinal; - cudaMalloc((void**)&dev_odataFinal, n * sizeof(int)); - checkCUDAErrorWithLine("cudaMalloc dev_odataFinal failed!"); - // bit shift towards the right and add 0 to front of odata, put it in odataFinal // dev_odata1 should always have the most updated data. - kernPrependZero << > > (n, dev_odataFinal, dev_odata1); + kernPrependZero << > > (n, dev_odataFinal, dev_odata1); + + // end gpu timer + timer().endGpuTimer(); // memcpy back from odata1 to odata cudaMemcpy(odata, dev_odataFinal, n * sizeof(int), cudaMemcpyDeviceToHost); @@ -104,8 +110,6 @@ namespace StreamCompaction { cudaFree(dev_odata2); cudaFree(dev_odataFinal); - timer().endGpuTimer(); - } } } diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 2043e66..6e3e241 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -3,6 +3,7 @@ #include #include #include +#include #include "common.h" #include "thrust.h" @@ -20,7 +21,7 @@ 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(); + // 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()); @@ -37,11 +38,30 @@ namespace StreamCompaction { thrust::device_ptr dev_thrust_in = thrust::device_ptr(dev_idata); thrust::device_ptr dev_thrust_out = thrust::device_ptr(dev_odata); + // only time thrust scan + timer().startGpuTimer(); thrust::exclusive_scan(dev_thrust_in, dev_thrust_in + n, dev_thrust_out); + timer().endGpuTimer(); + cudaMemcpy(odata, dev_odata, n * sizeof(int), cudaMemcpyDeviceToHost); checkCUDAErrorWithLine("cudaMempcy dev_odata failed!"); + } + + void sort(int n, int* odata, int* idata) { + timer().startGpuTimer(); + + int* dev_idata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + checkCUDAErrorWithLine("cudaMalloc dev_idata failed!"); + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + checkCUDAErrorWithLine("cudaMemcpy dev_idata failed!"); + + thrust::device_ptr dev_thrust_in = thrust::device_ptr(dev_idata); + + thrust::sort(dev_thrust_in, dev_thrust_in + n); + cudaMemcpy(odata, dev_idata, n * sizeof(int), cudaMemcpyDeviceToHost); timer().endGpuTimer(); } diff --git a/stream_compaction/thrust.h b/stream_compaction/thrust.h index fe98206..994d8f0 100644 --- a/stream_compaction/thrust.h +++ b/stream_compaction/thrust.h @@ -7,5 +7,6 @@ namespace StreamCompaction { StreamCompaction::Common::PerformanceTimer& timer(); void scan(int n, int *odata, const int *idata); + void sort(int n, int* odata, int* idata); } } From c79900b0d35f7669e7642f4d60c697b048965f3c Mon Sep 17 00:00:00 2001 From: Di Lu Date: Sun, 18 Sep 2022 22:10:13 -0400 Subject: [PATCH 12/36] Add images --- img/elems.png | Bin 0 -> 75030 bytes img/scan.png | Bin 0 -> 79739 bytes img/scannotpow2.png | Bin 0 -> 95080 bytes img/scanpow2.png | Bin 0 -> 84829 bytes img/stream.png | Bin 0 -> 70238 bytes img/streamnotpow2.png | Bin 0 -> 46851 bytes img/streampow2.png | Bin 0 -> 60857 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/elems.png create mode 100644 img/scan.png create mode 100644 img/scannotpow2.png create mode 100644 img/scanpow2.png create mode 100644 img/stream.png create mode 100644 img/streamnotpow2.png create mode 100644 img/streampow2.png diff --git a/img/elems.png b/img/elems.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ac6b0a449be963eee5f7a4b477be412ceb3627 GIT binary patch literal 75030 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%0A&#mv#K=Fw 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 Y4z@hKq_E4ydI4w;HJ@lys#%BrFGSEVe*gdg literal 0 HcmV?d00001 diff --git a/img/scan.png b/img/scan.png new file mode 100644 index 0000000000000000000000000000000000000000..a19a4b3be60ac55b24464864bb618246034e8d17 GIT binary patch literal 79739 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

< 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 literal 0 HcmV?d00001 diff --git a/img/scannotpow2.png b/img/scannotpow2.png new file mode 100644 index 0000000000000000000000000000000000000000..253ebbae2db6f8b643f747fde5eb8f7a9cd41158 GIT binary patch literal 95080 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%0DcB< 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¨_koQFjd1urgg)V)ZEvGQ8 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 T<2vXLBS#|-;=`N5PL%u$i?h&K literal 0 HcmV?d00001 diff --git a/img/scanpow2.png b/img/scanpow2.png new file mode 100644 index 0000000000000000000000000000000000000000..817de79bd54d676f2dfa1af834bbe2d5c5254e16 GIT binary patch literal 84829 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 RR-tWBzx@Zisr!Dt_+K->TjKx# literal 0 HcmV?d00001 diff --git a/img/stream.png b/img/stream.png new file mode 100644 index 0000000000000000000000000000000000000000..9699f1045d50b8721777b50e53c29fd7295e0d8d GIT binary patch literal 70238 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

fZTM2No>S*-sHVe-d)_7E05fl4^w*jm9^>W6; z`(Iyj!2n{)L^b<&Hny~Qz=TviE;o8;yU0F)MCvnH+q|Q@nO(JL(Cw0Mv$L~!=vXcw znW4|2B{%0cfW3q@OEP0WjM$#$_mk8`63d?s=<7CPDffyfRhM8 zB|FQ&bXMwC{*?385pt?g3JMBie`hXq(G!G==Y5oq*MIK*Qkl;?WS zQ15D)ra6i-#ns?`++uAZX1tQ-iIgx}Nc9$ZwOO$%Nq>#9#aeHXlIcjNG{0A^g|0%J zNW!A6lvCqqoZ6;st&~9#eYrN9llcm%%KQ2aF0N>Nih!MHoG;A4krE3@_TG|Iz|JcG zoZ6=f4+oq60bl5+j4go-0|i8_EUj)(C8VR~fV9^IZYyg6@L8*AqMy&niA21VS_q{W zONnW$T+!w_ck=^oyEe-k+;ucHfJ#CVyA&sud}7gL7^$Vad0Uc?ax>_UGu2_=$>oeV zA(dg;VmUeM<*nQS#O*GYh)Fs6WAW}yQe}Hs9wFt`iZz`8p{qD{!H3_28o{!!-o4fj zPP1Yv5W$#?&8Rqd7reAeuzcnQiC!(8@h+LDx_-AdKH*L$x5%g7*+xpQq14G=A`+7F zeI;{23-sE})q`vYPXjb!kFQTEZ;w|-b{-8i=}nv{7$w)_6pprA|Iki)GL~tD0wb>= z%py#78fS5sWyLgrTe?2xjn0eC1Htsil?!)aEfzduL5^EKkhlLq(sJDzrBX9O~mldSto zZjA}<$Sp}D3}0!&rSdEnrAw;skf#Vm3OLU4nN>uN*0UIGB(aEqA=?#~yN$?Y_R?;JAh{d;*(3U9GJj@ZGymuz}##`7$W>PUpLa_Ji91DUBee znryxvMDxVT$6sMPp9*+(O+m#ciw}XH9}`L3VXaGCBRA5qp*&VUrpQeti(kCU8)mY+ zGwcr+qn?7SN>W{2U9G76HW70_-Ls*@(>*NG#2~~j8{|^*&pf_(8<+lU@rSR^&g0W^ zsaYnxe;R=FZ*|(qNmk^cwLY@G7z0r)XX?MX5PO?XfZbYp%BH86KU7jn?{RP` zb%a`L2yvo-K9s8Cy@ma&+5Ys!ZdS&%D~vpx+J6J_CJ*gt_s*!(Ya{RTTemx_2SlQn zzFkvk#hd`Q9(n-)H9n*JG8F4Qx3Pk*;0bJdZJ24x-TX0(#4`}q-ttbLLc`_sTuqqS zMtb^FjA&8e?>y?xMmZ9Cv43&nz=@lm0cfa5x}tijfmMRRKFO!kvx^ERXo3LSDnk?g z-Kt$mQgVYi3plkn5f@F!5jjQ(Km<8=pezY-QgD0D>vlfQb01B5> zPOheoAt%@9=e5A0cCex2c;n$<;=6n~G`w7Hf#r)D3tF(Ryx+n>#ciVEq9%C1m?$1M z>f~_TrrUekjZo}mJb!8==T+qpP9fvO3^-{J7L7!(Uk=*O7B0@yvwV(CGh?%xKE1j1 zLdLHQ!NsWiOoN#~UJnyu94EeQX+l7V)Q2%9cJdat;KM>xcZqY*yxPGa1A-SMuLHNT zgL#7GXaKFSu~msxIkT}19aWhf(gF`myvw~V{lMn+cN5P?`}C8Rjz`+I8DeWpeHqUc z_=MM99y-j=4VCDIAggu%fKvcGn{0OLAlps%r6h0I>yBE8!d+Fh=EoPGEd7+_d{}hB zQyqSAxT=0^v&NSghmj9@BLZ(&hj7{BEd<8xFPqh#f!df-*^xPh08Eg<>9es7nmX`R zl)GE~Y~noyMlN3)$+@!XanPcrpS+7AldA`ZlPl-1b58g8>|=X6bL)Ra548n%{QY`SSj|rjMrD2M(PV7kK%5m-Iz6QJ%kq2ZABU zAFX|nfa4!wzYwQR^Pu89y4z%ls(mZCMJbZ2=-b|2bNWn%U%mX_Ud;Uxj1(&B>s9^A zf=@c@hl^;M^1tfI*Tee=)IV+$f>i-AT6fLR{g}(_X8?|Qz5Mx40Ds#H;BHqpHQn;# zJo%8YvlhcCN_QcjS3|qzV*5IfrnNOygLeg`1vFmdWbcu zwx#rA$HS!;GAc9UqV$;*s}V5w-dy)j_N=;Y60*Ix&R>&^9+E6i4)&J(-&m{Pww{pf zmfa*vKeCwJYh`ElV(XJ^*@Hb#atm2Z)8A^|N_$mQN1o2FW9r>EG6tVg3pxH9!1=jj zyUp*zRE|)h{fYm5xXx@pd_2-`Z@O%k{xJVB=|H(b0ha7jA+^`i^s9uE^^g@Y z#nw)zdE}ifYvqE99|73cu6q?*=VR4Y&FaROA?RASz?~m;fnVQl*Q`hWOkS3^w8dB? zXV$^6YLwYqg5CMh658HO^(~OdqVK|C<=?@wDs)(I;P*f0MnW1sKoF0zV(}j`8%{x( zQ2S>LMCUm&r0n^g=sgSbI+kW^43_8PJI6v0aX+nI&WtcK-0>ShN|G9*w{HE{`^6X= z-KBD3(vYB&)u#=|%*v(K{57Ag9J#1V{o((0c7LYn6=d514X4~jfkk>%I(=_~hzj!= z<6qc!eLV1J3T(}!fbf$)-_5yP`}ARqb`L*a9JV+jcE$>}m+hzm^kO<6&MC`pUAF;` zoEfTqISafV<)SjX=3uwyS!Imjr;U-DoBC@RaJjamE8te+XbV(A*lY6 z`xWdep0y72b?g^TsUv#|u>bO$oHPRWOR1av*)zNyarmE~zelD&ZJZa~nQ@U_I_?Vp@B3rILQZbA1jhv+mT;S0PI1@cB7XlBe)8X0oNrkP%kLLH>$H;P zEzse8qO*45`0>sEYYNfVB;tmWh)KhpPQW@Gkjq1Ii6dp%_YO#1`tM}&q*k1tJmh~) zLyXU1$jy0(onOXPpo6wILQYiUdq+T_6HIPE0_3ibklI(mLNf0ESBs=$46N`K?!N&}F;{)l#^~8H z)cW(JrH{|omf!e184UsN1`5FQ^iXlJ41RS2wfPUyrHhXi(EemfatUWPL*y~z-&5(O z`C8YCG|}-LWd)1o%kavjg|BN5ZCN!!4k!O>ac^N1#P6^*VUpwvFS-CUrooE5B$sxp zL)q9CR#&-rr9S=XD+j(n5M1LRH)M#)JXM*VR~K*ZO+&d}{mz#NbMPn8$-#KRw=V80 zV+!uk#hiPq^a8R+GWh8M^Oy*}??0H3EFqQfU$;d6JAuyMGh6}a2XwDo%ei|_f9{@B zXlc~m>3eLQth-b)Yq%6ay#FNv8VV@uocgO@w;+4_;8$9;sjN=oFg?LVR_9@z?+{i= zm8h^}v{9$Nbm8wB@-F{)#m?WDewI^esp8H#;sg!!=34fvsrA zlM%W0XZgv}}4fA`j{INPw>AdP}b&r84{EKjQKAYjHQa_+%YzQy-Z3@S7jP1c#-U277Mq$;ziyPs0-TW=$)}A`eyQU>;t9Z1mwo_IRZki>8J1(nJAh0)pZhFJb`zdM=uc^l9E}ow9 z&}2wx(6i-_r(|{H4)3kvwd`YE6l60X3VuTkm;~Q}`+!bxCkB4aG-dfbZ4*I`-pYLg zjyx{t2B5@M$EY4$4V`>eC9ssbTf)qigQ{m3ML;(1Ms+#ZP7hK?EKf@|VZ)9GAWc z`qke%aOl{Fw-@zr8(*Fu-mT%94d(`OalV3or@H+*xUzo*={|7xRMB#pH*!2SP1K$P z058P@w}@G4KHuJ480YhUc8Hxfl1pS|u*fLG4Njv}gop31l>+-zC+*hyMn^~2OYZje z)DkRE_GH(`H2kr9c)jh!_67XTFIB-hd0CyRO8|CGRfpreGyk;kJ6$^WTuYM2jhN*F zK;$fNe62^1D1XjwCu{}d@dWFiVkZ0}TjCYJnw|>(yU*4mzw`9;-a2*s%u{90M{O=~ zO08Jj0*GYPG!eMor8r_?qUH)@5Gr>uD*%4)>50IrLLod)Z?1orT?R;gPav1M#U&-n zgxmJDTf8Z%OYrp$)AbK?GlaLkSMqo0%o-gX)nvt4B6Up(Fr&1!v+@HQX&o6!Stom9$Je$j0hF&=AO$|eE~4FM?R8z>hrinK({wWUVSlk1raEM| z8#cMoB^`n970s=1Ucv7bE?VEP=hFNR`?cIXH6PA)``r$fOTgJ6M&on7Mol--PP>j*5_r#BO@Dn|BST4k4hB??%9ee%Fs(! z-|rE<(YBAY#x7u$u1x?ap$=NG=ewR(nVY!=E_%Ce{yB^}|>U%p9NjbdP)uzw#<<#8bZp ztQYd1WrzA9AisApnPuGuM6sjBn~PYhrG~CK#IE<(Aa$1rXPf#eGV%Qe^%wZ#hNRl0 zRIU=0d1X>v-t2kls%ZV@rA?CIaxS%V6xVdreK}#*7<@VR{MEl6ET^RlEbtg2x(jE@ zs7vPnCw=Y{`*Wp3yn8E&p?SHXAT+>e(ky_pe~YHWpihIJNe|nr_iuB+sp zrXlCJ!#+tLI_}exLeKd*#>$&}>x{teg6)}^Pp_c#@l{~hX?Mf2Lav$+K z8Myc@Y;QS6GAo#&AWjX2z~bo&@`s0b=BxdRE(eEC#3}4fG^dBTjYu1#7@&DmbVg}W z_?h84`iz}arD@H7fzt7s(wp~5jkfn)t^iY+>y>(t692t6zs9{jq9%GzzgmUg%RU-r zfvRDRF|oBD%tT^q-}tF;-2}6Wr{JK=liU5WWK*n)9d5;hCS0 zFP`z+huPC^zt^x|#VX(UR!LJ?IUz6^0@Kb~t~=VN?F`)$$Wi!pC18MpG@x0az&jt3 zNSa>;#r3-0e{jqBIEz+1%A|#%C2fU)83Xs1OVMwG2djmqB+uX2+W=l-({8o(_Fi1| zz@jclw=Ipr{g+MfGdO6D!rnkXOaM=$W5PGGn6RrI2Z>H2tvd4cL;l)~J;brZXip04 zNf6uIC<$pt;A$WSLjH%OiAwCdkJWAO!@lw{&#!( zeYiN!yi$+_@#1Q5S{dZ@za7YA25+`O0Ery`uSpJiy<{n`D0;c89O&d>w`?a?MU=St z^V&$+f#W*=0@&eH7y(e+pJnM?sf_Jvpl}fwM_~6R33#e5#KUcUN%gk(4P$`CoRd}k zYXxvsz-;A?|9gl%4kV{&FGV6#hQEp=)@^J8{`=2URTYGLD_GO(U-djarWkCT1X;60 zH%!OYUjGCef<_H_TL29f{%f$A?FU+#EHYTa{{+DJ?)@?C>-xidb<4wV?F+8%&gGja zE2#E67FpMy%-aSCEl?W^S);2iT7C=S)K~jgKX2~sW&sSdr7Etlz$=3)wVZXIn}96l zsB-tYe}%7kXxsTo1Z3+$6nw{})UbKxKvQ7f+ik4(!EOL(?T(`v859tf#@N_4r$aq~ z7T?PJmm)8&J^VFn$&fLc-f{AocHtVD>|+x7SgS|Ch_(%D^?85tz@QdrS7uM2(tYfb zfS+@RJ_su{)V}BY4M6_b%o=yB>&vr#7y5YAR!zVG{rjvb-x$_6rd2ShtCdOhYvGbg zR330(%Ql}~T~nxg=U(KxZ?ipqf!oYWAU!dicJyjC$%2?y0S0v14Vyr~ub)mJFZ{UmR;Td;p@x8pHnLL=lEPrdzOQ4+lAVzjvQ-EXio}e4W|*;Oi|kp)nuKiGv;XdK z&htFye9yUl*VP~AsxzO@{kfO-@_N7CuiN;i)ze)G@m?W|=-Wl}4QE!IBWOLI+Chs* zo*St>;<8NVQV+jNc6tyufc@Ip15Cz;9fV z=PPXCf1aFog&(SHD8>_H3e2>Dq_R4nWZeh6_ATc-2~P+ab5#@0pG^0xV0(cH#7uO0 zxql1A(iD_E{@jF8YqhqMUK6N!r@>kS3G>DpbMjKt4N73B6EW&DVyRmf6*zBA@K`OQ zR(OeU?-iVAuH&$=khGC&*#`DctS4Bi7}!m!jj$XMEiN+nNH1ePWwbpjxY=7Q*;A^i zk9YcjE8j<>{F@6A%L~b9RH=)+W6*c{-kI-y*x9%3hU4RJht?nX$Shc-ECx0$dyRag zbQLMZ3NK!#ks1UrF*=lirHGYR`T;7~ELqw!2k$aE;=8dh@2n`DBxxIkGbpT`l+Q+? z2K8T8F_A!_o-}iQH{{f|C$41FrM!-nyR#j4rkJDZR|$vwcBx)l@@%j2zyQK^njbs1 z@fd}O#t#u5OumpK=Gg6}7I$XF_hjZ0@t!3P)3ZR!f~YP0(zVl(dQv*#Z>;=YmW=5- zDz<~RBN&(VsZ;FckAun5qwYud^*7G-uTVLm&`t83eTqv(`(Vlg-`X+EH|F84cG4~45lOv`?J#8P}gC#%$x`jRFUXu_>IQiA$?C9wr7g5(wX z%rcPZH#Ok1J!#nJ&z)jhwEW?PGuYG40~}MR&At=Egt;0X!^fc7!J1&~IKboboj|V` z!Eln@s1#uC#DDJ|&K;cQ^YyJe`P+x%$#U|&LSGA<@6UY)sN2U8=5Mb) zg`4^|aHa%eIAk}o4OK-8UREtC_D)6x8H~p^8VXlcJ43ne9pp?U1!WpJ0J}@*2e4P! z8eZCFAd_)&;1hWY`3i|_5ZRtSgmQ2DMEJUpjB{9UBEoG~aJcR@Z{*|qVuh|%v}lwz z-l1!)(ejmqd98z`BoKI^PIZjE-0OSe4DLH-?wP1jH&?>&&SQUy^BIzgRnD?YRgra{ zk%NY~e0y`%R;@F14s)sg4tUONWKo^9Xqie$k=f4;ZbqS=Qu|73U`IpgQzgKCAa z$_z@6ZU%FldXP;Nk}N?6gWT_nyE%|RDE|7@VjJid7^f*(iZP#*NF(VTc&o$1eZ@I* z<>wE0Lc?3t_#$AqSLUb3uLG+mROFw?A-i=H<=?P`E~hsgLHnVm$oxg?=Toc=jbHF5 zO9*#mc;C5uHyYI#2urNyVwcq#v9f_Nrgc;BvbUP@B{8 zqDB5?l=$KvLhsBV1veq2k7|3AT!M&O zJJ@DjYdCs0ACckSlyNlboFkq_Sy3@01+XIzl3LK0WXH(wU%MWCCe8*r0uW4>_&GzS zwtsnn8V))5DJftGu<0ESAAnz0=kSPY`=&y9YZyC$##sR8THfk#5PYHAy5EBs2}%IV zcNq5DMmVuYG-xywyYlKWc9{Q8YZL9M7o85Y46Uc!0Dpu62uoi@zFp=5J;`p&4D`%W z6ZIYG$`$a7Tb0~87SyVnF;4PJ>jcm-x?e@Djw#qIzkl=P0knH6UoK{XFe@2j*&qzZ zXPoEv3<=A4-+1$=zthc_Aztr7E#inHZ(CVi5hJq)WiST;mG~uj%Py%oO*fp zIWav@{GNE(X0XJ*_x+tWJtQx?j^<2_1kxxqLlaohOe))2eE}>-qPj`Y0OuPw49?%| znI8Q0B4H9uDDy1e@tyUUyd5v&p+Usqz%~h$k5JM61s9_dWGJp5S&Xl;zA@>pe)%+O zzzB$d!3_$ksSG%pm?Jr-ZH@+M+e|$(zPx+(&~=;Ct|N<-=PO!;lSC6sj_yELO3`+{ zBk!JjtS4!HF`n4HfabA4!mHC{c0r-iz4+$4Sp(=&DkyYqOnZlbM*^lzz~24L6j?$Y z-?l`rgJRV1#mB&&s%>69;XKg8MJa-{5tpC7Av+tUkPXNacb>K~7s{{IssQljL5KR6 z$+0JAq6&V0an1*YpsK&k16On>!tLa$ER_XAp3Nf<^+O;}PTl`}(QCjuVF1+3jG+v- z%dT70G06bBS;ap7`@Y7zl9De}Mw$x?7?A=gCmS*l6!-(ZsEN|MWti_6JAd6Zgyoss z>0d=b$&S3|%Wdc7_o^w!IhuDri zrh`2FWqB!E=+Si99ok2*{PM1bXTRwh*|n~b_4A&BODFpoeh-X zE}O;9uO;+rhM=@Y6-uz?8o*B|X^Np(<;SceoC5vqQjVjQ6>AH_6bi;e%C_wks?Z{= z<-es=^?K`LeH^v?b$1`FA0>+&`8FXTai6;o1Txmb#r|5~FT~nw3$0k@?q!Lb>!@>;|Rt(>t6{ zv9!&Xm1{}x>k|)9Zi~D4PNe`eQ&$>=Jn{@p!Vd_!Z@cNcfPiM^7Luivs114u(?nB@swxuh1D2yamniL z+iM>Yueg>?BD0dq^w#TcSzifM&m?9}HX^fGe2lww+mg)d#pRsq#bqa)pLU*vB5MP- zeNY{`AOU@Mn3lncTST}g57<~cwK`&@Y=(tH6o+^s#RQBxHoju~+z978^@ymNH1sjRq;d~! zF#5UQj-iMC0pG^Fjz|^#{iG2aJtu1wxxe-JI3t(Why-Qf+Btb=4AibvO)ri^e*Ya< z*uyaHZ8J|-LGRpoY&V{W0(=y~(hg0eRCU@CdtSvl^6ENQoOxD zCf5j%y%!h$h|Jcu+plu0SJ~&1Zk)ZR%k9`P{9dD}ZB)KpO#WJX@8T!sV~ToPZ~BbQ z%Dk_??l2i^Smx@}+lMzX` zuPQt@9u%M$!5#{>s#wws+rXlSWggB&SwfxOv=&vsnUad`oa^t3XfLw9YGlr#Q+c0K zTd`%Zt!%3o<&!Tp$cwT%)bh_ z6a(@p%a%MIXAN;#O7q@^DF`Idnj(@BFmc)a_&{s;N_~!Lvfb`SzJrXQG;zs@q)R)L*+O-`#*3Dt7oI}s&k8r zF9+<8a-j^}WzRZ&iCT?T^Nx*!VW&Uca{6SyZ>t(DYZg1%GPFJfC*rmAM;&;@$-PBa zM?O0%&;F6d3H(%tokmMHck_!8-ph*-A>ySmZ&2PX4?X>?2AXic4P7)=ZEnW?Dm(AA z^r3N}nQ_l1uB!DurI?YWFpA5_JOy1&aVPSR6VliIzysOr@^9;!rPomlgm9x{JbvcG ze1f1nUbY@B|D6&QdV-Pd(NPEmRMY$%)nKttII4EAj)etZM`VUxL7!KQZ1wJ8p}3Y& zzQS^9L=z*YbnNy34bAP<|6>*Z55E2VbD||sSaki5m3E;lbsmjduibB+k0>2DEj9VA z1~pkKB;H6ldD#aL>31ySZl~zm^I%h~0We1ptax$iU3wfIU!M0ZG6DB%atdqlV`GG~ z7)0X;*J{B|>vx7;Lm{e2`!!BxfNhtCDG3raUrE&9-uN$nLKqp%RUGUj#O8W}I(e)9 z9?!1k@1CxTH4o1a+Y769O+);i9Tj_mIkHdGi30FwC2!Szv>68K{QD=0OaJrYJ*yU% zvMlLRwuRxo!4!{p&$6jwuxr1VFi`tEy+h3UrUCd!e)$m~BW4Yh5Thwq+`p-9JfIrw zTU47GW6G&FU_7Bd|M`~2T*V@y6;`(Yy|B9WjaRED{3M%bCV#oJMw@(3ylGHbT#(Es z=N2USJ$`$_zIQYA7WQYsTlh=UF~XS&JTllEl&tdVYqRgZ#ip6*S#;ia?soJ&Ng*A;I|z7$I}8^U)y=U)bsEiAPPb9oc)dzxv}1FnHve@ zL!m#U)B9HWs4sDD!G`IrZxAg*!p_Ty5QS6=-DViqJ{LjP+l!O;V_ZHmUc_5&6%t#uuXZ)&%%wx!x^!ws{^NUSl!5ONNZFOR6B6d` z7jQ2#PCqXv)u|BOzs{RvNk)GmkQEQF?ciQX4}_Zr)Tn1@;9tM)_jmyjUF8{bR>`vK zxp*>5GtmO1>$#~}mjXMn$C;Ozz{FVPEl%kU;PUH9O65DMs-CXqf;FG7Wz>wv2)J0$l^5{g%iglV(~8ZtoSAc=>`Fn)N{{B9 zOmsoz-!c=lbAXC|+h0(a-61~4?GA9E+8C6}aZOe@PBURq(GuE2cAV66X+_!x!n&|G z;)N@3gbTeZBk4Jn1dDecP4*8rPEu3>9i?FJFefI9P^~mFvW-f(xL?9LWnyzZ^y)Gp z15S-0K?0W?eoyD#rCurq5#!Tv=R-kfd;Fm4o%sG=pW@Iclc)h;Vfsh+4a}zIk{x;0 z1Pj=t@C1YY`|`8?Q-^w&c3R+mO${T65+R&)ljX+3u=7Z{&qAysAMhW+W2n0p>j2$C z`-j2a!0^#o4M~N!^M&s|?DJ^+A)bTQ{R@_eNFo-pcK;3SQ&y z;--4_RCd#Rg?)eERjJ0_1$OYcg2?S1Ju~yjnR9QKy(yIC4f%feE0kIahLG38=wo$? zs(LL@Dpgs_0+2}g-M9UzJ1#z84}Fv~^!h&Hb71E8=U-~L3I;nk7Z$AW^=<;-?4ywW z38QL&CEYUM4|9PPsOPdSXNw)TYjGEMt`6~H38_Z8LUgL=)c<>D5^8e*}Z2$tFCou1np0H>4Gq-Jcg&SR!2-lkB`sP9N~1 zT%@NS#=~56*qvN)=K&Uds_Q91x(d2X4IAq}(b6B*bft~#%AjTN^wI8n45$ja^7#Xo zYfV8+4IW+c`c6{~h~g zN`K(7j!1?^=I$>?(X=rN*0djguix@T!Q_<02^B|&ADgK4`uD&b&1~;45$e7zR#Z(c zZu_+i02qqijvLe&?g4h(B^HjCW&+hQH|Usu;zT1$gE8^Z4$p8MWfE2&8N=Rc5S+7eC4skV``Cz6xG^AvAZt_pk)zEfLaQ* zugZ9$dG6P?#$1-Zx;|9Qi5S=qVEDd0pL^*57~-o53x;j4o%*Z$Q%$G8E#paa=6Jt(&EJ`}JPoMlD6QnWno2}4IU8` zO@#5#%LJu<>2H!|mK|rMgU)bpATBM8B9`n4-r*j>zy1+V$keA;lUa}5n;koizDZPUm97pOZ zJ0i<3f!e(&5#WA>6AQ2+zkMA9uhDd`oK@B6B??+vWOU(rWpxx^DyUy8TfvcLs?mEN z<6qxsM(pjj{TNdM_@cpfu~?DVMkF4DK4(gU5j_s@li?8&^K-@R1i64MiC(%GTDzKH zO=ajKvow0;WxEa4EK_~k#bfi=WA&>&RyXkXI{G0ptj&bl8!l%qVd#!P-vo6j zE$%leslvdCDnq%r`1sA+Zju)!ooSJ#xnYtK;o(l84U#}XlYLO&TWIQZw8z)`TINc( z!{?K@H0I}BL;&Kiylp*j!SCDPne$xzR066=@^Pc4v)uaT_49p{=Q=kHduPS<7`fQB zr#*I4(1NAG9^DSKj{vQkDzs0ex&Q^a-49(2<%SN8BPgo`Ib(}_e?v4>zYYTl^$VNd z_iDy(YY7)nqAnCD6F(JJ8qd(h{w{T*Zh7`5<*TGt!B>4#*U;-ot*E&960&FIw&1Mm z%;mf_x|k>cBs2oU)8C_SI-iv{*Be=>q!0s+U*aRN<24FgPrr4lp02o%{d49H$Aa7X z*Pe)}U6Sp<`s`z8@^q1*d{+EtH9b9Q<%SCXQ^Q8$T}dU6`=M9Fcu08oVt-;et9^dY z`wyo;GbYj66JS+WLl^}VK&aKtX2!%o$NUM9uL6HSL{?{x7dbOL0>;8m#U|&q3`Kp^ zr(1oL*OsIEy$`DI^)XC2t745*+@A&q?Dw>e6ku?0`Q?{kiXxEdOi_3>M+(N>%(RswUa@HEKtrgVS%oMT&tJ#>@NiS{%r+bQC2ro^; z!~=6Puw$(UdKV6J3`VJeZt@RlX-WfJZ+uaf2i`eDW5G)Xbn4zRd7K71bAw+BRD(?w zEO=7b<2+!xwW|c3UVRgvOe$VYfd~K!%U?(81MIY(r?#TT?WA4v z7EjBTg1ygM9h@&g^Db1xZmdCVGDj-5c>G);nypjlOZr@ev2P#aU4fdTBEr?dpY`#sA#s7f^5QBt;^Ts3 zJ1N{Rh${;K7Lkj;>Tm0!vD`Gv#%|AJX11j+VDO){g$#qW?eKuc-!hUg|N1#++A?gH znlR*NvvRx}puxMJtyzaNF`;UaKxN#<-Td@L54_NTCmd0FK_JE z#tS38uRs;7o&h}+z~Ay?sGc(T;9y!#eRBgHvFl%S?p$Oz#3lf`-0hhp4j&3z_y+n! zwCv0Dy!|?syImZ;0;aoFjrlEx`3XpI%JThku9(f{W(zon+=E8h1}Fz7a^wlsr4KoK z{Ul^D9E=+!LBqsH%`Og~{1e&wg6^#qNtP;ZKG&A*(egFUku$o_lyX$~A*lO4d*9Lf zGH5#vD*Q4ss83|7b&1em~S}%%F&xw)%qh|Zt zs0~zyPf_XCC)f>sttVWz4T!nj`>6=m+v;U0;?)0mi5-(SSH*8IbBo`g{-}eyN<{LJ45wN@#QLNym^AH@^0&Q^O_@dXbrgEm*;$VIesF1o-Lo)i z8;5MwkDOd8WpbhHm+|?BihLnse>o8OIL4FTMNKN=Fbq!E3s+^VfEm<_{!oBEih(4i z?SR0o9@l43ziK}cuUEU6f4S2ko z+{AH^yfz3|B-9zLD?xSmzVA!r9v9rtQf4qV%1bN0YSN?Wzh`BIUds?`R9Y)z$6K zxXXwF6o(2HM~L?_*^c)lZ<8`Zd4(i0!OhoDbh7 z15lY#5NNpI_M-CH`5!K^EIl za_=`iT02TcKt3`&#NA@ddhP_{%AJz)US{ES+4_H7yz>$tzru%Zhq^Ze+zM%`w-?e z66iyi${IM#H5dbcdlrb8N9C;G?1NTk0QoePK*VSipL5ba0yj8N2;i29gQA4N&sjmSMHDJxN(rYnFjchttg=QJ=jx~Y@4u9+!e(e>zIuD z_zL3u`@8ZXDwc>^+8{f9@_FxzdhtTm?#TwTf@SOkh&%*vFA=W-mUS|BcT+COY^Gam zuN-0w-RwTMiw z)zR>|=YZn_T2tm9`{W`ocr+aycv537W0`N{_wx?@mGAq@^L57V&bgi+<8OZ;-2MRg zDIAdj9r3T-FmP#yAXFg0?1Ag$ydbhXGJg9)SxYKVZ&+Tx-r>iPb^&P})95zQ;Dd4? zZjAVmKZue6cH>MN(*`o1#7ByJp&=pd&lAww4u)=Zl}U#7rmZ>d(Mur@9~|<1=oCRa zfR4EdpI|FN|1l}%vqgiB}&k?n7g@S79z=`^Gn|H4D zUxT#dm3>hk^=py6bJk@_7CSLLTaI5<0shjilSVnFhdJsjB)G2qi6D3B@M%!4Td_sIOTw_FpZx^20=1g1%qLhU`_YEgRB(?-g{)ltMODsN zUaTxyUaTq%pT2i}ifb{hXVR%KauQtuQnboA>wNis3MuQW?VAFQjp1<|u5004F#z9I z`R!7{K~)SEJQCZ`sO~)< zzaD4f{WF0-==PAhqT<8WtuW_q&sxIoqoT9A{UwQf*MdSb9Xjb?`(m7GKSLpiyWbKbp(kY`M%~mFZ~RaZ%n1 zh2lxK833E84zKS5QLJcWJ|N zOs9PEzr>_C4=7(D3`JhS0}K3AZuA|AqKr}ot0qw0p>`R#V1*~W0S@)lPC*ia`I*q) zSFLFKM~HXJoasJ%qZe_+Hqp2=D0RN_Q&PyI5BGEDl1)YCDW*A2U!SR??v?m1-8&>f zy2#F;k`QQ4DY&x|)zq|^ESK|rAHjPtZ*iqU8h`}ErPj2BIdWZ-$1w6>xzc05G_T?t9mQP^k@S*{?5u6tUGJh8uRj zjqaT4Y|P2jDEG#Sfue-9OKIVxQ|SlC%$NfJCviI+Ck)-$iKVT<0zlRxJeWD^2RST?rUS@5_^h$5-CgsLyp?Wb_HmE=y z-4VTF8a2D|2u6H^tqN%ht`dUv&FyMO+ZRXon8$ zKWX`$92bwQ&F3amH5c1fHf{9&NN-^3RPMYeZ@~jd7mb4F%M8=u67bh^80MQyN3fe7iI z;>`K{kV9{;u+u(b(5_bK*5-3>63mUn3qF+X zphq`z>U$;ITYC>)92V;V>JNy~N|K+y_x3{Hx329mzDxooEpFkWxQr|YvUDwImP_P9 zA$Ih;;V)v@h^5n~q^sw*kcAt0gQ^gUp>?|)Vt|~lw;nEwSPK^enf9WBNNk@V$JWN; zonS%ZUo~OiR<9sD0wQM!TM5cBXLTZ-x0b2-O62zu8%Ln8=Dr zb|aOEn|g%7Pm}9)l})U*2F`ulKNndl0U~NH_>;&N5`OV|dzU0hsYcL2?GmNr;UHP) zQG@oPw;HAU3LCF_DjsjJmK>(`)B>9SFUgzFxG#&CyDB6$$Lva{_? z;ii?f>JSD}FqKu45giw47yL6{65@>GJXKPderagJn$PN;xN zO9n((gjzsZQ1QGc5@|i|B{t zH(C}b?X>~Dg|4G}VC`gc?{h8QR=f4bsQ#J;R%CGq6$WD*(%aA7I%aBp*=G5* z2$!z5!g$L}93siAp?Zy^KUj^fC#={EI~NBU_KJzSaXsFs%r9^>5ydA7)ulYLq5#&9 zlS1?=tC(7GYE>ui1d?0S*eNc8>((3ba5+;8y@-m&X%b=9bEA@@rDDJTT6$E9=#VA6 z_;g6fXzgSq1vVpb|IoLT2|ATHydXzTuH7-k7Ix&YmmCSKkczzjm zVRibIbu#XR@s|B3!dzDw%b@<~&OQ54Am2B?{P_w$8$r&vOTJ*tae9;I0vzA;ydHsn zkPc!~hngwdXu%fG+Hi%Tns&3=PpI1q4HM-iCZfJjg47L!*f~ z{%2;QjJn{Fpr6F^$}Iyatdg*3oBx}36C}}jP~1uRt%hg;8^P5`GYzh%?Xl zIa3&1y9()>7wlwzKI^f9x==?4m6h%_v3LGl+4YPb@LXMRo*!}*L5;sKSkdFd0)}lk ziv}}FQlP*xX47v**|N1qI;T}DaEaTc1&2WS9z=HveRGKrQ@9U8c;FCe1cd%faUW@l zc!(SRR`}E;fsvj)(6Gb?7FKJ-(smLmY&THgy*$jxU6dbg>OUBs>R)&JG3eVbdd=%q zgc;o(aVI*bejuKyuSWo@pPRIwtGCDP=h2RzC-%RMyXrJpKlpIa`w2Z$P6FB_BDCMP zA3U;9>PQ~A*YodNk8M?n*l_ok`^_+@NH$dEG|#Fo$cgWn+wD8eb~H)5T-wfY-;zT4 z_NXGR-zNbGh6)VxikFFOVa;2&&$PrN>xTvqmtCUt+9JiO+Kf3=etDX_U{GS7{Ep0i zL3g-QH9Cdd-!;9_vM|^xy}@Ia-jB}KHXtxA zKt_i2K^gb`6gU*5-zGBq3jj`G{v_^^p}ZBI70jL(eB=8^qIXDiQxW zaz`%G`!*DZX2*m}%WQKv$**;d2-|O z)BR#KL(B&ehjh22wH3aoQd^gn9|J8#emFi&yW6j;s0R5j`vg#6I-ZB2<6iA7u;#UV z#HynZuS-w%;EkIet$r#3S&s9^>4_Kg&O<#oyHty^eb|Nti=#JW;AQ}V z3P?1mxAs5#J@@r~vfhrw06b3*IIZI2?F@HyO1(|5+F8_Zj6Oj9=$*jb$;fO%Fugka z^xx+Gp5e5K$?*@Y=lo@1y-Mj<0?3b?UU=5_)I41CBREMZhQi{>X0E5(S$t8=? z&&VEW#fb}FZtAF_Nm`<>((;b(lJG_f=}Nd`fk{6wN8;o!q)F80#EY+(+!oEfpU@M^ zG|O7D=@UlC5V<#1DYC!E1KJtFK;l#h&R`jZm8jJ>6yJ;EdiZbO$bD}*l_+H~+Llw2 zZ*w6{+gy^X*W@tw7uXf+ccdG_*=b^It$=1`lwR@6hC!I5Wo%bv9 zG!`N(T&=BBv@LS)o|EdGX#Ce8S&P`^{-~MCdBe>_2TSxK3j&rIt-q9s}`uN#@+n8*o(|b#O1_I_?pCKEi zR@PrnYk6J!cAM)rLZlHiOceInF*R6ea?TL3H1Tr!(&gS(!L4$KPNl`3x-VM-e!De= z)}j5DrR~xqxsiSGBEtXjikU@_f;iU_HRj0I1-I?ZQ#l%uEBT7u$|A2oIRiAqJE^@X zuzv5$6s8szw=dBn!lClBL8Id>iRX*ZP;p<58HOnJPESc0_%saA+4!3&sQ7GXWUVuW z7O{afEu3kBPQm z3xmfUV}*2wnjHh08ppV_YE0G>td8(EI;QJ9%!C4d%_m}@4z|cb6~bUM`aiY+ZrK_B z1S*hi4MHY1W6r)yUYLBBK2b`xi&OmL)J-VP*v?)ZG8|WIbC7lX?AGm@6fE*6+;Fe} z-jnMFQ@(tYJA)7I1VffBeel1$-~+MzS`kt}F}ez#8(_mY(_?6SO6f|rem}!Tv%AJl z@Uuv`hrVV?IZ{Hg{Y+-&Nbb`xY0tvfEDVMZ#spfHkU|gpW)>@w_P~tP0OaI<4kjJb zCB^M}u`(i*4st)?i}APV&WqpZkJVmLi)Ov@o1k>!BkK z>42_63OxcjRfl0JG{cZ?cr13ThMa_fOmkE&)hte4ld!%rWw`lr@pE%ag?=A9kGNnj zw<7NNQ0bA*sra}b*J0g2!R{a1#UgM=&-fIAp8d;wx)|@WWzFH+EHgw+&@kzMIf5=f zoUeyLUNEqq*U_-@oFO6EYGjXgJUG%C@_)ZSiD00ZSZJmvP$S!xTNK_r7;z-5OpucH zo+SNi_*88#S>q%5dR;EEq(dZduTvyw?~_Q@E?WS|19FpGyAoSOrC0OH1)CWz0AOvD22^iOb9VQ^K{eJ zXOzufbR!>PZEv6?odc$G(pk4${=3kSU+sY!sLX*d~ z-F@TW;!pc;1{7gk`o1T|nOV=|-@li)&Ir134fhw2N(-H)F4=08xEt{ob&J;zL^5FL=TAa?>+( zM=};z981(+T_5(td!=KPT1;F*r;94fYPc91Y&@7Izxghzu^g0uXby9Mg2;d4CmmCI z>)-FzY55kEwyEy}=yqW7k&U0DBhut6QSFJR{i_AMx*G0YPlL4_B}+k%1P7@p2(T)R>L4tTkKGS@-z1{mrCgyhe_^g}+z zeTv5#Ajh7Xd;cdz}?#x~nE#&~SC|0Vh)2e5ntJUa>) zzTCi+*$N~Xt7U9NBY28SjVWKIL+SeU5g8=kzrH6IY!C;pF&qq@2(>deX=150c=P&a z68t!Lu7VOs#1R+$zH`?chULphe6?|%uF3=S2(PN?uk^>MU4J97a{szBoH<^G!A`F? zyo2~n?_P4z_@>zXs#H(Y``rP?uFveo*vGOHRdT7Q0kd8 z&EbblsQ?jPP|n=Qs{<5nd;uNPE(0*_3}(6tg48ZU-kIos+3qLojKVfsq+p=~MEN}j z7;G7Lt*foIYm6WsVc?Uw@jZK}`JRl&)<>_gXXil+$eWFmXz?|f<}9zleyW1YIOV%8 zQGL3nY#e?(hf};LJW>9t$PS(qlMuu_d#6-p|)Ww(2RRSr>UsEoM)Z z=cklvxJ#bbZA-R{lMEz;gVL+}_jbgGLXfuVQIUmg6qX*trSg;S<1V9tusAp`-_!qj zI_y|lBF+#>4B$s|oa|$>BA=Bam^3ChJ?*sx6!S0Nd|w-b>$%wCtMbBYBT8^~;6iVT z`BDmTU|r|U+DM#%H6jZ4VD%8HYAR<&aDfg62lhuPg_TW zY>Ur|rC;Yc>ZwRe&yka%amkol^b}!EZq@*iFUJ`r_Xwn9a{9RsQ*~c`y*sT1L}dg@ z|AKaWu~GfKjx%41OVl+QwwfK!U;-TE?Pv&JHjlE7)#FwY@u*?nbXSFPyr=Vf0VUA~ z+LEu*40(PWH&uL!H9+fusj&KFk!y5qv{`PuU){v-lb`Lx!{ue8F@aofelAU>jRl^7 zk*l1V(}@DvArJp~7?dgZj0iSBe)W*77&5&Ngn;V?i1FR`=Y&6B24CMIO_ZGNmE*iN z-75&&8uHVf4P_OaHHfj|3ds@4H7e;i9l?dvTP2^Nw(T6d){A ztLc{7(xSW5Uj4fH)N(ninqXTSFVfR`;Fh`OfJz%! z=p*PPmjPm`jq}Hs`taiW@F9FIezB)fsngjI{4pk}yzwq}-QXkqd=l`2J2buJRSCZ#7lO@i}=c7XyMBF*vZ(Afq)@=fA}V791A z)6*Q2=pjr~b6nvPwD$p@aeO@;Qy^PSh3RZ(qb|gH$^g-a<^+kGtius+L!iTcf6gac zU`ttcO;1~0{sAT4*t3urZ!og3Z2+2LmU}x+{mV`n77?-35f%|HC_j6pA|u|qbB&{O z?MGh;oK)&O;w#d_DbZo+G>p|SiSrD{mP8S{AR-Y)eTV27b5;#XE)k~7pq$f}_cz@o zEAE6~x~7lXolEzchXa4w0-9H3A4z)>v>V$v5iOz9Z>w-yYt!32XA&XmOWn}};oFPr zy@&)V5ple{bHOid6V$f;c9c|5MM^v1syO;D4g%}`iTu}upH?iSCNvQ2wd-_s z3et4U<2^+sW(~4wSzD!VC7{zedM_8%N>kJwP0NO)b@NKRIAEexPG!~!4;1Od4aUIL z0)}iv_y>D-9f4fsThI$kX}93>GP?PF{_xzl1W)(&%VCxpY6Q$Zyj=)K)m~9t&`!FZ z>V|1sRx)Zt%+Fw<09WpvcK!bzdlj}r%t^xvA;AV*p?Zp;{R9K=&?E{%N@tiHkZSlC z6XV&IU$iiOde#Dl)v(L-EIK`FfWJh-7I;mz;0i14F#SpG$K3GS^l8$jC zs|u_Xej53y{hmUau^&_wx@0(?(P#{ZW>AVUX7}#Xvy||OeA!+#T6E;{)4c!R=Agd> zWJpO+@!*5fV1*+cuc!4MHsLx{rJ*EhP~dRk>0Xs?GtqrE*4Rq67KTG1Vm(=LC2e{z zY$%7}V-fs01N%*rU;(0k=45g|Zch(F4ee_v9dp0^Z2OHX5Ac><`&{BVODFMp5CSQ;>p zI^i+F{OuNOKa8Uuku9L$BYLev$jB*${&Cin#5e+yIUfioB-(8=mw#Y~f+$4i|9TQCL@A=v4QowH~^#qW#^_rm^VJP+xZ zXIV~J8J6*8#O)hsn`Lq_xoWt17*8Dg;?K8HX*H?GiBeQ8oYYrMuv4uPAf+y14iEAL zJVW)?|l~> zoI9kC^}rp5v~ZmK+4r`+Mc+VCuMi5UL$W`pp%Z_gJ&ifi3I4w4M_T3wjo?|nG#bT{ zuWu$jIkedXG(u>&n17Pl>oAA*?r)d``DL#MJX}@!#}E`AEt9!^8AGM6jXTT=Ee*4k zuT5txF@ODl4~EiYXDZY~^f$$y$%*SKD6|_#(9kn|sjv3q3wYxfycv{#k36DQ_;3<|})p zIHby?sHjc^!C6mYEkz$5dD|zefTPhJ_cn&CmXl-@R|6Jg3pa8zgHvr)bIM)1caAe0 zUY(ZJ4;%gRTwv?fWQEP1XtHWkmh9%DzNi5iBa`B}K!E}sE!;BU+be{a$ zvmqAHTOt*A(28Ych{R;u0bXfjsq$lkJ{tNXx}WqlXo!3i&e;nFIK+h_|k9=`3vrZgnwysB%cx1+jiW8n&t0G9{P0jk8C?Bcr{AY3q`zs+|PZv)= z*W>2V?7*`coKawdazD(ycSGOexzfP(PW1{T4f`t+V<{(Xo?dVtq}p$R@sI-p0VU%k7l0jl*jLWOAxh}DZmCKdyes(BoW*f0fbvSJf* z=H(GvlwN9|Y?^VpH90s~WGgI>63ioBJu5awAm<$(S()~tXEySt+n2pwHo~vP@}CBi zzeU(FS%{roF<77tmPjD6P8nHjZu5P^SwB&WgC71x8)5(pp7t%t$X}q#Y(XGr!YyE^ zyH=B(jm;USx!AMa;q>aFAP;4J*b**E#`e26N5F|0*6;bT7mhaaNcJ9d*J zdRuyB;svkQ=SANe%e2fJ*qL+D{KU|r(-g&N#zto0gQ>}b!3sH4B4GOe-Aj+8N|yJ? zxapb3a(tci-kMDdPh~N&7t`FF5f`Yp6Y(}~yZggVyAI#!RJ z!_eAoHNZqbkUaqYE-g4de0m!di=oXN_lLEJl`Id@u~z_8HqLg7T^bdH<+P-zb2c3bCK?exCl z3n~}!UnWgw_1jy*a>zx%#3^EQIVp=VETmCvO;bz~jzoZ*cG-e9#I@2jwa^D9cdV(mjK+D+RE zB?kr9f9`pktdupb*`M>bz^lWH-p0*`$BiH-^sKBKMfMGIR=44YbT^~%tR44wPc}8* zj~2T&ws*(Luhcj_47v;_rXZp0Nc8rNmIyhLf&%Er)9R`&15dH=?z_@8|f zZ1wja%)H{-i~_IR>kD`|iHNJCqZyz_V4DM1FZL=`n?m&I>4zK(tAn@YN4!3@Tm-TB zBpnTJ2FE^Y=M?X1xk3nyxLO)b$i5Mdu{@ZTmJW#6{-tI2KZ%f6Ju*fOFx9A<`4dJP`ho%>6z{I8>a#%t=} zx9|Coh#*Jzjnqp=R<;q0u2MWN(;#{N<@HuR(P}4TT!2Ey=udwacwxA9lx*?B5}}(7 zb0CTlys8i^81`rLSFyHQG513%{cZ&I3H9EwNqS-5kL*+Ih?6R}Sskl#oVVaYZwK>w ze_fd*bPfv(^LM`Zb7dXh5C88ibgH3p*EL( zA=K_LAD>6oFnK)8Ym4>HU`n!)`S!eg2UTI$@9M!bae$2+4lXt3xnfpL!*kvJ9f}`x z^HOy$KoN{Ha5@sl;95e{S?Kc<5QL^5MblyVaybY~` z$8{Y7LrlEloU}I6-3WnLbjvjZ?G9^=1TlO@#%ULgk5oY|twGtoz4f3?(D<_HRp)iR zw~SXuiOTS&={gF2t_=+vD7K{lNs1|OCsJpIDpmgdfaOOM{P|BMTN)`t;f!NPI?p=P zxULV_Ql1<;Ge>RxBQ)5={a1z3^3vIi>&{1S{8ae!*I)c*G82r5d*4-p1y!jU9~;*| z$MJ?RM8e2tGVY4a=aaL&xMZTICq&|NicH^ur~{3_n(x{VYpSsMfubb44^@;NCdkUa~EcW*Jj>n_Wg+R>Zn9;%PSlvKMyoQmngvCa6FJUGC%|B zItNo;csK+FbTh#P8HSBfyl{4iPrg8kuAUxMzJ7Q`D@D3&B5aU@iwgy0TR1p5ZC2R_ z-$AWT=V>rO+>K}=vm%DUg)C0slL-sMWUA)D+=$OAeduVv{Ql-0>MceG z*9DM+#|+9J6aosD=Xzh&Ue7T7E}*>`jm?4ovjp6anxd|rq|LShCf==4)h8Nxm)HMi zjn{Pg<3Z)4vfnUo3?{+a5W$^Bo#(V(Pj{`MTq>+h12;2yJ-^(&V%fmFXk4R@B3+v+ z_&8U?$ba_#75C=hl{A(mdj8}z_2?QCoCQBA@~l_Rbya-vmA?diqt_fJDP@)-b>!e9UMub{l- zamKlQ2)&gU*^^@;QNy7UC*N&8R1V|ubpX_!V!=KhUByo5H`Q=7r21_EjO^m0dhWmW zd*Sq^arkhu$&2$Jt@UvwL7hRkv9JWq%D^?#k`{}TQ{{Iz9qmj-clO*PMJucb^meYrLv&|^Wn%%%BcH;BM1}Jvz=OaF!-G2{ z;SG9E$&J#xvrh%|+qt;1?S?z_uD?lmv8J`$3XGU31lJG0vPDy0vK$ay1C)&jwwQO# zR3*(~v?$lFyv>;Yc>ypXKb$8HXZuW8N4tb9fazgob^qEYgHJvUQG5uOSB`*OFMczv z(n3I29qUl$JEi3A=Ju3WG6!dU7(=nn+Ja6IV+KDhRa>*?9+9H6TghYK9iuHV$^m8? zgg0x)#Dp>a#%D)l5!J=gi#f;WW0_@+u2+mQ+53e= z*aZ&F&B3mKY-|M+*t#W zRiaT+mW}_|H^FgK_EnzxZ7WB{uZ{xCjB|3LTZN2ee%ZQ(Ae-eqDq|>OX=7A7Hd(E1 zvrsD)Rsml;%Ga^wvtwGYDE2B34mrL4aPI_XM~KLn(#GD0{l3#nS8J*_f^8Cx^7VO64Vyf^}E(n-Mr#lf@*+QGczb?3& z?-U?&4gtJNhzO-(J{6{hOsXJ>9P%4rJ-(0fWH&s!5l z@eX&f_wvAoDTSO_4-=CALd8LA2Ex|vab@TqzP|k5t>mBgv5^%)DedEcn%ni=BUXGb zJpCcL#l?3gq}$z0H?F-BMqP+~EsCkISJKCnEUc}^KOdEI4UASK;zCk7xppeQDImV1 zD;2Mr9$VyZPc}}+f}BVba9aMA-#_*$&CgCS@6BZTe}ZcY$ckJo%rH`k{7VRq0`9V`@Uu!dRw3HPvvn)U zXZem~TaU#)ubb0xHVf`2ka+6i6$_+jk5*J3VvbYP$n(-TQDM=J8ADLn9WTe9a2Pj8 z|H8rJ@m&5|u_a$^dcp;+=&(Y`g>{zw3;R9f_u@LFxa$ki_O`vtUr{YkU-+gm*i zpFZJ;YdayiJ-*$DyMo|~f_ZxbeV^9r9%Rkh{?t@$p`F-#$9cC;7dmmz^FQ8EB%|I- zD3;yrb6Wf>-_noagKhDXy!irb_0XA9GC#K8wF=}n)u~9-E+x@$Gg>>cg=1`^n+rHU z7#Vhe2l2-R+or4=mKnY1wZG2GDZKI%?C=NM2y+S-978J?Q>eDYvmckAzGO@kqOrIh z$Fp*jm9OqyrgBBs#<;9q?&Q=Vu2Ir2Za+wC*vBa{lD2XOE1Ijp;pjTRv6VE}WOQn7 zG4+NmpmuX6%8qky4ONodDeDWqgp5zdxuZ#Ew))JiSmJY-w1f}x z-cSDfSZqbD19ze8=G{~0%==%|tm71J>5o14Zh5+?BQ9nOK;_76&1QGOI0}z9;lANK z#buqKO`V*489O2NtV@i-o6G9Iuvtv~E#k#vcBqT^9O6ekCB)I1rJArn1T%%Ka$gwk zu3zm!7ekX{JbF*|w@O<=))F>qK6#Qb_opmd6;JdGNbF2ZOP=(@3}cUw6Sc8~)@+P% z2D@$?bU|N#R+PpX3@*S)e)=)|`Shc4b8^u?vg*G+IQM#J%%C7hF@)U;RgR6N<%^YGO@l@dC1^MORdkh;CQ<&26^zB8ayGRevJfqe<;a zZ5-AojI&yB$?i_a(*%J*q4Ya@#nVgjOGdHc^8RjX4w^g4vtqQH{(e1XVE!4iTV(W5 zOaqoezUQmoeht&&ZcWt8^G`f2P1%YXy8|$Y|J}a7(QTr`kl0!;hz|GUzf+IZ-JALE zeQozaKPh-==ZiPa?4e)sp{$h|5wxkRUbMEg-XLBFTuVjP_QTDeKmQq!+8N1s1393t zxt!&xKZaxmJU)^ivg$D+s^%o#cpvM;d4@5vC$>kmf5e)im-wzEJK7lSMl7l5i?jIt z&MU(|?TAWJ&eR1c15blLRXd>XxQ4oVknJ`9myN=AwX?jWN3hOXR)c`IcUAKAO1N!J zOhl;f01yULQuh(;*&p%0QNzU!sv)UC-Mu6cJac)J2#mQ>E@~tN)59{z(Qxm=4i4GG^LZalT zqfnJ!W*clHP9?YEM5@J#u`V|lXJ1smx!=Zdc{-bwfMyU9xt}g8yoDsPCYt$JbFagR zHsxCiNp?QYxTE5(FVK8qDDQT{oGyjj2bbvVEh{CM>a6wzM59Qhvo`X`-8IQ&#x^zhNi}JG+sjvuJ5;fy(+X8ApubE)ep z#$^Dp&sJvN)4x|~6pQig5>4DAjm^%)Zob1&aLjUCpxAHo!?3)|SJK!?+=8OS7TF_E zoSj@5PQlyyCMImNEX#fp_-@nHkMiE#)+W0~Rs%#r%R@J~>oBK{GtetPS_bPk)@SHG zp)QtkP=8pH*H-@LTc_VCK;v|)SPLe{&Z;txxd3E;>xIH*)M|fj~Lrs>jkOp4*xnCwT)2dK_J|i1rC;X z#g`VlLR0q(=CO(m!LvE0s2n!TnE)UI{Kr+$1Imj;#%|c>sI1sru z)dYPDX?bkq+chj9a)Ie^hF5krB8N$|dPB(D9|ZYm4c}Jx&=DCO(Z0M#ZVD%0`W3(| z)3eZ^+3O2qPS`*`UNTxLTr1d~*gObFVZ0LO9AiD#;JHfu>)O;PlT zgm?Qs@Xem-sz!4h2a)JXTZV7BEm_JT%oW|$IG(efyPntJ%#=USj(^SG4}snYUuLAL z`b$LqVX2So_B`)ABJ(T=C6dw@KQ3?1u|Le>)SnM`v6N`f!%ZqljStc_4PqqY;S>UhtDbRE;Rl+eJm{ zIzfMsibuGnL&zd02;R$>;>z!Pk%XvG$T;J&Qw38N$16L~Us&p29%|l_ZkEGjr=k%p z%~B0UKp3v;!7oPcceim!kVal-XV&Xqlu{5r8YNbY^q(|ds@dxjRvSPn0`{5Ix#(58AsRTBQUafS5li%MSj9WY5jmumZ_Ym zbp6*e%!zi8EWYgVlY+8ziDz=S#XZ~XdHinu26O1Oi0{=3=A5shN59ltpSRVK>;_Mz zj1%Ygpv zPs;zqMjo%gt@jaiA(kESy|}ujDMTz(JN)Q1MvoovmC|;7|0t=`=ZWge|eaH z+=W3ZgsELcQ9?*)H7 zick}6W|$LDr<7H>6Au_?hKGl*xm2V1{=iw{CX~Xy z^AVvKLN~l;uX|vcbw&C{SD^#Iz|G9NDeo$@WUS)XB1$nkT#+Gxm-Cx!+gWuD4ZM-{ zrx+)`2kbQC3`a(*N8%iZNyFd?R_78wwRUv~#hhX1f#NZJLfT3sh@|WRrz-J+wEz>J z<}bjN!xrL_?WAWlpgHd!a{i;$nj=>EC-x@anCHsu$kiU7g6i@qiDg7)d2;kga9`$g z5Sb79t#)XdZ^LeRZnW)@#1!!%#HFFa~H;`kMEtG@FnT?^m5Y$v}TipJw;E;79c zb6hL^(yJ=`t#rGFYKmNm2&FG7&?TTc4`~LXRkvCCxRt42hX&9psS4*~Q{m_GFIVXB2>xb#sDwRlom43{d5o|ZcsGE2&dp5fS3+g1P3zQc_Qps5t`rqALxft6e;7kCoBOUf5KmN4d;h+*>#>nwbgpuGz>unD z7QE&GX`*Ce*q?vp{@1jsLmx?ydU*gKQ+%^X7IY$w^|lghfiqM94|&aB0f%APMmty=ePQ(a0C z;i|`l^4z=|$oZOnu@tb*t+u2UuyCzt)M;eA2?(O}${dr2z?!t$SJpuhUOh7*m`!{al0k4R#dDTCg^Fw3%KLTM97& zeJ%R{=lSMA$Qn6f;p*MA!?d$KWHx?OELxw@16)>o>*Qt1T85%v^X1Rkd=++5>98a; zu{F0LwtWs*2@}&v&o8~uxFa?YnH1Fb<_dlGEtH8pNqf#93n!J(y&tS7wn6=XHabb> zlFSD(w?}$PqoToj;4j8|Cwu!#K-7#UE6{c4K6doc~hwcs}^ziYzo{>zx@^L(fX`HVd8!4Xq{?%3!@xV+s{iT}Ej! zF}}}ohu(ue>;rkzi)fg^P;LE6Mjw?Tm;Xkfvb~jo{~1)7Cnj_K^(ECJXs!7TkDn6H z3yVL*gwA>*El6TsY*&u{ef5uGZUIpLOj|tt=++HIQXkQ`I=hkS+kBu+R@3cmw*{zn zCt&p<+|E5f=v$|lNuvN{5C0lAdQ5#)4u_ST{v+(B6*0+=wn_^~YhFkk^J2f`c7>CM ze7MZ2KPB;Y{ z<%OR@B(`a)O#gakW}v-|y$=g-VLnlCfI~R_#j?|8yv;<3tXXK+>Od13!Kg=R?8rrL z|B|H@Z0?dDk%v}6%;z-;r6xknq$M}=!qkr}8H11w7~}96ickvU(AZK0EJIC)jBq$% zr5~KTeY&=o_ZM(DPu`1)k+JqkI8Axq<`_VWd~x!P+de-hN7zbAM)4csgz&$(UR8QB zi~kgv=_JEfsgSK_fI{{`ga z!cgb-kk1eHPglom_N^>#tmu5sCo0{)U{8xf6!rEVkiQF1i$W{BG_8oc%F)mp=RH6B z6LIiCVN|ko*00D~JmAHj9WQm6+&RbwLy4SxX@|&NN+i)cN)&DzGx8bzoL+@|~aJ$~PAQE5z;gCtJo0(9uoMIPQGA6$k; z27Q|UMi;9tB3y@@q5fD5RrtF2-QuN3cn)>*#Dyb9z3K|879~Le;FV{eHBo6MzU8;K zv4E~_gT0m3g`e|d9aGR(u2OWw;rAJaT*th4`7zZ>Lu4JzeDDmn8`{Qw4fiq8-*Td& z^V#-K^JKSt>D@lxao5=QRkpmv!vL5eiI3Q7QTh7cAzb=EIr|oW?Y}tsh-?(=NRx_W zp!zWF{_5*XU;D042+B!%78R?T)3DgFp+Oc|zF_IG|!bg`L?JahXMq_0Sx z(&$$c?>T+~vft@xdJIK(@pA1#8qr`kw&7*u1VkE+upeueTVmGpG4E(n4(>JP-raz2 zA0!NlvSS&;J~fu?1LV|e0F3A>FGFGw{RJNMHin1W;NUcyBGEEJ}eR{uF661O}QUfc@Bl<`ZlLjkv>R^fI^bs*J0Z0(*x# zFRBMMZXAV>855#qBxMy9l=VJW=pwBeV-OuYEzcfjv#-eVu8~lGuHUupUJCvVJNIEQ^~^H?`s8%qQ6vSlEY5 z_xVJuu6Z^@K%y`XToG1(O$ZIv`m36+&wNZ&WU))#DaS3Io^k@v>+^+@XPQe4;6jft zOt4F&Q9F8Icv{amlsMbB>}wjDyFAZfX6UN!0DcTj5Vb@7e_z%1>$WmaKboft#!A|- ziIYKV^~2}2e|;55`^(8D6MUYOG5xg7`^rtPwLK)Gs9Voj_Q1g`3vW{FdCNGS$e1XPYAMx4PyCz+&jj(zdV7Kd|8QBF9 zX2# zBn3X7zth>Vl35)*+7-J17b)OB+by_nih6b1>+)MtD}89bcl!UC7R-N++bmb~>f)zJ zM{lpaUG6FFCPPKySsk;kJGp2Q4@t#)}%epyr0A+9h^w7%X;|?Ua1~t# zy0*z(e-5q*qZoTUP*J=O6D`qMCKgqrT!WLECIK9e+qeZQK7sbgQgByI{yet-Y0w~j9gd#RiKtrVHfRXv3N ipG@liKLbcy(KuFVa`XH?>yDpDG%_=?Fr*uJ#QYz9f^)6_ literal 0 HcmV?d00001 diff --git a/img/streampow2.png b/img/streampow2.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea4e4124904f66f5c9832faf2ad6c2ffc6462e0 GIT binary patch literal 60857 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 Date: Sun, 18 Sep 2022 22:10:58 -0400 Subject: [PATCH 13/36] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index efbce47..c2ad4b4 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. * Roughly optimize the block sizes of each of your implementations for minimal run time on your GPU. * (You shouldn't compare unoptimized implementations to each other!) + ![](img/blocksize.png) * Compare all of these GPU Scan implementations (Naive, Work-Efficient, and Thrust) to the serial CPU version of Scan. Plot a graph of the comparison From b3530730e19b6f07f1a0512d6e693163290fa369 Mon Sep 17 00:00:00 2001 From: Di Lu Date: Sun, 18 Sep 2022 22:16:37 -0400 Subject: [PATCH 14/36] add better pic --- img/blocksize.png | Bin 34973 -> 34973 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/img/blocksize.png b/img/blocksize.png index 24e2f03ba6d412a3a1a7e99a30dcdacdc7a8febf..db7cf40b8ab4d1f3a6bd3ec13b95daebb2ba8ef4 100644 GIT binary patch literal 34973 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 F{{%AeL2v*7 delta 28009 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 z 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 From 81a585cd0a34b2484b4880c1584ff396f7e65b13 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:19:32 -0400 Subject: [PATCH 15/36] Update README.md --- README.md | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c2ad4b4..16fda7e 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,75 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. #### GPU: Work-Efficient GPU Scan #### GPU: Thrust Scan #### GPU: Stream Compaction +## Output Example +``` +**************** +** SCAN TESTS ** +**************** + [ 18 19 38 39 17 17 11 34 0 18 47 37 37 ... 2 0 ] +==== cpu scan, power-of-two ==== + elapsed time: 2.1343ms (std::chrono Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679509 25679511 ] +==== cpu scan, non-power-of-two ==== + elapsed time: 2.0678ms (std::chrono Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679459 25679462 ] + passed +==== naive scan, power-of-two ==== +blockSize: 256 + elapsed time: 1.40179ms (CUDA Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679509 25679511 ] + passed +==== naive scan, non-power-of-two ==== +blockSize: 256 + elapsed time: 1.40688ms (CUDA Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 0 0 ] + passed +==== work-efficient scan, power-of-two ==== +blockSize: 256 + elapsed time: 1.63549ms (CUDA Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679509 25679511 ] + passed +==== work-efficient scan, non-power-of-two ==== +blockSize: 256 + elapsed time: 1.6831ms (CUDA Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679459 25679462 ] + passed +==== thrust scan, power-of-two ==== + elapsed time: 0.404608ms (CUDA Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679509 25679511 ] + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 0.3792ms (CUDA Measured) + [ 0 18 37 75 114 131 148 159 193 193 211 258 295 ... 25679459 25679462 ] + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 0 1 2 3 1 1 1 2 0 0 3 3 3 ... 0 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 2.3575ms (std::chrono Measured) + [ 1 2 3 1 1 1 2 3 3 3 1 2 2 ... 1 1 ] + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 2.4421ms (std::chrono Measured) + [ 1 2 3 1 1 1 2 3 3 3 1 2 2 ... 1 1 ] + passed +==== cpu compact with scan ==== + elapsed time: 6.5362ms (std::chrono Measured) + [ 1 2 3 1 1 1 2 3 3 3 1 2 2 ... 1 1 ] + passed +==== work-efficient compact, power-of-two ==== +blockSize: 256 + elapsed time: 3.06957ms (CUDA Measured) + [ 1 2 3 1 1 1 2 3 3 3 1 2 2 ... 1 1 ] + passed +==== work-efficient compact, non-power-of-two ==== +blockSize: 256 + elapsed time: 2.88675ms (CUDA Measured) + [ 1 2 3 1 1 1 2 3 3 3 1 2 2 ... 1 1 ] + passed +``` ## Performance Analysis @@ -50,8 +119,7 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. * Paste the output of the test program into a triple-backtick block in your README. - * If you add your own tests (e.g. for radix sort or to test additional corner - cases), be sure to mention it explicitly. + * See above These questions should help guide you in performance analysis on future assignments, as well. From bbbd84a390430531da6d4cab175da61c472e140d Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:19:57 -0400 Subject: [PATCH 16/36] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 16fda7e..7b3d933 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. #### GPU: Thrust Scan #### GPU: Stream Compaction ## Output Example + +The following is an example of the output for N = 2^20 ``` **************** ** SCAN TESTS ** From a66f4c38616d338609c8037c6788261cdae15990 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:21:02 -0400 Subject: [PATCH 17/36] Update README.md --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7b3d933..9949deb 100644 --- a/README.md +++ b/README.md @@ -105,11 +105,10 @@ blockSize: 256 * Compare all of these GPU Scan implementations (Naive, Work-Efficient, and Thrust) to the serial CPU version of Scan. Plot a graph of the comparison (with array size on the independent axis). - * We wrapped up both CPU and GPU timing functions as a performance timer class for you to conveniently measure the time cost. - * We use `std::chrono` to provide CPU high-precision timing and CUDA event to measure the CUDA performance. - * For CPU, put your CPU code between `timer().startCpuTimer()` and `timer().endCpuTimer()`. - * For GPU, put your CUDA code between `timer().startGpuTimer()` and `timer().endGpuTimer()`. Be sure **not** to include any *initial/final* memory operations (`cudaMalloc`, `cudaMemcpy`) in your performance measurements, for comparability. - * Don't mix up `CpuTimer` and `GpuTimer`. + ![](img/scanpow2.png) + ![](img/scannotpow2.png) + ![](img/streampow2.png) + ![](img/streamnotpow2.png) * To guess at what might be happening inside the Thrust implementation (e.g. allocation, memory copy), take a look at the Nsight timeline for its execution. Your analysis here doesn't have to be detailed, since you aren't From 18f2fe52d60fbd8ea145dc188fe5648edc7ed8fd Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:25:19 -0400 Subject: [PATCH 18/36] Update README.md --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9949deb..6471d29 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,24 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. ## Implementation and Results #### CPU: Sequential Scan + +On the CPU, a sequential scan consists of a simple for-loop that loops through all the elements +of input array A, and outputs to B[i] = B[i - 1] + A[i - 1] + #### CPU: Stream Compact without Scan + +Stream compact without Scan will simply keep a counter of the current write-index in the output array B, +while iterating through input array A. If A[i] != 0, then B[output_index] = A[i]. + #### CPU: Stream Compact with Scan + +Stream compact with scan is a sequential implementation of the stream compact algorithm for GPU, except on the CPU +and thus none of the advantages of parallel programming will come into play. See the following section for GPU stream +compaction algorithms. + #### GPU: Naive GPU Scan + +A naive GPU scan #### GPU: Work-Efficient GPU Scan #### GPU: Thrust Scan #### GPU: Stream Compaction @@ -125,8 +140,6 @@ blockSize: 256 These questions should help guide you in performance analysis on future assignments, as well. -## Extra Credit? - From 01e72ff22df4694a962bd76a3e0f22f207d7a0fa Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:30:23 -0400 Subject: [PATCH 19/36] Update README.md --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6471d29..b5f8042 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,20 @@ compaction algorithms. #### GPU: Naive GPU Scan -A naive GPU scan +A naive GPU scan will take an input array (or read array), and add each sequential pair of elements together +into an output array (or write array), ping-pong the arrays (read is now write and vice versa), increment the +additive offset, and then repeat the operation until there is only one output (the final sum). Here, each addition +can be done in a parallel manner since we will never write to the same array slot. The only caveat is that you must +wait for each level to finish its read/write before moving on to the next level. + #### GPU: Work-Efficient GPU Scan + +A work efficient GPU scan uses only one array and can do the operation in place. This array is treated as a balanced +binary tree which can retain some of the original values to help us recover the entire scan array. + +1. Up Sweep +2. Down Sweep + #### GPU: Thrust Scan #### GPU: Stream Compaction ## Output Example From 65d05030029ba95320a3e10376c9374bd279facb Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:35:11 -0400 Subject: [PATCH 20/36] Update README.md --- README.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b5f8042..7e065a5 100644 --- a/README.md +++ b/README.md @@ -42,14 +42,27 @@ wait for each level to finish its read/write before moving on to the next level. #### GPU: Work-Efficient GPU Scan -A work efficient GPU scan uses only one array and can do the operation in place. This array is treated as a balanced -binary tree which can retain some of the original values to help us recover the entire scan array. +A work efficient exclusive GPU scan uses only one array and can do the operation in place. This array is treated as a balanced +binary tree, where the left child always retains its original value from the read array. This will allow us to +retain some of the original values to help us recover the entire scan array after we do a down sweep. 1. Up Sweep -2. Down Sweep +For each consecutive pair of integers, add them and store the sum in the right-side partner's slot, overwriting it. +Do this until you only have two partners to add with one resulting sum, which will be written to the last array slot. +Now your array should have alternating "original" and "new" values. + +3. Down Sweep +Set the last integer in the array to 0. This is your root node. Starting from the root, set a node's left child to itself, +and sets its right child's value to a sum of itself and the previous left child's value (i.e, the sibling node's value). #### GPU: Thrust Scan + +This scan is fairly simple to implement, as thrust::scan is a built-in function in the Thrust library. + #### GPU: Stream Compaction + +On the GPU, stream compaction consists of the following steps: +1. ## Output Example The following is an example of the output for N = 2^20 From 3c0f51515bfb2ba55d3bf2b497c359d24f8c2c11 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:38:40 -0400 Subject: [PATCH 21/36] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7e065a5..3b80d0e 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,11 @@ This scan is fairly simple to implement, as thrust::scan is a built-in function #### GPU: Stream Compaction On the GPU, stream compaction consists of the following steps: -1. + +1. For each element in A, compute a "boolean" array such that: b[i] = 1 if A[i] meets the criteria, and b[i] = 0 otherwise. +2. Run exclusive scan on the boolean array b to produce array s. +3. The final output array is computed such that: if b[i] = 1, then write A[i] to index s[i] in the output array. + ## Output Example The following is an example of the output for N = 2^20 From 1d14bdda48a99c70e5b88c6c5127a2af7e8e1557 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:39:47 -0400 Subject: [PATCH 22/36] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3b80d0e..245313f 100644 --- a/README.md +++ b/README.md @@ -149,8 +149,10 @@ blockSize: 256 * Compare all of these GPU Scan implementations (Naive, Work-Efficient, and Thrust) to the serial CPU version of Scan. Plot a graph of the comparison (with array size on the independent axis). +#### Scan ![](img/scanpow2.png) ![](img/scannotpow2.png) +#### Stream Compaction ![](img/streampow2.png) ![](img/streamnotpow2.png) * To guess at what might be happening inside the Thrust implementation (e.g. From c72c300b237f36252991fc4bee05f317f65b1c2a Mon Sep 17 00:00:00 2001 From: Di Lu Date: Sun, 18 Sep 2022 22:44:30 -0400 Subject: [PATCH 23/36] add table images --- img/blocksizeTable.png | Bin 0 -> 43566 bytes img/scanTable.png | Bin 0 -> 43571 bytes img/streamTable.png | Bin 0 -> 38109 bytes src/main.cpp | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 img/blocksizeTable.png create mode 100644 img/scanTable.png create mode 100644 img/streamTable.png diff --git a/img/blocksizeTable.png b/img/blocksizeTable.png new file mode 100644 index 0000000000000000000000000000000000000000..951f8f856dead92026ced64278581970ba4b369b GIT binary patch literal 43566 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 Czs(~6 literal 0 HcmV?d00001 diff --git a/img/scanTable.png b/img/scanTable.png new file mode 100644 index 0000000000000000000000000000000000000000..6616e022687b225c3bb2315b5916cbee78d70780 GIT binary patch literal 43571 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 A#Q*>R literal 0 HcmV?d00001 diff --git a/img/streamTable.png b/img/streamTable.png new file mode 100644 index 0000000000000000000000000000000000000000..cad73564f7b014a589cd31934c662ead83bdeacd GIT binary patch literal 38109 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 VPnDZoWk>6pncO$7y#3_We*t4q8lM0F literal 0 HcmV?d00001 diff --git a/src/main.cpp b/src/main.cpp index c750d0c..67d5d7b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,7 +15,7 @@ // const int SIZE = 1 << 8; // feel free to change the size of array // todo bring back -const int SIZE = 1 << 10; +const int SIZE = 1 << 20; const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; From 6629f18c1848ea79a00570d1b40c05a250f4e593 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:45:28 -0400 Subject: [PATCH 24/36] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 245313f..ed58c16 100644 --- a/README.md +++ b/README.md @@ -144,15 +144,18 @@ blockSize: 256 * Roughly optimize the block sizes of each of your implementations for minimal run time on your GPU. * (You shouldn't compare unoptimized implementations to each other!) + ![](img/blocksizeTable.png) ![](img/blocksize.png) * Compare all of these GPU Scan implementations (Naive, Work-Efficient, and Thrust) to the serial CPU version of Scan. Plot a graph of the comparison (with array size on the independent axis). #### Scan + ![](img/scanTable.png) ![](img/scanpow2.png) ![](img/scannotpow2.png) #### Stream Compaction + ![](img/streamTable.png) ![](img/streampow2.png) ![](img/streamnotpow2.png) * To guess at what might be happening inside the Thrust implementation (e.g. From 4dae2cf9e84c713b3b805c867818924e776c11c2 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:47:44 -0400 Subject: [PATCH 25/36] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ed58c16..ac6b68f 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,8 @@ blockSize: 256 (with array size on the independent axis). #### Scan ![](img/scanTable.png) + + __Fig. 1 Scan Algorithm: Number of Elements vs. Results__ ![](img/scanpow2.png) ![](img/scannotpow2.png) #### Stream Compaction From 880233b57a8593dc6719c08d31852d7270054e93 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:49:35 -0400 Subject: [PATCH 26/36] Update README.md --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ac6b68f..b0c11c3 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,12 @@ blockSize: 256 run time on your GPU. * (You shouldn't compare unoptimized implementations to each other!) ![](img/blocksizeTable.png) + + _Table. 1 Blocksize vs. Results for each algorithm_ + ![](img/blocksize.png) + + _Fig. 1 Blocksize vs. Results for each algorithm_ * Compare all of these GPU Scan implementations (Naive, Work-Efficient, and Thrust) to the serial CPU version of Scan. Plot a graph of the comparison @@ -153,9 +158,16 @@ blockSize: 256 #### Scan ![](img/scanTable.png) - __Fig. 1 Scan Algorithm: Number of Elements vs. Results__ + _Table. 2 Scan Algorithm: Number of Elements vs. Results_ + ![](img/scanpow2.png) + + _Fig. 2 Scan Algorithm: Number of Elements vs. Results Power of 2_ + ![](img/scannotpow2.png) + + _Fig. 3 Scan Algorithm: Number of Elements vs. Results NON Power of 2_ + #### Stream Compaction ![](img/streamTable.png) ![](img/streampow2.png) From d41d4a39622e9f9c77c3c28d68ddc0ccc97e1fd8 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:49:57 -0400 Subject: [PATCH 27/36] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b0c11c3..c5b6d35 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ blockSize: 256 * Roughly optimize the block sizes of each of your implementations for minimal run time on your GPU. * (You shouldn't compare unoptimized implementations to each other!) + ![](img/blocksizeTable.png) _Table. 1 Blocksize vs. Results for each algorithm_ From 18ffcb6315ec188576a98e668974beb2d46752ab Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:50:35 -0400 Subject: [PATCH 28/36] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c5b6d35..fb08d44 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ blockSize: 256 * Compare all of these GPU Scan implementations (Naive, Work-Efficient, and Thrust) to the serial CPU version of Scan. Plot a graph of the comparison (with array size on the independent axis). -#### Scan + #### Scan ![](img/scanTable.png) _Table. 2 Scan Algorithm: Number of Elements vs. Results_ @@ -169,7 +169,7 @@ blockSize: 256 _Fig. 3 Scan Algorithm: Number of Elements vs. Results NON Power of 2_ -#### Stream Compaction + #### Stream Compaction ![](img/streamTable.png) ![](img/streampow2.png) ![](img/streamnotpow2.png) From 07baae9d49fb16defff1f1b6762ced1fc4d1c8ae Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:51:51 -0400 Subject: [PATCH 29/36] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index fb08d44..53d989a 100644 --- a/README.md +++ b/README.md @@ -171,8 +171,17 @@ blockSize: 256 #### Stream Compaction ![](img/streamTable.png) + + _Table. 3 Stream Compaction Algorithm: Number of Elements vs. Results_ + ![](img/streampow2.png) + + _Fig. 4 Stream Algorithm: Number of Elements vs. Results Power of 2_ + ![](img/streamnotpow2.png) + + _Fig. 5 Steram Algorithm: Number of Elements vs. Results NON Power of 2_ + * To guess at what might be happening inside the Thrust implementation (e.g. allocation, memory copy), take a look at the Nsight timeline for its execution. Your analysis here doesn't have to be detailed, since you aren't From ba55e23bc0b6e25962aaee1235e4e7c654111cda Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:54:37 -0400 Subject: [PATCH 30/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 53d989a..ff83970 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ blockSize: 256 * Roughly optimize the block sizes of each of your implementations for minimal run time on your GPU. - * (You shouldn't compare unoptimized implementations to each other!) + * In the following performance analysis, I used N = 2^25 array size ![](img/blocksizeTable.png) From a1c867c68bc277f1d71852275673c209897391e3 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:56:01 -0400 Subject: [PATCH 31/36] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index ff83970..bbfe679 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,12 @@ blockSize: 256 passed ``` +## Testing Methods + +To test my program, each run of the program will produce a random array of numbers between a given +range. I varied the length of my arrays from size 4 up to 2^25. I also tried arrays with and without +a 0 at the very end. + ## Performance Analysis * Roughly optimize the block sizes of each of your implementations for minimal From b6de82053f85f0b62839008c30bc05a2e12e4fed Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:56:43 -0400 Subject: [PATCH 32/36] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bbfe679..62b88db 100644 --- a/README.md +++ b/README.md @@ -18,23 +18,23 @@ is a sum of a\[0\] + ... + a\[i - 1\] excluding itself. ## Implementation and Results #### CPU: Sequential Scan -On the CPU, a sequential scan consists of a simple for-loop that loops through all the elements +* On the CPU, a sequential scan consists of a simple for-loop that loops through all the elements of input array A, and outputs to B[i] = B[i - 1] + A[i - 1] #### CPU: Stream Compact without Scan -Stream compact without Scan will simply keep a counter of the current write-index in the output array B, +* Stream compact without Scan will simply keep a counter of the current write-index in the output array B, while iterating through input array A. If A[i] != 0, then B[output_index] = A[i]. #### CPU: Stream Compact with Scan -Stream compact with scan is a sequential implementation of the stream compact algorithm for GPU, except on the CPU +* Stream compact with scan is a sequential implementation of the stream compact algorithm for GPU, except on the CPU and thus none of the advantages of parallel programming will come into play. See the following section for GPU stream compaction algorithms. #### GPU: Naive GPU Scan -A naive GPU scan will take an input array (or read array), and add each sequential pair of elements together +* A naive GPU scan will take an input array (or read array), and add each sequential pair of elements together into an output array (or write array), ping-pong the arrays (read is now write and vice versa), increment the additive offset, and then repeat the operation until there is only one output (the final sum). Here, each addition can be done in a parallel manner since we will never write to the same array slot. The only caveat is that you must @@ -42,7 +42,7 @@ wait for each level to finish its read/write before moving on to the next level. #### GPU: Work-Efficient GPU Scan -A work efficient exclusive GPU scan uses only one array and can do the operation in place. This array is treated as a balanced +* A work efficient exclusive GPU scan uses only one array and can do the operation in place. This array is treated as a balanced binary tree, where the left child always retains its original value from the read array. This will allow us to retain some of the original values to help us recover the entire scan array after we do a down sweep. @@ -57,11 +57,11 @@ and sets its right child's value to a sum of itself and the previous left child' #### GPU: Thrust Scan -This scan is fairly simple to implement, as thrust::scan is a built-in function in the Thrust library. +* This scan is fairly simple to implement, as thrust::scan is a built-in function in the Thrust library. #### GPU: Stream Compaction -On the GPU, stream compaction consists of the following steps: +* On the GPU, stream compaction consists of the following steps: 1. For each element in A, compute a "boolean" array such that: b[i] = 1 if A[i] meets the criteria, and b[i] = 0 otherwise. 2. Run exclusive scan on the boolean array b to produce array s. From 8ea98cd913d66648972f15b0dddd5b9b09dd1508 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 22:58:43 -0400 Subject: [PATCH 33/36] Update README.md --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 62b88db..8ce863d 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,15 @@ a 0 at the very end. _Fig. 3 Scan Algorithm: Number of Elements vs. Results NON Power of 2_ + * To guess at what might be happening inside the Thrust implementation (e.g. + allocation, memory copy), take a look at the Nsight timeline for its + execution. Your analysis here doesn't have to be detailed, since you aren't + even looking at the code for the implementation. + +* Write a brief explanation of the phenomena you see here. + * Can you find the performance bottlenecks? Is it memory I/O? Computation? Is + it different for each implementation? + #### Stream Compaction ![](img/streamTable.png) @@ -187,15 +196,6 @@ a 0 at the very end. ![](img/streamnotpow2.png) _Fig. 5 Steram Algorithm: Number of Elements vs. Results NON Power of 2_ - - * To guess at what might be happening inside the Thrust implementation (e.g. - allocation, memory copy), take a look at the Nsight timeline for its - execution. Your analysis here doesn't have to be detailed, since you aren't - even looking at the code for the implementation. - -* Write a brief explanation of the phenomena you see here. - * Can you find the performance bottlenecks? Is it memory I/O? Computation? Is - it different for each implementation? * Paste the output of the test program into a triple-backtick block in your README. From 6a5cf831d2e2855ac70c34366179acbb58d8bd09 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 23:18:02 -0400 Subject: [PATCH 34/36] Update README.md --- README.md | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8ce863d..e906853 100644 --- a/README.md +++ b/README.md @@ -175,14 +175,33 @@ a 0 at the very end. _Fig. 3 Scan Algorithm: Number of Elements vs. Results NON Power of 2_ - * To guess at what might be happening inside the Thrust implementation (e.g. - allocation, memory copy), take a look at the Nsight timeline for its - execution. Your analysis here doesn't have to be detailed, since you aren't - even looking at the code for the implementation. + In Scan, the performance results between Non-Power of 2 arrays and power of 2 arrays are fairly similar. + As expected, CPU scan is the least efficient algorithm when there are many elements. Naive scan is slightly + more efficient, although not by a lot. Efficient GPU scan does technically run faster than CPU and Naive, but + the effects are not seen unless the size of the input array is above 1.5 million. Thrust scan is the fastest + out of all of them. * Write a brief explanation of the phenomena you see here. * Can you find the performance bottlenecks? Is it memory I/O? Computation? Is it different for each implementation? + + I am not surprised that the GPU efficient implementation isn't faster until the size of the input array gets + significantly large. This is because I didn't optimize my implementations to ensure that threads are not idling. + For example, I'm only using every other thread, then every 4 threads, etc. during scan. A way to bypass this is to + launch fewer threads, but computing the destination it should go to based on its idx and the current up-sweep or + down-sweep index. + + Additionally, I ensured that my GPU timers included as few cudaMallocs, Memcpys, and Memsets as possible, but it's not + always feasible to move all of them outside of my "main" algorithm code, so to speak. For example, I need to call + cudaMalloc on an array where I only know its length after a value is computed during the algorithm. Hence, I can only cudaMalloc + within the algorithm. + + * To guess at what might be happening inside the Thrust implementation (e.g. + allocation, memory copy), take a look at the Nsight timeline for its + execution. Your analysis here doesn't have to be detailed, since you aren't + even looking at the code for the implementation. + + #### Stream Compaction ![](img/streamTable.png) @@ -204,7 +223,76 @@ a 0 at the very end. These questions should help guide you in performance analysis on future assignments, as well. +## NSight Performance Confusion +When running my program in Nsight, the results are extremely fast for N = 2^25 compared to +Release mode in Visual Studio. I'm not exactly sure why. + +```**************** +** SCAN TESTS ** +**************** + [ 17 20 19 7 22 46 11 3 35 15 31 39 34 ... 20 0 ] +==== cpu scan, power-of-two ==== + elapsed time: 2.0798ms (std::chrono Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666495 25666515 ] +==== cpu scan, non-power-of-two ==== + elapsed time: 2.0982ms (std::chrono Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666419 25666467 ] + passed +==== naive scan, power-of-two ==== +blockSize: 256 + elapsed time: 1.716ms (CUDA Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666495 25666515 ] + passed +==== naive scan, non-power-of-two ==== +blockSize: 256 + elapsed time: 2.00374ms (CUDA Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 0 0 ] + passed +==== work-efficient scan, power-of-two ==== +blockSize: 256 + elapsed time: 2.3617ms (CUDA Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666495 25666515 ] + passed +==== work-efficient scan, non-power-of-two ==== +blockSize: 256 + elapsed time: 2.23104ms (CUDA Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666419 25666467 ] + passed +==== thrust scan, power-of-two ==== + elapsed time: 0.567744ms (CUDA Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666495 25666515 ] + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 0.566816ms (CUDA Measured) + [ 0 17 37 56 63 85 131 142 145 180 195 226 265 ... 25666419 25666467 ] + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 3 2 3 1 2 0 1 3 3 3 1 1 0 ... 0 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 2.3101ms (std::chrono Measured) + [ 3 2 3 1 2 1 3 3 3 1 1 3 1 ... 2 2 ] + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 2.2745ms (std::chrono Measured) + [ 3 2 3 1 2 1 3 3 3 1 1 3 1 ... 2 2 ] + passed +==== cpu compact with scan ==== + elapsed time: 6.392ms (std::chrono Measured) + [ 3 2 3 1 2 1 3 3 3 1 1 3 1 ... 2 2 ] + passed +==== work-efficient compact, power-of-two ==== +blockSize: 256 + elapsed time: 4.70064ms (CUDA Measured) + [ 3 2 3 1 2 1 3 3 3 1 1 3 1 ... 2 2 ] + passed +==== work-efficient compact, non-power-of-two ==== +blockSize: 256 + elapsed time: 3.8247ms (CUDA Measured) +``` From 488c2d6536541804dba3834086e07a74f4a052e7 Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 23:21:05 -0400 Subject: [PATCH 35/36] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e906853..5c5770e 100644 --- a/README.md +++ b/README.md @@ -185,13 +185,13 @@ a 0 at the very end. * Can you find the performance bottlenecks? Is it memory I/O? Computation? Is it different for each implementation? - I am not surprised that the GPU efficient implementation isn't faster until the size of the input array gets +I am not surprised that the GPU efficient implementation isn't faster until the size of the input array gets significantly large. This is because I didn't optimize my implementations to ensure that threads are not idling. For example, I'm only using every other thread, then every 4 threads, etc. during scan. A way to bypass this is to launch fewer threads, but computing the destination it should go to based on its idx and the current up-sweep or down-sweep index. - Additionally, I ensured that my GPU timers included as few cudaMallocs, Memcpys, and Memsets as possible, but it's not +Additionally, I ensured that my GPU timers included as few cudaMallocs, Memcpys, and Memsets as possible, but it's not always feasible to move all of them outside of my "main" algorithm code, so to speak. For example, I need to call cudaMalloc on an array where I only know its length after a value is computed during the algorithm. Hence, I can only cudaMalloc within the algorithm. From 74dc8460ec15d2f8e3237d6cdd69f5d01fc3470d Mon Sep 17 00:00:00 2001 From: dluisnothere <43430369+dluisnothere@users.noreply.github.com> Date: Sun, 18 Sep 2022 23:34:28 -0400 Subject: [PATCH 36/36] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 5c5770e..ff3ce43 100644 --- a/README.md +++ b/README.md @@ -220,9 +220,6 @@ Additionally, I ensured that my GPU timers included as few cudaMallocs, Memcpys, README. * See above -These questions should help guide you in performance analysis on future -assignments, as well. - ## NSight Performance Confusion When running my program in Nsight, the results are extremely fast for N = 2^25 compared to