From 062b635b06e9e8ebf312a12e2f5076b0ddd44ddd Mon Sep 17 00:00:00 2001 From: Jian Date: Thu, 22 Sep 2016 13:59:51 -0400 Subject: [PATCH 01/11] part 1-4 --- src/main.cpp | 112 ++++++--- src/testing_helpers.hpp | 15 ++ stream_compaction/CMakeLists.txt | 4 +- stream_compaction/common.cu | 25 +- stream_compaction/cpu.cu | 78 +++++- stream_compaction/efficient.cu | 399 +++++++++++++++++++++++++++++-- stream_compaction/efficient.h | 6 +- stream_compaction/naive.cu | 103 +++++++- stream_compaction/naive.h | 6 +- stream_compaction/radix_sort.cu | 93 +++++++ stream_compaction/radix_sort.h | 11 + stream_compaction/thrust.cu | 73 +++++- stream_compaction/thrust.h | 6 +- 13 files changed, 845 insertions(+), 86 deletions(-) create mode 100644 stream_compaction/radix_sort.cu create mode 100644 stream_compaction/radix_sort.h diff --git a/src/main.cpp b/src/main.cpp index 675da35..4aabb34 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,74 +6,123 @@ * @copyright University of Pennsylvania */ + +#include +#include +#include #include +#define MEASURE_EXEC_TIME #include #include #include #include +#include #include "testing_helpers.hpp" + +#define TEST_GROUP_SIZE 100 + + int main(int argc, char* argv[]) { - const int SIZE = 1 << 8; + const int SIZE = 1 << 20; const int NPOT = SIZE - 3; - int a[SIZE], b[SIZE], c[SIZE]; + int *a = new int[SIZE]; + int *b = new int[SIZE]; + int *c = new int[SIZE]; // Scan tests - printf("\n"); printf("****************\n"); printf("** SCAN TESTS **\n"); printf("****************\n"); - genArray(SIZE - 1, a, 50); // Leave a 0 at the end to test that edge case + genArray(SIZE - 1, a, 5); // Leave a 0 at the end to test that edge case a[SIZE - 1] = 0; printArray(SIZE, a, true); + zeroArray(SIZE, b); + printDesc("parallel radix sort, power-of-two"); + ParallelRadixSort::sort(SIZE, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + printArray(SIZE, b, true); + testSorted(SIZE, b); + + zeroArray(SIZE, b); + printDesc("parallel radix sort, non power-of-two"); + ParallelRadixSort::sort(NPOT, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + printArray(NPOT, b, true); + testSorted(NPOT, b); + zeroArray(SIZE, b); printDesc("cpu scan, power-of-two"); - StreamCompaction::CPU::scan(SIZE, b, a); + clock_t start = clock(); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + StreamCompaction::CPU::scan(SIZE, b, a); + clock_t end = clock(); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << double(end - start) / CLOCKS_PER_SEC * 1000 / TEST_GROUP_SIZE << "ms\n"; printArray(SIZE, b, true); zeroArray(SIZE, c); printDesc("cpu scan, non-power-of-two"); - StreamCompaction::CPU::scan(NPOT, c, a); + start = clock(); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + StreamCompaction::CPU::scan(NPOT, c, a); + end = clock(); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << double(end - start) / CLOCKS_PER_SEC * 1000 / TEST_GROUP_SIZE << "ms\n"; printArray(NPOT, b, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); printDesc("naive scan, power-of-two"); - StreamCompaction::Naive::scan(SIZE, c, a); - //printArray(SIZE, c, true); + float accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + accumExecTime += StreamCompaction::Naive::scan(SIZE, c, a); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("naive scan, non-power-of-two"); - StreamCompaction::Naive::scan(NPOT, c, a); - //printArray(SIZE, c, true); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + accumExecTime += StreamCompaction::Naive::scan(NPOT, c, a); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); printDesc("work-efficient scan, power-of-two"); - StreamCompaction::Efficient::scan(SIZE, c, a); - //printArray(SIZE, c, true); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + accumExecTime += StreamCompaction::Efficient::scan(SIZE, c, a); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + 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); - //printArray(NPOT, c, true); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + accumExecTime += StreamCompaction::Efficient::scan(NPOT, c, a); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); zeroArray(SIZE, c); printDesc("thrust scan, power-of-two"); - StreamCompaction::Thrust::scan(SIZE, c, a); - //printArray(SIZE, c, true); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + accumExecTime += StreamCompaction::Thrust::scan(SIZE, c, a); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(SIZE, c, true); printCmpResult(SIZE, b, c); zeroArray(SIZE, c); printDesc("thrust scan, non-power-of-two"); - StreamCompaction::Thrust::scan(NPOT, c, a); - //printArray(NPOT, c, true); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + accumExecTime += StreamCompaction::Thrust::scan(NPOT, c, a); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(NPOT, c, true); printCmpResult(NPOT, b, c); printf("\n"); @@ -109,15 +158,22 @@ int main(int argc, char* argv[]) { printArray(count, c, true); printCmpLenResult(count, expectedCount, b, c); - zeroArray(SIZE, c); - printDesc("work-efficient compact, power-of-two"); - count = StreamCompaction::Efficient::compact(SIZE, c, a); - //printArray(count, c, true); - printCmpLenResult(count, expectedCount, b, c); + zeroArray(SIZE, c); + printDesc("work-efficient compact, power-of-two"); + count = StreamCompaction::Efficient::compact(SIZE, c, a); + 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); - //printArray(count, c, true); - printCmpLenResult(count, expectedNPOT, b, c); + zeroArray(SIZE, c); + printDesc("work-efficient compact, non-power-of-two"); + count = StreamCompaction::Efficient::compact(NPOT, c, a); + printArray(count, c, true); + printCmpLenResult(count, expectedNPOT, b, c); + + delete[] a; + delete[] b; + delete[] c; + + system("pause"); + return 0; } diff --git a/src/testing_helpers.hpp b/src/testing_helpers.hpp index f6b572f..f3fa146 100644 --- a/src/testing_helpers.hpp +++ b/src/testing_helpers.hpp @@ -59,3 +59,18 @@ void printArray(int n, int *a, bool abridged = false) { printf("]\n"); } +template +void testSorted(uint32_t n, const T *data, bool lessThan = true) +{ + for (uint32_t i = 0; i < n - 1; ++i) + { + if ((lessThan && (data[i] > data[i + 1])) || + (!lessThan && (data[i] < data[i + 1]))) + { + printf(" Failed: Element %d %s Element %d\n", i, lessThan ? ">" : "<", i + 1); + return; + } + } + + printf(" passed\n"); +} diff --git a/stream_compaction/CMakeLists.txt b/stream_compaction/CMakeLists.txt index cdbef77..fcda682 100644 --- a/stream_compaction/CMakeLists.txt +++ b/stream_compaction/CMakeLists.txt @@ -9,9 +9,11 @@ set(SOURCE_FILES "efficient.cu" "thrust.h" "thrust.cu" + "radix_sort.h" + "radix_sort.cu" ) cuda_add_library(stream_compaction ${SOURCE_FILES} - OPTIONS -arch=sm_20 + OPTIONS -arch=sm_30 ) diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index fe872d4..eb0acc0 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -1,5 +1,8 @@ +#include +#include #include "common.h" + void checkCUDAErrorFn(const char *msg, const char *file, int line) { cudaError_t err = cudaGetLastError(); if (cudaSuccess == err) { @@ -22,8 +25,13 @@ namespace Common { * Maps an array to an array of 0s and 1s for stream compaction. Elements * which map to 0 will be removed, and elements which map to 1 will be kept. */ -__global__ void kernMapToBoolean(int n, int *bools, const int *idata) { - // TODO +__global__ void kernMapToBoolean(int n, int *bools, const int *idata) +{ + int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= n) return; + + bools[tid] = static_cast(idata[tid] != 0); } /** @@ -31,8 +39,17 @@ __global__ void kernMapToBoolean(int n, int *bools, const int *idata) { * if bools[idx] == 1, it copies idata[idx] to odata[indices[idx]]. */ __global__ void kernScatter(int n, int *odata, - const int *idata, const int *bools, const int *indices) { - // TODO + const int *idata, const int *bools, const int *indices) +{ + int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= n) return; + + if (bools[tid]) + { + int idx = indices[tid]; + odata[idx] = idata[tid]; + } } } diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index e600c29..d4ef883 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -8,8 +8,28 @@ namespace CPU { * CPU scan (prefix sum). */ void scan(int n, int *odata, const int *idata) { - // TODO - printf("TODO\n"); + if (n <= 0 || !odata || !idata) + { + return; + } + + int pre, cur; + + for (int i = 0; i < n; ++i) + { + cur = idata[i]; + + if (i == 0) + { + odata[i] = 0; + } + else + { + odata[i] = pre + odata[i - 1]; + } + + pre = cur; + } } /** @@ -18,8 +38,22 @@ void scan(int n, int *odata, const int *idata) { * @returns the number of elements remaining after compaction. */ int compactWithoutScan(int n, int *odata, const int *idata) { - // TODO - return -1; + if (n <= 0 || !odata || !idata) + { + return -1; + } + + const int *obegin = odata; + + for (int i = 0; i < n; ++i) + { + if (idata[i]) + { + *odata++ = idata[i]; + } + } + + return static_cast(odata - obegin); } /** @@ -28,8 +62,40 @@ int compactWithoutScan(int n, int *odata, const int *idata) { * @returns the number of elements remaining after compaction. */ int compactWithScan(int n, int *odata, const int *idata) { - // TODO - return -1; + if (n <= 0 || !odata || !idata || odata == idata) + { + return -1; + } + + if (n == 1 && idata[0]) + { + odata[0] = idata[0]; + return 1; + } + + for (int i = 0; i < n; ++i) + { + odata[i] = static_cast(idata[i] != 0); + } + + scan(n, odata, odata); + + int odataSize = odata[n - 1]; + + for (int i = 0; i < n - 1; ++i) + { + if (odata[i] != odata[i + 1]) + { + odata[odata[i]] = idata[i]; + } + } + + if (idata[n - 1]) + { + odata[odataSize] = idata[n - 1]; + ++odataSize; + } + return odataSize; } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index b2f739b..9f1c439 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -1,34 +1,387 @@ #include #include #include "common.h" +#define MEASURE_EXEC_TIME #include "efficient.h" +#include + +#define USING_SHARED_MEMORY + +#ifdef USING_SHARED_MEMORY +#define MAX_SEGMENT_SIZE 1024 +#define NUM_SEG(x, ss) (((x) + (ss) - 1) / (ss)) +#define ROUND_SEG_SIZE(x, ss) (NUM_SEG(x, (ss)) * (ss)) + +#define NUM_BANKS 32 +#define LOG_NUM_BANKS 5 +#define CONFLICT_FREE_OFFSET(x) ((x) >> LOG_NUM_BANKS) +#endif namespace StreamCompaction { -namespace Efficient { + namespace Efficient { -// TODO: __global__ + int nearestMultipleOfTwo(int n) + { + int result = 1; + while (result < n) result <<= 1; + return result; + } -/** - * Performs prefix-sum (aka scan) on idata, storing the result into odata. - */ -void scan(int n, int *odata, const int *idata) { - // TODO - printf("TODO\n"); -} +#ifdef USING_SHARED_MEMORY + __global__ void kernScan(int segSize, int * __restrict__ blockSums, int * __restrict__ odata, const int * __restrict__ idata) + { + extern __shared__ int temp[]; -/** - * Performs stream compaction on idata, storing the result into odata. - * All zeroes are discarded. - * - * @param n The number of elements in idata. - * @param odata The array into which to store elements. - * @param idata The array of elements to compact. - * @returns The number of elements remaining after compaction. - */ -int compact(int n, int *odata, const int *idata) { - // TODO - return -1; -} + const int base = blockIdx.x * segSize; + const int tid = threadIdx.x; + const int i1 = 2 * tid + 1; + const int i2 = 2 * tid + 2; + int offset = 1; + int ai, bi; -} + // cache data + int gidx1 = base + tid; + int gidx2 = gidx1 + blockDim.x; + int lidx1 = tid + CONFLICT_FREE_OFFSET(tid); + int lidx2 = tid + (segSize >> 1) + CONFLICT_FREE_OFFSET(tid + (segSize >> 1)); + temp[lidx1] = idata[gidx1]; + temp[lidx2] = idata[gidx2]; + + // up sweep + for (int d = segSize >> 1; d > 0; d >>= 1) + { + __syncthreads(); + + if (tid < d) + { + ai = offset * i1 - 1; + bi = offset * i2 - 1; + ai += CONFLICT_FREE_OFFSET(ai); + bi += CONFLICT_FREE_OFFSET(bi); + + temp[bi] += temp[ai]; + } + + offset *= 2; + } + + if (tid == 0) + { + int idx = segSize - 1 + CONFLICT_FREE_OFFSET(segSize - 1); + if (blockSums) blockSums[blockIdx.x] = temp[idx]; + temp[idx] = 0; + } + + // down sweep + for (int d = 1; d < segSize; d *= 2) + { + offset >>= 1; + __syncthreads(); + + if (tid < d) + { + ai = offset * i1 - 1; + bi = offset * i2 - 1; + ai += CONFLICT_FREE_OFFSET(ai); + bi += CONFLICT_FREE_OFFSET(bi); + + int t = temp[ai]; + temp[ai] = temp[bi]; + temp[bi] += t; + } + } + + __syncthreads(); + + odata[gidx1] = temp[lidx1]; + odata[gidx2] = temp[lidx2]; + } + + __global__ void kernPerSegmentAdd(int segSize, int * __restrict__ odata, const int * __restrict__ blockSums) + { + int bid = blockIdx.x; + int tid = threadIdx.x; + int writeIdx1 = bid * segSize + 2 * tid; + int writeIdx2 = writeIdx1 + 1; + + int sum = blockSums[bid]; + odata[writeIdx1] += sum; + odata[writeIdx2] += sum; + } + + inline int computeSegmentSize(int n) + { + return n > (MAX_SEGMENT_SIZE >> 1) ? MAX_SEGMENT_SIZE : nearestMultipleOfTwo(n); + } + +#ifdef MEASURE_EXEC_TIME + float scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev) +#else + void scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev) +#endif + { + // determine segment size + int threadsPerBlock = segSize >> 1; + int numBlocks = NUM_SEG(n, segSize); + + int *iblockSums = 0, *oblockSums = 0; + int segSizeNextLevel; + if (numBlocks > 1) + { + segSizeNextLevel = computeSegmentSize(numBlocks); + size_t kBlockSumsSize = ROUND_SEG_SIZE(numBlocks, segSizeNextLevel) * sizeof(int); + cudaMalloc(&iblockSums, kBlockSumsSize); + cudaMalloc(&oblockSums, kBlockSumsSize); + cudaMemset(iblockSums, 0, kBlockSumsSize); + } + +#ifdef MEASURE_EXEC_TIME + float execTime = 0.f; + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + cudaEventRecord(start); +#endif + + kernScan << > >(segSize, iblockSums, odata_dev, idata_dev); + +#ifdef MEASURE_EXEC_TIME + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&execTime, start, stop); +#endif + + if (numBlocks > 1) + { +#ifdef MEASURE_EXEC_TIME + execTime += scanHelper(segSizeNextLevel, numBlocks, oblockSums, iblockSums); + + cudaEventRecord(start); + kernPerSegmentAdd << > >(segSize, odata_dev, oblockSums); + cudaEventRecord(stop); + cudaEventSynchronize(stop); + float et = 0.f; + cudaEventElapsedTime(&et, start, stop); + execTime += et; +#else + scanHelper(segSizeNextLevel, numBlocks, oblockSums, iblockSums); + kernPerSegmentAdd << > >(segSize, odata_dev, oblockSums); +#endif + + cudaFree(iblockSums); + cudaFree(oblockSums); + } + +#ifdef MEASURE_EXEC_TIME + cudaEventDestroy(start); + cudaEventDestroy(stop); + return execTime; +#endif + } +#else + __global__ void kernScanUpSweepOneLevel(int offset, int numActiveThreads, int *iodata) + { + int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= numActiveThreads) + { + return; + } + + if (numActiveThreads == 1) // last level + { + iodata[2 * offset - 1] = 0; + return; + } + + int i1 = 2 * tid + 1; + int i2 = i1 + 1; + int ai, bi; + + ai = offset * i1 - 1; + bi = offset * i2 - 1; + iodata[bi] += iodata[ai]; + } + + __global__ void kernScanDownSweepOneLevel(int offset, int numActiveThreads, int *iodata) + { + int tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= numActiveThreads) + { + return; + } + + int i1 = 2 * tid + 1; + int i2 = i1 + 1; + int ai, bi; + + ai = offset * i1 - 1; + bi = offset * i2 - 1; + int t = iodata[ai]; + iodata[ai] = iodata[bi]; + iodata[bi] += t; + } +#endif + + /** + * Performs prefix-sum (aka scan) on idata, storing the result into odata. + */ +#ifdef MEASURE_EXEC_TIME + float scan(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return -1; + } +#else + void scan(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return; + } +#endif +#ifdef USING_SHARED_MEMORY + int segSize = computeSegmentSize(n); + const size_t kDevArraySizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); + int *odata_dev = 0; + int *idata_dev = 0; + + cudaMalloc(&odata_dev, kDevArraySizeInByte); + cudaMalloc(&idata_dev, kDevArraySizeInByte); + cudaMemset(idata_dev, 0, kDevArraySizeInByte); + cudaMemcpy(idata_dev, idata, n * sizeof(int), cudaMemcpyHostToDevice); + +#ifdef MEASURE_EXEC_TIME + float execTime = scanHelper(segSize, n, odata_dev, idata_dev); +#else + scanHelper(segSize, n, odata_dev, idata_dev); +#endif + + cudaMemcpy(odata, odata_dev, n * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(odata_dev); + cudaFree(idata_dev); + cudaDeviceSynchronize(); + +#ifdef MEASURE_EXEC_TIME + return execTime; +#endif +#else + const int paddedSize = nearestMultipleOfTwo(n); + const size_t kDevArraySizeInByte = paddedSize * sizeof(int); + int *iodata_dev = 0; + + cudaMalloc(&iodata_dev, kDevArraySizeInByte); + cudaMemset(iodata_dev, 0, kDevArraySizeInByte); + cudaMemcpy(iodata_dev, idata, n * sizeof(int), cudaMemcpyHostToDevice); + +#ifdef MEASURE_EXEC_TIME + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + cudaEventRecord(start); +#endif + + const int threadsPerBlock = 256; + const int numLevels = ilog2ceil(n); + int numActiveThreads = paddedSize >> 1; + int offset = 1; + + // up sweep + for (int i = 0; i < numLevels; ++i) + { + int numBlocks = (numActiveThreads + threadsPerBlock - 1) / threadsPerBlock; + kernScanUpSweepOneLevel << > >(offset, numActiveThreads, iodata_dev); + numActiveThreads >>= 1; + offset *= 2; + } + + // down sweep + numActiveThreads = 1; + for (int i = 0; i < numLevels; ++i) + { + offset >>= 1; + int numBlocks = (numActiveThreads + threadsPerBlock - 1) / threadsPerBlock; + kernScanDownSweepOneLevel << > >(offset, numActiveThreads, iodata_dev); + numActiveThreads <<= 1; + } + +#ifdef MEASURE_EXEC_TIME + cudaEventRecord(stop); + cudaEventSynchronize(stop); + float millisceconds = 0; + cudaEventElapsedTime(&millisceconds, start, stop); + cudaEventDestroy(start); + cudaEventDestroy(stop); +#endif + + cudaMemcpy(odata, iodata_dev, n * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(iodata_dev); + cudaDeviceSynchronize(); + +#ifdef MEASURE_EXEC_TIME + return millisceconds; +#endif +#endif + } + + /** + * Performs stream compaction on idata, storing the result into odata. + * All zeroes are discarded. + * + * @param n The number of elements in idata. + * @param odata The array into which to store elements. + * @param idata The array of elements to compact. + * @returns The number of elements remaining after compaction. + */ + int compact(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return -1; + } + + using StreamCompaction::Common::kernMapToBoolean; + using StreamCompaction::Common::kernScatter; + + int *idata_dev = 0; + int *odata_dev = 0; + int *bools_dev = 0; + int *indices_dev = 0; + + int segSize = computeSegmentSize(n); + const size_t kBoolsSizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); + const size_t kIndicesSizeInByte = kBoolsSizeInByte; + + cudaMalloc(&idata_dev, n * sizeof(int)); + cudaMalloc(&bools_dev, kBoolsSizeInByte); + cudaMalloc(&indices_dev, kIndicesSizeInByte); + + cudaMemcpy(idata_dev, idata, n * sizeof(int), cudaMemcpyHostToDevice); + cudaMemset(bools_dev, 0, kBoolsSizeInByte); + + const int threadsPerBlock = 256; + int numBlocks = (n + threadsPerBlock - 1) / threadsPerBlock; + kernMapToBoolean << > >(n, bools_dev, idata_dev); + + scanHelper(segSize, n, indices_dev, bools_dev); + + int numElemRemained; + cudaMemcpy(&numElemRemained, indices_dev + (n - 1), sizeof(int), cudaMemcpyDeviceToHost); + numElemRemained += idata[n - 1] ? 1 : 0; + cudaMalloc(&odata_dev, numElemRemained * sizeof(int)); + + kernScatter<<>>(n, odata_dev, idata_dev, bools_dev, indices_dev); + + cudaMemcpy(odata, odata_dev, numElemRemained * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(idata_dev); + cudaFree(odata_dev); + cudaFree(bools_dev); + cudaFree(indices_dev); + + return numElemRemained; + } + + } } diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 395ba10..98db48d 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -2,7 +2,11 @@ namespace StreamCompaction { namespace Efficient { - void scan(int n, int *odata, const int *idata); +#ifdef MEASURE_EXEC_TIME + float scan(int n, int *odata, const int *idata); +#else + void scan(int n, int *odata, const int *idata); +#endif int compact(int n, int *odata, const int *idata); } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 3d86b60..5c301ff 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -1,20 +1,103 @@ #include #include #include "common.h" +#define MEASURE_EXEC_TIME #include "naive.h" namespace StreamCompaction { -namespace Naive { + namespace Naive { -// TODO: __global__ + __global__ void kernScanOneLevel(int stride, int n, int * __restrict__ odata, const int * __restrict__ idata) + { + unsigned tid = blockIdx.x * blockDim.x + threadIdx.x; -/** - * Performs prefix-sum (aka scan) on idata, storing the result into odata. - */ -void scan(int n, int *odata, const int *idata) { - // TODO - printf("TODO\n"); -} + if (tid >= n) return; -} + if (tid >= stride) + { + odata[tid] = idata[tid - stride] + idata[tid]; + } + else + { + odata[tid] = idata[tid]; + } + } + + __global__ void makeExclusive(int n, int * __restrict__ odata, int * __restrict__ idata) + { + unsigned tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= n) return; + + odata[tid] = tid == 0 ? 0 : idata[tid - 1]; + } + + /** + * Performs prefix-sum (aka scan) on idata, storing the result into odata. + */ +#ifdef MEASURE_EXEC_TIME + float scan(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return -1; + } +#else + void scan(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return; + } +#endif + const size_t kArraySizeInByte = n * sizeof(int); + int *idata_dev = nullptr, *odata_dev = nullptr; + + cudaMalloc(&idata_dev, kArraySizeInByte); + cudaMalloc(&odata_dev, kArraySizeInByte); + cudaMemcpy(idata_dev, idata, kArraySizeInByte, cudaMemcpyHostToDevice); + +#ifdef MEASURE_EXEC_TIME + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + cudaEventRecord(start); +#endif + + const int numLevels = ilog2ceil(n); + const int threadsPerBlock = 256; + const int numBlocks = (n + threadsPerBlock - 1) / threadsPerBlock; + int stride = 1; + + for (int i = 0; i < numLevels; ++i) + { + kernScanOneLevel << > >(stride, n, odata_dev, idata_dev); + stride <<= 1; + //swap + int *tmp = odata_dev; + odata_dev = idata_dev; + idata_dev = tmp; + } + makeExclusive << > >(n, odata_dev, idata_dev); + +#ifdef MEASURE_EXEC_TIME + cudaEventRecord(stop); + cudaEventSynchronize(stop); + float millisceconds = 0; + cudaEventElapsedTime(&millisceconds, start, stop); + cudaEventDestroy(start); + cudaEventDestroy(stop); +#endif + + cudaMemcpy(odata, odata_dev, kArraySizeInByte, cudaMemcpyDeviceToHost); + cudaFree(idata_dev); + cudaFree(odata_dev); + cudaDeviceSynchronize(); // make sure result is ready + +#ifdef MEASURE_EXEC_TIME + return millisceconds; +#endif + } + + } } diff --git a/stream_compaction/naive.h b/stream_compaction/naive.h index 21152d6..3ab5364 100644 --- a/stream_compaction/naive.h +++ b/stream_compaction/naive.h @@ -2,6 +2,10 @@ namespace StreamCompaction { namespace Naive { - void scan(int n, int *odata, const int *idata); +#ifdef MEASURE_EXEC_TIME + float scan(int n, int *odata, const int *idata); +#else + void scan(int n, int *odata, const int *idata); +#endif } } diff --git a/stream_compaction/radix_sort.cu b/stream_compaction/radix_sort.cu new file mode 100644 index 0000000..bf35eb1 --- /dev/null +++ b/stream_compaction/radix_sort.cu @@ -0,0 +1,93 @@ +#include +#include +#include +#include +#include + +#include "radix_sort.h" + + +namespace ParallelRadixSort +{ + template + __global__ void kernClassify(uint32_t n, T mask, + uint32_t * __restrict__ notbools, uint32_t * __restrict__ bools, const T * __restrict__ idata) + { + uint32_t tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= n) return; + + uint32_t t = static_cast((idata[tid] & mask) == 0); + notbools[tid] = t; + bools[tid] = t ^ 0x1; + } + + template + __global__ void kernScatter(uint32_t n, + uint32_t * __restrict__ nobools, uint32_t * __restrict__ noindices, uint32_t * __restrict__ yesindices, + T * __restrict__ odata, const T * __restrict__ idata) + { + uint32_t tid = blockIdx.x * blockDim.x + threadIdx.x; + + if (tid >= n) return; + + uint32_t isBitZero = nobools[tid]; + uint32_t idx; + + if (isBitZero) idx = noindices[tid]; else idx = yesindices[tid]; + + odata[idx] = idata[tid]; + } + + template + void sort(uint32_t n, T *odata, const T *idata, T bitMask, bool lsb) + { + T *idata_dev = 0; + T *odata_dev = 0; + uint32_t *noyes_bools_dev = 0; + uint32_t *indices_dev = 0; + + cudaMalloc(&idata_dev, n * sizeof(T)); + cudaMalloc(&odata_dev, n * sizeof(T)); + cudaMalloc(&noyes_bools_dev, 2 * n * sizeof(uint32_t)); + cudaMalloc(&indices_dev, 2 * n * sizeof(uint32_t)); + + cudaMemcpy(idata_dev, idata, n * sizeof(T), cudaMemcpyHostToDevice); + + thrust::device_ptr thrust_bools(noyes_bools_dev); + thrust::device_ptr thrust_indices(indices_dev); + + const int threadsPerBlock = 256; + int numBlocks = (n + threadsPerBlock - 1) / threadsPerBlock; + int numBits = 8 * sizeof(T); + T mask = lsb ? 1 : (1 << (numBits - 1)); + + for (int i = 0; i < numBits; ++i) + { + if (!(bitMask & mask)) continue; // do not consider this bit + + kernClassify << > >(n, mask, noyes_bools_dev, noyes_bools_dev + n, idata_dev); + + thrust::exclusive_scan(thrust_bools, thrust_bools + 2 * n, thrust_indices); + + kernScatter << > >(n, noyes_bools_dev, indices_dev, indices_dev + n, odata_dev, idata_dev); + + if (lsb) mask <<= 1; else mask >>= 1; + + T *tmp = odata_dev; + odata_dev = idata_dev; + idata_dev = tmp; + } + + cudaMemcpy(odata, idata_dev, n * sizeof(T), cudaMemcpyDeviceToHost); + cudaFree(idata_dev); + cudaFree(odata_dev); + cudaFree(noyes_bools_dev); + cudaFree(indices_dev); + } + + // Since template definition is not visible to users (main.obj in this case), + // we need to explicitly tell the compiler to generate all the template implementations + // that will be used later + template void sort(uint32_t n, uint32_t *odata, const uint32_t *idata, uint32_t bitMask, bool lsb); +} \ No newline at end of file diff --git a/stream_compaction/radix_sort.h b/stream_compaction/radix_sort.h new file mode 100644 index 0000000..952578a --- /dev/null +++ b/stream_compaction/radix_sort.h @@ -0,0 +1,11 @@ +#pragma once + +#include + + +namespace ParallelRadixSort +{ + // Only work on unsigned integral types + template + void sort(uint32_t n, T *odata, const T *idata, T bitMask, bool lsb = true); +} \ No newline at end of file diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index d8dbb32..4c9cbaa 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -4,19 +4,70 @@ #include #include #include "common.h" +#define MEASURE_EXEC_TIME #include "thrust.h" namespace StreamCompaction { -namespace Thrust { - -/** - * Performs prefix-sum (aka scan) on idata, storing the result into odata. - */ -void scan(int n, int *odata, const int *idata) { - // 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()); -} + namespace Thrust { -} + /** + * Performs prefix-sum (aka scan) on idata, storing the result into odata. + */ +#ifdef MEASURE_EXEC_TIME + float scan(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return -1; + } +#else + void scan(int n, int *odata, const int *idata) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + return; + } +#endif + // 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()); + const size_t kArraySizeInByte = n * sizeof(int); + int *idata_dev = nullptr, *odata_dev = nullptr; + + cudaMalloc(&idata_dev, kArraySizeInByte); + cudaMalloc(&odata_dev, kArraySizeInByte); + cudaMemcpy(idata_dev, idata, kArraySizeInByte, cudaMemcpyHostToDevice); + + thrust::device_ptr thrust_idata(idata_dev); + thrust::device_ptr thrust_odata(odata_dev); + +#ifdef MEASURE_EXEC_TIME + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + cudaEventRecord(start); +#endif + + thrust::exclusive_scan(thrust_idata, thrust_idata + n, thrust_odata); + +#ifdef MEASURE_EXEC_TIME + cudaEventRecord(stop); + cudaEventSynchronize(stop); + float millisceconds = 0; + cudaEventElapsedTime(&millisceconds, start, stop); + cudaEventDestroy(start); + cudaEventDestroy(stop); +#endif + + cudaMemcpy(odata, odata_dev, kArraySizeInByte, cudaMemcpyDeviceToHost); + cudaFree(idata_dev); + cudaFree(odata_dev); + cudaDeviceSynchronize(); // make sure result is ready + +#ifdef MEASURE_EXEC_TIME + return millisceconds; +#endif + } + + } } diff --git a/stream_compaction/thrust.h b/stream_compaction/thrust.h index 06707f3..baf6d97 100644 --- a/stream_compaction/thrust.h +++ b/stream_compaction/thrust.h @@ -2,6 +2,10 @@ namespace StreamCompaction { namespace Thrust { - void scan(int n, int *odata, const int *idata); +#ifdef MEASURE_EXEC_TIME + float scan(int n, int *odata, const int *idata); +#else + void scan(int n, int *odata, const int *idata); +#endif } } From 9a7a7b0e6e4837c2b7c3de4b941a7940d821d5a7 Mon Sep 17 00:00:00 2001 From: Jian Date: Thu, 22 Sep 2016 14:43:49 -0400 Subject: [PATCH 02/11] error handling --- src/main.cpp | 20 +++++++++++++++++--- src/testing_helpers.hpp | 10 ++++++++-- stream_compaction/radix_sort.cu | 24 ++++++++++++++++++++++-- stream_compaction/radix_sort.h | 2 +- 4 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4aabb34..dd8768f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,7 +20,7 @@ #include "testing_helpers.hpp" -#define TEST_GROUP_SIZE 100 +#define TEST_GROUP_SIZE 1 int main(int argc, char* argv[]) { @@ -42,13 +42,27 @@ int main(int argc, char* argv[]) { zeroArray(SIZE, b); printDesc("parallel radix sort, power-of-two"); - ParallelRadixSort::sort(SIZE, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + try + { + ParallelRadixSort::sort(SIZE, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + } + catch (std::exception &e) + { + std::cout << " ParallelRadixSort::sort: Error: " << e.what() << std::endl; + } printArray(SIZE, b, true); testSorted(SIZE, b); zeroArray(SIZE, b); printDesc("parallel radix sort, non power-of-two"); - ParallelRadixSort::sort(NPOT, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + try + { + ParallelRadixSort::sort(NPOT, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + } + catch (std::exception &e) + { + std::cout << " ParallelRadixSort::sort: Error: " << e.what() << std::endl; + } printArray(NPOT, b, true); testSorted(NPOT, b); diff --git a/src/testing_helpers.hpp b/src/testing_helpers.hpp index f3fa146..3bfa43f 100644 --- a/src/testing_helpers.hpp +++ b/src/testing_helpers.hpp @@ -60,9 +60,15 @@ void printArray(int n, int *a, bool abridged = false) { } template -void testSorted(uint32_t n, const T *data, bool lessThan = true) +void testSorted(int n, const T *data, bool lessThan = true) { - for (uint32_t i = 0; i < n - 1; ++i) + if (n <= 0 || !data) + { + printf(" testSorted: Error: Invalid argument(s)\n"); + return; + } + + for (int i = 0; i < n - 1; ++i) { if ((lessThan && (data[i] > data[i + 1])) || (!lessThan && (data[i] < data[i + 1]))) diff --git a/stream_compaction/radix_sort.cu b/stream_compaction/radix_sort.cu index bf35eb1..47d3413 100644 --- a/stream_compaction/radix_sort.cu +++ b/stream_compaction/radix_sort.cu @@ -3,10 +3,25 @@ #include #include #include +#include +#include #include "radix_sort.h" +namespace std +{ + class InvalidArgument : public exception + { + public: + virtual const char *what() const throw() + { + return "One or more invalid arguments detected"; + } + }; +} + + namespace ParallelRadixSort { template @@ -40,8 +55,13 @@ namespace ParallelRadixSort } template - void sort(uint32_t n, T *odata, const T *idata, T bitMask, bool lsb) + void sort(int n, T *odata, const T *idata, T bitMask, bool lsb) { + if (n <= 0 || !odata || !idata) + { + throw std::InvalidArgument(); + } + T *idata_dev = 0; T *odata_dev = 0; uint32_t *noyes_bools_dev = 0; @@ -89,5 +109,5 @@ namespace ParallelRadixSort // Since template definition is not visible to users (main.obj in this case), // we need to explicitly tell the compiler to generate all the template implementations // that will be used later - template void sort(uint32_t n, uint32_t *odata, const uint32_t *idata, uint32_t bitMask, bool lsb); + template void sort(int n, uint32_t *odata, const uint32_t *idata, uint32_t bitMask, bool lsb); } \ No newline at end of file diff --git a/stream_compaction/radix_sort.h b/stream_compaction/radix_sort.h index 952578a..2ca97c6 100644 --- a/stream_compaction/radix_sort.h +++ b/stream_compaction/radix_sort.h @@ -7,5 +7,5 @@ namespace ParallelRadixSort { // Only work on unsigned integral types template - void sort(uint32_t n, T *odata, const T *idata, T bitMask, bool lsb = true); + void sort(int n, T *odata, const T *idata, T bitMask, bool lsb = true); } \ No newline at end of file From 9f2498910346bd4bc50a7902d9b132140a529cf1 Mon Sep 17 00:00:00 2001 From: Jian Date: Fri, 23 Sep 2016 12:33:27 -0400 Subject: [PATCH 03/11] added thrust sort for comparison --- src/main.cpp | 56 +++++++++++++++-- stream_compaction/efficient.cu | 43 ++++--------- stream_compaction/efficient.h | 62 +++++++++++++++++-- stream_compaction/radix_sort.cu | 106 ++++++++++++++++++++++++++++++-- stream_compaction/radix_sort.h | 8 +++ 5 files changed, 230 insertions(+), 45 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index dd8768f..84be0de 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -20,7 +20,7 @@ #include "testing_helpers.hpp" -#define TEST_GROUP_SIZE 1 +#define TEST_GROUP_SIZE 100 int main(int argc, char* argv[]) { @@ -40,29 +40,77 @@ int main(int argc, char* argv[]) { a[SIZE - 1] = 0; printArray(SIZE, a, true); + float accumExecTime = 0.f; zeroArray(SIZE, b); printDesc("parallel radix sort, power-of-two"); try { - ParallelRadixSort::sort(SIZE, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + accumExecTime += ParallelRadixSort::sort(SIZE, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + } } catch (std::exception &e) { std::cout << " ParallelRadixSort::sort: Error: " << e.what() << std::endl; } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; printArray(SIZE, b, true); testSorted(SIZE, b); + accumExecTime = 0.f; zeroArray(SIZE, b); printDesc("parallel radix sort, non power-of-two"); try { - ParallelRadixSort::sort(NPOT, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + accumExecTime += ParallelRadixSort::sort(NPOT, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + } } catch (std::exception &e) { std::cout << " ParallelRadixSort::sort: Error: " << e.what() << std::endl; } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(NPOT, b, true); + testSorted(NPOT, b); + + //system("pause"); + + accumExecTime = 0.f; + zeroArray(SIZE, b); + printDesc("thrust sort, power-of-two"); + try + { + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + accumExecTime += ParallelRadixSort::thrustSort(SIZE, reinterpret_cast(b), reinterpret_cast(a)); + } + } + catch (std::exception &e) + { + std::cout << " ParallelRadixSort::thrustSort: Error: " << e.what() << std::endl; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + printArray(SIZE, b, true); + testSorted(SIZE, b); + + accumExecTime = 0.f; + zeroArray(SIZE, b); + printDesc("thrust sort, non power-of-two"); + try + { + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + accumExecTime += ParallelRadixSort::thrustSort(NPOT, reinterpret_cast(b), reinterpret_cast(a)); + } + } + catch (std::exception &e) + { + std::cout << " ParallelRadixSort::thrustSort: Error: " << e.what() << std::endl; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; printArray(NPOT, b, true); testSorted(NPOT, b); @@ -87,7 +135,7 @@ int main(int argc, char* argv[]) { zeroArray(SIZE, c); printDesc("naive scan, power-of-two"); - float accumExecTime = 0.f; + accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) accumExecTime += StreamCompaction::Naive::scan(SIZE, c, a); std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 9f1c439..76d0ce8 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -5,28 +5,10 @@ #include "efficient.h" #include -#define USING_SHARED_MEMORY - -#ifdef USING_SHARED_MEMORY -#define MAX_SEGMENT_SIZE 1024 -#define NUM_SEG(x, ss) (((x) + (ss) - 1) / (ss)) -#define ROUND_SEG_SIZE(x, ss) (NUM_SEG(x, (ss)) * (ss)) - -#define NUM_BANKS 32 -#define LOG_NUM_BANKS 5 -#define CONFLICT_FREE_OFFSET(x) ((x) >> LOG_NUM_BANKS) -#endif namespace StreamCompaction { namespace Efficient { - int nearestMultipleOfTwo(int n) - { - int result = 1; - while (result < n) result <<= 1; - return result; - } - #ifdef USING_SHARED_MEMORY __global__ void kernScan(int segSize, int * __restrict__ blockSums, int * __restrict__ odata, const int * __restrict__ idata) { @@ -109,10 +91,6 @@ namespace StreamCompaction { odata[writeIdx2] += sum; } - inline int computeSegmentSize(int n) - { - return n > (MAX_SEGMENT_SIZE >> 1) ? MAX_SEGMENT_SIZE : nearestMultipleOfTwo(n); - } #ifdef MEASURE_EXEC_TIME float scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev) @@ -129,10 +107,13 @@ namespace StreamCompaction { if (numBlocks > 1) { segSizeNextLevel = computeSegmentSize(numBlocks); - size_t kBlockSumsSize = ROUND_SEG_SIZE(numBlocks, segSizeNextLevel) * sizeof(int); - cudaMalloc(&iblockSums, kBlockSumsSize); - cudaMalloc(&oblockSums, kBlockSumsSize); - cudaMemset(iblockSums, 0, kBlockSumsSize); + //size_t kBlockSumsSize = ROUND_SEG_SIZE(numBlocks, segSizeNextLevel) * sizeof(int); + //cudaMalloc(&iblockSums, kBlockSumsSize); + //cudaMalloc(&oblockSums, kBlockSumsSize); + //cudaMemset(iblockSums, 0, kBlockSumsSize); + size_t offsetInDW = alignedSize(numBlocks * segSize * sizeof(int), 256) >> 2; + iblockSums = const_cast(idata_dev + offsetInDW); + oblockSums = odata_dev + offsetInDW; } #ifdef MEASURE_EXEC_TIME @@ -168,8 +149,8 @@ namespace StreamCompaction { kernPerSegmentAdd << > >(segSize, odata_dev, oblockSums); #endif - cudaFree(iblockSums); - cudaFree(oblockSums); + //cudaFree(iblockSums); + //cudaFree(oblockSums); } #ifdef MEASURE_EXEC_TIME @@ -244,7 +225,8 @@ namespace StreamCompaction { #endif #ifdef USING_SHARED_MEMORY int segSize = computeSegmentSize(n); - const size_t kDevArraySizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); + //const size_t kDevArraySizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); + const size_t kDevArraySizeInByte = computeActualMemSize(n); int *odata_dev = 0; int *idata_dev = 0; @@ -351,7 +333,8 @@ namespace StreamCompaction { int *indices_dev = 0; int segSize = computeSegmentSize(n); - const size_t kBoolsSizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); + //const size_t kBoolsSizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); + const size_t kBoolsSizeInByte = computeActualMemSize(n); const size_t kIndicesSizeInByte = kBoolsSizeInByte; cudaMalloc(&idata_dev, n * sizeof(int)); diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 98db48d..63ab706 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -1,13 +1,65 @@ #pragma once +#define USING_SHARED_MEMORY + +#ifdef USING_SHARED_MEMORY +#define MAX_SEGMENT_SIZE 1024 +#define NUM_SEG(x, ss) (((x) + (ss) - 1) / (ss)) +#define ROUND_SEG_SIZE(x, ss) (NUM_SEG(x, (ss)) * (ss)) + +#define NUM_BANKS 32 +#define LOG_NUM_BANKS 5 +#define CONFLICT_FREE_OFFSET(x) ((x) >> LOG_NUM_BANKS) +#endif + namespace StreamCompaction { -namespace Efficient { + namespace Efficient { #ifdef MEASURE_EXEC_TIME - float scan(int n, int *odata, const int *idata); + float scan(int n, int *odata, const int *idata); + float scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev); #else - void scan(int n, int *odata, const int *idata); + void scan(int n, int *odata, const int *idata); + void scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev); #endif - int compact(int n, int *odata, const int *idata); -} + int compact(int n, int *odata, const int *idata); + + inline int nearestMultipleOfTwo(int n) + { + int result = 1; + while (result < n) result <<= 1; + return result; + } + + inline int computeSegmentSize(int n) + { + return n >(MAX_SEGMENT_SIZE >> 1) ? MAX_SEGMENT_SIZE : nearestMultipleOfTwo(n); + } + + inline size_t alignedSize(size_t sizeInBytes, size_t alignmentInBytes) + { + return (sizeInBytes + alignmentInBytes - 1) / alignmentInBytes * alignmentInBytes; + } + + // Assuming address start at a 256-byte boundary + template + inline size_t computeActualMemSize(int n) + { + const size_t kMemAlignmentInBytes = 256; // the alignment CUDA driver used + + int segSize = computeSegmentSize(n); + int numSegs = NUM_SEG(n, segSize); + size_t total = alignedSize(numSegs * segSize * sizeof(T), kMemAlignmentInBytes); + + while (numSegs > 1) + { + segSize = computeSegmentSize(numSegs); + numSegs = NUM_SEG(numSegs, segSize); + size_t extra = alignedSize(numSegs * segSize * sizeof(T), kMemAlignmentInBytes); + total += extra; + } + + return total; + } + } } diff --git a/stream_compaction/radix_sort.cu b/stream_compaction/radix_sort.cu index 47d3413..c0e1023 100644 --- a/stream_compaction/radix_sort.cu +++ b/stream_compaction/radix_sort.cu @@ -3,9 +3,12 @@ #include #include #include +#include #include #include +#define MEASURE_EXEC_TIME +#include #include "radix_sort.h" @@ -54,14 +57,23 @@ namespace ParallelRadixSort odata[idx] = idata[tid]; } +#ifdef MEASURE_EXEC_TIME + template + float sort(int n, T *odata, const T *idata, T bitMask, bool lsb) +#else template void sort(int n, T *odata, const T *idata, T bitMask, bool lsb) +#endif { if (n <= 0 || !odata || !idata) { throw std::InvalidArgument(); } + int segSize = StreamCompaction::Efficient::computeSegmentSize(2 * n); + //const size_t kDevArraySizeInByte = ROUND_SEG_SIZE(2 * n, segSize) * sizeof(uint32_t); + const size_t kDevArraySizeInByte = StreamCompaction::Efficient::computeActualMemSize(2 * n); + T *idata_dev = 0; T *odata_dev = 0; uint32_t *noyes_bools_dev = 0; @@ -69,26 +81,60 @@ namespace ParallelRadixSort cudaMalloc(&idata_dev, n * sizeof(T)); cudaMalloc(&odata_dev, n * sizeof(T)); - cudaMalloc(&noyes_bools_dev, 2 * n * sizeof(uint32_t)); - cudaMalloc(&indices_dev, 2 * n * sizeof(uint32_t)); + cudaMalloc(&noyes_bools_dev, kDevArraySizeInByte); + cudaMalloc(&indices_dev, kDevArraySizeInByte); cudaMemcpy(idata_dev, idata, n * sizeof(T), cudaMemcpyHostToDevice); - thrust::device_ptr thrust_bools(noyes_bools_dev); - thrust::device_ptr thrust_indices(indices_dev); - const int threadsPerBlock = 256; int numBlocks = (n + threadsPerBlock - 1) / threadsPerBlock; int numBits = 8 * sizeof(T); T mask = lsb ? 1 : (1 << (numBits - 1)); +#ifdef MEASURE_EXEC_TIME + float execTime = 0.f, et; + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + + for (int i = 0; i < numBits; ++i) + { + if (!(bitMask & mask)) continue; // do not consider this bit + + cudaEventRecord(start); + kernClassify << > >(n, mask, noyes_bools_dev, noyes_bools_dev + n, idata_dev); + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&et, start, stop); + execTime += et; + + execTime += StreamCompaction::Efficient::scanHelper(segSize, 2 * n, + reinterpret_cast(indices_dev), reinterpret_cast(noyes_bools_dev)); + + cudaEventRecord(start); + kernScatter << > >(n, noyes_bools_dev, indices_dev, indices_dev + n, odata_dev, idata_dev); + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&et, start, stop); + execTime += et; + + if (lsb) mask <<= 1; else mask >>= 1; + + T *tmp = odata_dev; + odata_dev = idata_dev; + idata_dev = tmp; + } + + cudaEventDestroy(start); + cudaEventDestroy(stop); +#else for (int i = 0; i < numBits; ++i) { if (!(bitMask & mask)) continue; // do not consider this bit kernClassify << > >(n, mask, noyes_bools_dev, noyes_bools_dev + n, idata_dev); - thrust::exclusive_scan(thrust_bools, thrust_bools + 2 * n, thrust_indices); + StreamCompaction::Efficient::scanHelper(segSize, 2 * n, indices_dev, noyes_bools_dev); kernScatter << > >(n, noyes_bools_dev, indices_dev, indices_dev + n, odata_dev, idata_dev); @@ -98,16 +144,64 @@ namespace ParallelRadixSort odata_dev = idata_dev; idata_dev = tmp; } +#endif cudaMemcpy(odata, idata_dev, n * sizeof(T), cudaMemcpyDeviceToHost); cudaFree(idata_dev); cudaFree(odata_dev); cudaFree(noyes_bools_dev); cudaFree(indices_dev); + +#ifdef MEASURE_EXEC_TIME + return execTime; +#endif } // Since template definition is not visible to users (main.obj in this case), // we need to explicitly tell the compiler to generate all the template implementations // that will be used later +#ifdef MEASURE_EXEC_TIME + template float sort(int n, uint32_t *odata, const uint32_t *idata, uint32_t bitMask, bool lsb); +#else template void sort(int n, uint32_t *odata, const uint32_t *idata, uint32_t bitMask, bool lsb); +#endif + +#ifdef MEASURE_EXEC_TIME + template + float thrustSort(int n, T *odata, const T *idata) + { + if (n <= 0 || !odata || !idata) + { + throw std::InvalidArgument(); + } + + T *iodata_dev = 0; + + cudaMalloc(&iodata_dev, n * sizeof(T)); + cudaMemcpy(iodata_dev, idata, n * sizeof(T), cudaMemcpyHostToDevice); + + thrust::device_ptr thrust_iodata(iodata_dev); + + float execTime; + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + cudaEventRecord(start); + + thrust::stable_sort(thrust_iodata, thrust_iodata + n); + + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&execTime, start, stop); + cudaEventDestroy(start); + cudaEventDestroy(stop); + + cudaMemcpy(odata, iodata_dev, n * sizeof(T), cudaMemcpyDeviceToHost); + cudaFree(iodata_dev); + + return execTime; + } + + template float thrustSort(int n, uint32_t *odata, const uint32_t *idata); +#endif } \ No newline at end of file diff --git a/stream_compaction/radix_sort.h b/stream_compaction/radix_sort.h index 2ca97c6..8eea74d 100644 --- a/stream_compaction/radix_sort.h +++ b/stream_compaction/radix_sort.h @@ -6,6 +6,14 @@ namespace ParallelRadixSort { // Only work on unsigned integral types +#ifdef MEASURE_EXEC_TIME + template + float sort(int n, T *odata, const T *idata, T bitMask, bool lsb = true); + + template + float thrustSort(int n, T *odata, const T *idata); +#else template void sort(int n, T *odata, const T *idata, T bitMask, bool lsb = true); +#endif } \ No newline at end of file From 365a6ab4f65f8f1280c5d6eaad0d0e9e6078bc91 Mon Sep 17 00:00:00 2001 From: Jian Date: Fri, 23 Sep 2016 23:45:51 -0400 Subject: [PATCH 04/11] readme --- README.md | 187 +++++++++++++++++++++++++++++++- img/sc_perf1.png | Bin 0 -> 150296 bytes src/main.cpp | 103 +++++++++++++++--- src/testing_helpers.hpp | 13 +++ stream_compaction/efficient.cu | 96 ++++++++-------- stream_compaction/efficient.h | 26 ++++- stream_compaction/radix_sort.cu | 21 ++-- 7 files changed, 355 insertions(+), 91 deletions(-) create mode 100644 img/sc_perf1.png diff --git a/README.md b/README.md index b71c458..1847836 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,188 @@ CUDA Stream Compaction **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Jian Ru +* Tested on: Windows 10, i7-4850 @ 2.30GHz 16GB, GT 750M 2GB (Personal) -### (TODO: Your README) +### List of Features -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +* CPU scan and stream compaction +* Naive GPU scan +* Work-efficient GPU scan and stream compaction (used shared memory) +* Thrust scan +* GPU radix sort (added radix_sort.h and radix_sort.cu) +* Custom tests +### Performance Analysis + + [](img/sc_perf1.png) + +* Optimizing Block Sizes + * 128 or 256 turn out to be the best. Unless you use non-multiple of warp size, + really small (like 32), or really big (like 1024) block size, the performance difference + is not really that huge + * The only exception is work-efficient scan. Since reducing block size increases the number + of sub-sums and likely increases the number of recursions, it enjoys a larger block size + (512 turns out to be optimal on my machine). Even if so, using 1024 turns out to be slower. + It may due to reduced concurrent execution, since all the threads in a block need to be + synchtronized at 3 different places in the kernel. Increasing block size means fewer threads + can terminate and leave multiprocessor early. So it is likely to hurt performance. + +* Array Size vs. Execution Time (ms) + * Exclusive scan + Array Size | Naive | Efficient | Thrust | CPU + --- | --- | --- | --- | --- + 2^8 | 0.03 | 0.01 | 0.02 | 0.01 + 2^15 | 0.19 | 0.06 | 0.52 | 0.01 + 2^20 | 5.67 | 1.38 | 0.97 | 3.50 + 2^25 | 225.00 | 43.40 | 18.14 | 89.33 + + * Stream compaction + Array Size | Efficient | CPU (no scan) | CPU (with scan) + --- | --- | --- | --- + 2^8 | 0.09 | 0.00 | 0.00 + 2^15 | 0.16 | 0.09 | 0.20 + 2^20 | 3.78 | 2.70 | 6.03 + 2^25 | 107.73 | 109.55 | 194.05 + + * Radix sort + Array Size | Efficient | Thrust + --- | --- | --- + 2^8 | 0.52 | 0.58 + 2^15 | 4.37 | 0.34 + 2^20 | 109.27 | 5.80 + 2^25 | 3642.84 | 116.92 + +* Performance Bottlenecks + * CUDA runtime APIs for memory manipulation (e.g. cudaMalloc, cudaMemcpy, cudaFree) are super expensive + * Naive scan + * Excessive global memory access + * Too many kernel calls (each level of up/down-sweep require one kernel call) + * Work-efficient scan + * Bank conflicts at the beginning but have been resolved now + * Algorithm not good enough (too much computation) when compared to thrust's implementation + bacause my scan kernel, on average, takes twice as much time to execute as thrust's kernel + * Too many kernel calls when array size is large + * In my implementation, if array size exceed 2 times block size, two more calls are + required: one scan the sub-sums and another one scatter scanned sub-sums to corresponding + blocks. If the size of sub-sum array is further greater than 2 times block size, another + two extra calls are generated and this recursive behavior will go on as array size gets + larger and larger. + * Thrust's scan implementation stablizes at 3 kernel calls despite of the size of data. + Thus even though my implementation is comparable or even slightly faster than thrust scan, + it becomes much slower when array size becomes really large (2^25 for example) + * Thrust scan + * Additional cudaMalloc and cudaFree calls + * Judging from the performance analysis timeline, thrust is doing cudaMalloc and cudaFree + even if I pass in thrust::device_ptr. This causes thrust scan become slower than my + work-efficient scan when array size is small + * Work-effcient stream compaction + * My implementation is basically a wrapper on work-efficient scan plus two light-weight + kernels, kernMapToBoolean and kernScatter. So the bottlenecks are the same as work efficient + scan + * Self-implemented radix sort + * Excessive kernel calls + * Scan kernel implementation not good enough when compared with thrust's + * My implementation is super naive. I basically separate elements into 0 bin and 1 bin and + do this for every bit. So if the type has 32 bits, there will be 3 * 32 kernel invocations + or more when array size gets large. + * On the other hand, judging from performance analysis timeline, thrust's implementation + has 3 * 7 kernel invacations all the time and one of the kernel is super cheap (took less + than 10 microseconds to execute on 2^25 array size). Moreover, even the two more expensive + kernels run much faster than my scan kernel on large data size + +* Sample Output + +``` + +GeForce GT 750M [sm_30] +Array Size: 1048576 +Test group size: 100 +Note: + 1. Execution time is the average over @TEST_GROUP_SIZE times exections + 2. Runtime API memory operations were excluded from time measurement + +**************** +** RADIX SORT TESTS ** +**************** + [ 3 4 3 2 0 2 0 0 0 2 3 0 2 ... 1 0 ] +==== parallel radix sort, power-of-two ==== + Execution Time: 110.19ms + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] + passed +==== parallel radix sort, non power-of-two ==== + Execution Time: 109.44ms + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] + passed +==== thrust sort, power-of-two ==== + Execution Time: 5.64ms + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] + passed +==== thrust sort, non power-of-two ==== + Execution Time: 5.32ms + [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] + passed + +**************** +** SCAN TESTS ** +**************** +==== cpu scan, power-of-two ==== + Execution Time: 2.36ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] +==== cpu scan, non-power-of-two ==== + Execution Time: 2.37ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] + passed +==== naive scan, power-of-two ==== + Execution Time: 5.67ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] + passed +==== naive scan, non-power-of-two ==== + Execution Time: 5.67ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] + passed +==== work-efficient scan, power-of-two ==== + Execution Time: 1.39ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] + passed +==== work-efficient scan, non-power-of-two ==== + Execution Time: 1.39ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] + passed +==== thrust scan, power-of-two ==== + Execution Time: 1.02ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] + passed +==== thrust scan, non-power-of-two ==== + Execution Time: 1.02ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 2 3 2 1 3 1 1 1 2 0 1 0 2 ... 0 0 ] +==== cpu compact without scan, power-of-two ==== + Execution Time: 2.71ms + [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] + passed +==== cpu compact without scan, non-power-of-two ==== + Execution Time: 2.66ms + [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] + passed +==== cpu compact with scan ==== + Execution Time: 5.87ms + [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] + passed +==== work-efficient compact, power-of-two ==== + Execution Time: 3.89ms + [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] + passed +==== work-efficient compact, non-power-of-two ==== + Execution Time: 3.86ms + [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] + passed +Press any key to continue . . . +``` + + \ No newline at end of file diff --git a/img/sc_perf1.png b/img/sc_perf1.png new file mode 100644 index 0000000000000000000000000000000000000000..9a24619db68d7f53f1a9da38be1e49721d08de02 GIT binary patch literal 150296 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

7a8^GhDq;EnG>uTa~rDzCSA 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

aS9Z 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 z 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

uK0zOqz=?1-y^Y~EI2_;%oU#=^eLO8}BE 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 literal 0 HcmV?d00001 diff --git a/src/main.cpp b/src/main.cpp index 84be0de..fdbf550 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -30,10 +30,18 @@ int main(int argc, char* argv[]) { int *b = new int[SIZE]; int *c = new int[SIZE]; - // Scan tests + printGPUInfo(0); + std::cout << "Array Size: " << SIZE << '\n' + << "Test group size: " << TEST_GROUP_SIZE << '\n' + << "Note:\n" + << " 1. Execution time is the average over @TEST_GROUP_SIZE times exections\n" + << " 2. Runtime API memory operations were excluded from time measurement\n"; + //system("pause"); + + // Radix sort test printf("\n"); printf("****************\n"); - printf("** SCAN TESTS **\n"); + printf("** RADIX SORT TESTS **\n"); printf("****************\n"); genArray(SIZE - 1, a, 5); // Leave a 0 at the end to test that edge case @@ -48,13 +56,14 @@ int main(int argc, char* argv[]) { for (int i = 0; i < TEST_GROUP_SIZE; ++i) { accumExecTime += ParallelRadixSort::sort(SIZE, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + if (i == 0) accumExecTime = 0.f; } } catch (std::exception &e) { std::cout << " ParallelRadixSort::sort: Error: " << e.what() << std::endl; } - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(SIZE, b, true); testSorted(SIZE, b); @@ -66,13 +75,14 @@ int main(int argc, char* argv[]) { for (int i = 0; i < TEST_GROUP_SIZE; ++i) { accumExecTime += ParallelRadixSort::sort(NPOT, reinterpret_cast(b), reinterpret_cast(a), 0xffffffff); + if (i == 0) accumExecTime = 0.f; } } catch (std::exception &e) { std::cout << " ParallelRadixSort::sort: Error: " << e.what() << std::endl; } - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(NPOT, b, true); testSorted(NPOT, b); @@ -86,13 +96,14 @@ int main(int argc, char* argv[]) { for (int i = 0; i < TEST_GROUP_SIZE; ++i) { accumExecTime += ParallelRadixSort::thrustSort(SIZE, reinterpret_cast(b), reinterpret_cast(a)); + if (i == 0) accumExecTime = 0.f; } } catch (std::exception &e) { std::cout << " ParallelRadixSort::thrustSort: Error: " << e.what() << std::endl; } - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(SIZE, b, true); testSorted(SIZE, b); @@ -104,16 +115,23 @@ int main(int argc, char* argv[]) { for (int i = 0; i < TEST_GROUP_SIZE; ++i) { accumExecTime += ParallelRadixSort::thrustSort(NPOT, reinterpret_cast(b), reinterpret_cast(a)); + if (i == 0) accumExecTime = 0.f; } } catch (std::exception &e) { std::cout << " ParallelRadixSort::thrustSort: Error: " << e.what() << std::endl; } - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(NPOT, b, true); testSorted(NPOT, b); + // Scan tests + printf("\n"); + printf("****************\n"); + printf("** SCAN TESTS **\n"); + printf("****************\n"); + zeroArray(SIZE, b); printDesc("cpu scan, power-of-two"); clock_t start = clock(); @@ -137,8 +155,11 @@ int main(int argc, char* argv[]) { printDesc("naive scan, power-of-two"); accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { accumExecTime += StreamCompaction::Naive::scan(SIZE, c, a); - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(SIZE, c, true); printCmpResult(SIZE, b, c); @@ -146,8 +167,11 @@ int main(int argc, char* argv[]) { printDesc("naive scan, non-power-of-two"); accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { accumExecTime += StreamCompaction::Naive::scan(NPOT, c, a); - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(NPOT, c, true); printCmpResult(NPOT, b, c); @@ -155,8 +179,11 @@ int main(int argc, char* argv[]) { printDesc("work-efficient scan, power-of-two"); accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { accumExecTime += StreamCompaction::Efficient::scan(SIZE, c, a); - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(SIZE, c, true); printCmpResult(SIZE, b, c); @@ -164,8 +191,11 @@ int main(int argc, char* argv[]) { printDesc("work-efficient scan, non-power-of-two"); accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { accumExecTime += StreamCompaction::Efficient::scan(NPOT, c, a); - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(NPOT, c, true); printCmpResult(NPOT, b, c); @@ -173,8 +203,11 @@ int main(int argc, char* argv[]) { printDesc("thrust scan, power-of-two"); accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { accumExecTime += StreamCompaction::Thrust::scan(SIZE, c, a); - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(SIZE, c, true); printCmpResult(SIZE, b, c); @@ -182,8 +215,11 @@ int main(int argc, char* argv[]) { printDesc("thrust scan, non-power-of-two"); accumExecTime = 0.f; for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { accumExecTime += StreamCompaction::Thrust::scan(NPOT, c, a); - std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / TEST_GROUP_SIZE << "ms\n"; + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(NPOT, c, true); printCmpResult(NPOT, b, c); @@ -202,33 +238,64 @@ int main(int argc, char* argv[]) { zeroArray(SIZE, b); printDesc("cpu compact without scan, power-of-two"); - count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); + start = clock(); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::CPU::compactWithoutScan(SIZE, b, a); + } + end = clock(); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << double(end - start) / CLOCKS_PER_SEC * 1000 / TEST_GROUP_SIZE << "ms\n"; expectedCount = count; printArray(count, b, true); printCmpLenResult(count, expectedCount, b, b); zeroArray(SIZE, c); printDesc("cpu compact without scan, non-power-of-two"); - count = StreamCompaction::CPU::compactWithoutScan(NPOT, c, a); + start = clock(); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::CPU::compactWithoutScan(NPOT, c, a); + } + end = clock(); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << double(end - start) / CLOCKS_PER_SEC * 1000 / TEST_GROUP_SIZE << "ms\n"; expectedNPOT = count; printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); zeroArray(SIZE, c); printDesc("cpu compact with scan"); - count = StreamCompaction::CPU::compactWithScan(SIZE, c, a); + start = clock(); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::CPU::compactWithScan(SIZE, c, a); + } + end = clock(); + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << double(end - start) / CLOCKS_PER_SEC * 1000 / TEST_GROUP_SIZE << "ms\n"; printArray(count, c, true); printCmpLenResult(count, expectedCount, b, c); + float et; + accumExecTime = 0.f; zeroArray(SIZE, c); printDesc("work-efficient compact, power-of-two"); - count = StreamCompaction::Efficient::compact(SIZE, c, a); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::Efficient::compact(SIZE, c, a, &et); + if (i != 0) accumExecTime += et; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(count, c, true); printCmpLenResult(count, expectedCount, b, c); + accumExecTime = 0.f; zeroArray(SIZE, c); printDesc("work-efficient compact, non-power-of-two"); - count = StreamCompaction::Efficient::compact(NPOT, c, a); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::Efficient::compact(NPOT, c, a, &et); + if (i != 0) accumExecTime += et; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); @@ -236,6 +303,6 @@ int main(int argc, char* argv[]) { delete[] b; delete[] c; - system("pause"); + //system("pause"); return 0; } diff --git a/src/testing_helpers.hpp b/src/testing_helpers.hpp index 3bfa43f..a7e8738 100644 --- a/src/testing_helpers.hpp +++ b/src/testing_helpers.hpp @@ -1,6 +1,9 @@ #pragma once #include +#include +#include + template int cmpArrays(int n, T *a, T *b) { @@ -80,3 +83,13 @@ void testSorted(int n, const T *data, bool lessThan = true) printf(" passed\n"); } + +void printGPUInfo(int device) +{ + cudaDeviceProp deviceProp; + + cudaGetDeviceProperties(&deviceProp, device); + + std::cout << '\n' + << deviceProp.name << " [sm_" << deviceProp.major << deviceProp.minor << "]\n"; +} diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 76d0ce8..212a7b0 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -91,73 +91,29 @@ namespace StreamCompaction { odata[writeIdx2] += sum; } - -#ifdef MEASURE_EXEC_TIME - float scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev) -#else void scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev) -#endif { // determine segment size int threadsPerBlock = segSize >> 1; - int numBlocks = NUM_SEG(n, segSize); + int numBlocks = NUM_SEG(n, segSize); // also numSegs int *iblockSums = 0, *oblockSums = 0; int segSizeNextLevel; if (numBlocks > 1) { segSizeNextLevel = computeSegmentSize(numBlocks); - //size_t kBlockSumsSize = ROUND_SEG_SIZE(numBlocks, segSizeNextLevel) * sizeof(int); - //cudaMalloc(&iblockSums, kBlockSumsSize); - //cudaMalloc(&oblockSums, kBlockSumsSize); - //cudaMemset(iblockSums, 0, kBlockSumsSize); size_t offsetInDW = alignedSize(numBlocks * segSize * sizeof(int), 256) >> 2; iblockSums = const_cast(idata_dev + offsetInDW); oblockSums = odata_dev + offsetInDW; } -#ifdef MEASURE_EXEC_TIME - float execTime = 0.f; - cudaEvent_t start, stop; - cudaEventCreate(&start); - cudaEventCreate(&stop); - cudaEventRecord(start); -#endif - kernScan << > >(segSize, iblockSums, odata_dev, idata_dev); -#ifdef MEASURE_EXEC_TIME - cudaEventRecord(stop); - cudaEventSynchronize(stop); - cudaEventElapsedTime(&execTime, start, stop); -#endif - if (numBlocks > 1) { -#ifdef MEASURE_EXEC_TIME - execTime += scanHelper(segSizeNextLevel, numBlocks, oblockSums, iblockSums); - - cudaEventRecord(start); - kernPerSegmentAdd << > >(segSize, odata_dev, oblockSums); - cudaEventRecord(stop); - cudaEventSynchronize(stop); - float et = 0.f; - cudaEventElapsedTime(&et, start, stop); - execTime += et; -#else scanHelper(segSizeNextLevel, numBlocks, oblockSums, iblockSums); kernPerSegmentAdd << > >(segSize, odata_dev, oblockSums); -#endif - - //cudaFree(iblockSums); - //cudaFree(oblockSums); } - -#ifdef MEASURE_EXEC_TIME - cudaEventDestroy(start); - cudaEventDestroy(stop); - return execTime; -#endif } #else __global__ void kernScanUpSweepOneLevel(int offset, int numActiveThreads, int *iodata) @@ -225,7 +181,6 @@ namespace StreamCompaction { #endif #ifdef USING_SHARED_MEMORY int segSize = computeSegmentSize(n); - //const size_t kDevArraySizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); const size_t kDevArraySizeInByte = computeActualMemSize(n); int *odata_dev = 0; int *idata_dev = 0; @@ -236,9 +191,21 @@ namespace StreamCompaction { cudaMemcpy(idata_dev, idata, n * sizeof(int), cudaMemcpyHostToDevice); #ifdef MEASURE_EXEC_TIME - float execTime = scanHelper(segSize, n, odata_dev, idata_dev); -#else + float execTime = 0.f; + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); + cudaEventRecord(start); +#endif + scanHelper(segSize, n, odata_dev, idata_dev); + +#ifdef MEASURE_EXEC_TIME + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&execTime, start, stop); + cudaEventDestroy(start); + cudaEventDestroy(stop); #endif cudaMemcpy(odata, odata_dev, n * sizeof(int), cudaMemcpyDeviceToHost); @@ -317,7 +284,11 @@ namespace StreamCompaction { * @param idata The array of elements to compact. * @returns The number of elements remaining after compaction. */ +#ifdef MEASURE_EXEC_TIME + int compact(int n, int *odata, const int *idata, float *pExecTime) +#else int compact(int n, int *odata, const int *idata) +#endif { if (n <= 0 || !odata || !idata || odata == idata) { @@ -327,13 +298,20 @@ namespace StreamCompaction { using StreamCompaction::Common::kernMapToBoolean; using StreamCompaction::Common::kernScatter; +#ifdef MEASURE_EXEC_TIME + float &execTime = *pExecTime; + + cudaEvent_t start, stop; + cudaEventCreate(&start); + cudaEventCreate(&stop); +#endif + int *idata_dev = 0; int *odata_dev = 0; int *bools_dev = 0; int *indices_dev = 0; int segSize = computeSegmentSize(n); - //const size_t kBoolsSizeInByte = ROUND_SEG_SIZE(n, segSize) * sizeof(int); const size_t kBoolsSizeInByte = computeActualMemSize(n); const size_t kIndicesSizeInByte = kBoolsSizeInByte; @@ -346,6 +324,10 @@ namespace StreamCompaction { const int threadsPerBlock = 256; int numBlocks = (n + threadsPerBlock - 1) / threadsPerBlock; + +#ifdef MEASURE_EXEC_TIME + cudaEventRecord(start); + kernMapToBoolean << > >(n, bools_dev, idata_dev); scanHelper(segSize, n, indices_dev, bools_dev); @@ -357,6 +339,22 @@ namespace StreamCompaction { kernScatter<<>>(n, odata_dev, idata_dev, bools_dev, indices_dev); + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&execTime, start, stop); +#else + kernMapToBoolean << > >(n, bools_dev, idata_dev); + + scanHelper(segSize, n, indices_dev, bools_dev); + + int numElemRemained; + cudaMemcpy(&numElemRemained, indices_dev + (n - 1), sizeof(int), cudaMemcpyDeviceToHost); + numElemRemained += idata[n - 1] ? 1 : 0; + cudaMalloc(&odata_dev, numElemRemained * sizeof(int)); + + kernScatter << > >(n, odata_dev, idata_dev, bools_dev, indices_dev); +#endif + cudaMemcpy(odata, odata_dev, numElemRemained * sizeof(int), cudaMemcpyDeviceToHost); cudaFree(idata_dev); cudaFree(odata_dev); diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 63ab706..9fe1948 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -12,17 +12,21 @@ #define CONFLICT_FREE_OFFSET(x) ((x) >> LOG_NUM_BANKS) #endif -namespace StreamCompaction { - namespace Efficient { +namespace StreamCompaction +{ + namespace Efficient + { #ifdef MEASURE_EXEC_TIME float scan(int n, int *odata, const int *idata); - float scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev); + + int compact(int n, int *odata, const int *idata, float *pExecTime); #else void scan(int n, int *odata, const int *idata); - void scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev); -#endif int compact(int n, int *odata, const int *idata); +#endif + + void scanHelper(int segSize, int n, int *odata_dev, const int *idata_dev); inline int nearestMultipleOfTwo(int n) { @@ -41,7 +45,17 @@ namespace StreamCompaction { return (sizeInBytes + alignmentInBytes - 1) / alignmentInBytes * alignmentInBytes; } - // Assuming address start at a 256-byte boundary + /** + * When data size is large, multiple passes are necessary to compute the + * final result and extra device memory is required to store intermediate + * results. + * + * Use the result from this function to cudaMalloc the input and output + * buffers passed to scanHelper which assumes that I/O device buffers have + * sufficient size. + * + * Assuming address start at a 256-byte boundary + */ template inline size_t computeActualMemSize(int n) { diff --git a/stream_compaction/radix_sort.cu b/stream_compaction/radix_sort.cu index c0e1023..630dff5 100644 --- a/stream_compaction/radix_sort.cu +++ b/stream_compaction/radix_sort.cu @@ -71,7 +71,6 @@ namespace ParallelRadixSort } int segSize = StreamCompaction::Efficient::computeSegmentSize(2 * n); - //const size_t kDevArraySizeInByte = ROUND_SEG_SIZE(2 * n, segSize) * sizeof(uint32_t); const size_t kDevArraySizeInByte = StreamCompaction::Efficient::computeActualMemSize(2 * n); T *idata_dev = 0; @@ -92,31 +91,23 @@ namespace ParallelRadixSort T mask = lsb ? 1 : (1 << (numBits - 1)); #ifdef MEASURE_EXEC_TIME - float execTime = 0.f, et; + float execTime = 0.f; cudaEvent_t start, stop; cudaEventCreate(&start); cudaEventCreate(&stop); + cudaEventRecord(start); + for (int i = 0; i < numBits; ++i) { if (!(bitMask & mask)) continue; // do not consider this bit - cudaEventRecord(start); kernClassify << > >(n, mask, noyes_bools_dev, noyes_bools_dev + n, idata_dev); - cudaEventRecord(stop); - cudaEventSynchronize(stop); - cudaEventElapsedTime(&et, start, stop); - execTime += et; - execTime += StreamCompaction::Efficient::scanHelper(segSize, 2 * n, + StreamCompaction::Efficient::scanHelper(segSize, 2 * n, reinterpret_cast(indices_dev), reinterpret_cast(noyes_bools_dev)); - cudaEventRecord(start); kernScatter << > >(n, noyes_bools_dev, indices_dev, indices_dev + n, odata_dev, idata_dev); - cudaEventRecord(stop); - cudaEventSynchronize(stop); - cudaEventElapsedTime(&et, start, stop); - execTime += et; if (lsb) mask <<= 1; else mask >>= 1; @@ -125,6 +116,10 @@ namespace ParallelRadixSort idata_dev = tmp; } + cudaEventRecord(stop); + cudaEventSynchronize(stop); + cudaEventElapsedTime(&execTime, start, stop); + cudaEventDestroy(start); cudaEventDestroy(stop); #else From 1347c37a5126785ecb6f0391b7345735f2d8f7b4 Mon Sep 17 00:00:00 2001 From: jian-ru Date: Fri, 23 Sep 2016 23:57:22 -0400 Subject: [PATCH 05/11] Update README.md --- README.md | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 1847836..addfa68 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ CUDA Stream Compaction ### Performance Analysis - [](img/sc_perf1.png) + ![](img/sc_perf1.png) * Optimizing Block Sizes * 128 or 256 turn out to be the best. Unless you use non-multiple of warp size, @@ -32,28 +32,31 @@ CUDA Stream Compaction * Array Size vs. Execution Time (ms) * Exclusive scan - Array Size | Naive | Efficient | Thrust | CPU - --- | --- | --- | --- | --- - 2^8 | 0.03 | 0.01 | 0.02 | 0.01 - 2^15 | 0.19 | 0.06 | 0.52 | 0.01 - 2^20 | 5.67 | 1.38 | 0.97 | 3.50 - 2^25 | 225.00 | 43.40 | 18.14 | 89.33 + + | Array Size | Naive | Efficient | Thrust | CPU | + | ---------- | ----- | --------- | ------ | --- | + | 2^8 | 0.03 | 0.01 | 0.02 | 0.01 | + | 2^15 | 0.19 | 0.06 | 0.52 | 0.01 | + | 2^20 | 5.67 | 1.38 | 0.97 | 3.50 | + | 2^25 | 225.00 | 43.40 | 18.14 | 89.33 | * Stream compaction - Array Size | Efficient | CPU (no scan) | CPU (with scan) - --- | --- | --- | --- - 2^8 | 0.09 | 0.00 | 0.00 - 2^15 | 0.16 | 0.09 | 0.20 - 2^20 | 3.78 | 2.70 | 6.03 - 2^25 | 107.73 | 109.55 | 194.05 + + | Array Size | Efficient | CPU (no scan) | CPU (with scan) | + | --- | --- | --- | --- | + | 2^8 | 0.09 | 0.00 | 0.00 | + | 2^15 | 0.16 | 0.09 | 0.20 | + | 2^20 | 3.78 | 2.70 | 6.03 | + | 2^25 | 107.73 | 109.55 | 194.05 | * Radix sort - Array Size | Efficient | Thrust - --- | --- | --- - 2^8 | 0.52 | 0.58 - 2^15 | 4.37 | 0.34 - 2^20 | 109.27 | 5.80 - 2^25 | 3642.84 | 116.92 + + | Array Size | Efficient | Thrust | + | --- | --- | --- | + | 2^8 | 0.52 | 0.58 | + | 2^15 | 4.37 | 0.34 | + | 2^20 | 109.27 | 5.80 | + | 2^25 | 3642.84 | 116.92 | * Performance Bottlenecks * CUDA runtime APIs for memory manipulation (e.g. cudaMalloc, cudaMemcpy, cudaFree) are super expensive @@ -187,4 +190,4 @@ Note: Press any key to continue . . . ``` - \ No newline at end of file + From 9a326073bbc34d5fda7418752b7d72712c771639 Mon Sep 17 00:00:00 2001 From: Jian Date: Sat, 24 Sep 2016 00:33:19 -0400 Subject: [PATCH 06/11] images --- img/rs_perf.png | Bin 0 -> 15042 bytes img/sc_perf2.png | Bin 0 -> 16066 bytes img/scan_perf.png | Bin 0 -> 15689 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/rs_perf.png create mode 100644 img/sc_perf2.png create mode 100644 img/scan_perf.png diff --git a/img/rs_perf.png b/img/rs_perf.png new file mode 100644 index 0000000000000000000000000000000000000000..f7efd470e0402dc1b4d15a50c5212db1dbcf2404 GIT binary patch literal 15042 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 EUsY_O761SM literal 0 HcmV?d00001 diff --git a/img/sc_perf2.png b/img/sc_perf2.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c9229354b222ae426b62d0770bbdb886552faf GIT binary patch literal 16066 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 nJa~Y@1+e8(zO0hjRfeOMua;nlB?BNo0mkrsD literal 0 HcmV?d00001 diff --git a/img/scan_perf.png b/img/scan_perf.png new file mode 100644 index 0000000000000000000000000000000000000000..7b1a52b032fc863bba199b060886584672a98e7e GIT binary patch literal 15689 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 X(WL4V6D&X-LZWa>`DVrq1NZ*`t{6Lu literal 0 HcmV?d00001 From 2ad062b7d14fb74251934a0fecd5c08d865d4e64 Mon Sep 17 00:00:00 2001 From: jian-ru Date: Sat, 24 Sep 2016 00:37:04 -0400 Subject: [PATCH 07/11] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index addfa68..20a2482 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,8 @@ CUDA Stream Compaction * Array Size vs. Execution Time (ms) * Exclusive scan + ![](img/scan_perf.png) + | Array Size | Naive | Efficient | Thrust | CPU | | ---------- | ----- | --------- | ------ | --- | | 2^8 | 0.03 | 0.01 | 0.02 | 0.01 | @@ -42,6 +44,8 @@ CUDA Stream Compaction * Stream compaction + ![](img/sc_perf2.png) + | Array Size | Efficient | CPU (no scan) | CPU (with scan) | | --- | --- | --- | --- | | 2^8 | 0.09 | 0.00 | 0.00 | @@ -51,6 +55,8 @@ CUDA Stream Compaction * Radix sort + ![](img/rs_perf.png) + | Array Size | Efficient | Thrust | | --- | --- | --- | | 2^8 | 0.52 | 0.58 | From e19a60944c70da437f84805af1295a42ab059223 Mon Sep 17 00:00:00 2001 From: jian-ru Date: Tue, 27 Sep 2016 14:41:21 -0400 Subject: [PATCH 08/11] Update README.md --- README.md | 55 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 20a2482..8f9b476 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ CUDA Stream Compaction ### List of Features +* Batch scan (faster than thrust implementation even when data size is as large as 2^26) * CPU scan and stream compaction * Naive GPU scan * Work-efficient GPU scan and stream compaction (used shared memory) @@ -35,12 +36,13 @@ CUDA Stream Compaction ![](img/scan_perf.png) - | Array Size | Naive | Efficient | Thrust | CPU | - | ---------- | ----- | --------- | ------ | --- | - | 2^8 | 0.03 | 0.01 | 0.02 | 0.01 | - | 2^15 | 0.19 | 0.06 | 0.52 | 0.01 | - | 2^20 | 5.67 | 1.38 | 0.97 | 3.50 | - | 2^25 | 225.00 | 43.40 | 18.14 | 89.33 | + | Array Size | Naive | Efficient | Thrust | CPU | Batch | + | ---------- | ----- | --------- | ------ | --- | ----- | + | 2^8 | 0.03 | 0.01 | 0.02 | 0.00 | 0.01 | + | 2^15 | 0.42 | 0.07 | 0.70 | 0.08 | 0.03 | + | 2^20 | 5.72 | 1.39 | 0.93 | 2.31 | 0.42 | + | 2^25 | 223.64 | 43.40 | 18.15 | 77.18 | 12.39 | + | 2^26 | 465.44 | 86.81 | 35.85 | 153.48 | 24.75 | * Stream compaction @@ -51,7 +53,8 @@ CUDA Stream Compaction | 2^8 | 0.09 | 0.00 | 0.00 | | 2^15 | 0.16 | 0.09 | 0.20 | | 2^20 | 3.78 | 2.70 | 6.03 | - | 2^25 | 107.73 | 109.55 | 194.05 | + | 2^25 | 72.91 | 85.98 | 196.08 | + | 2^26 | 143.49 | 174.08 | 391.90 | * Radix sort @@ -118,19 +121,19 @@ Note: **************** [ 3 4 3 2 0 2 0 0 0 2 3 0 2 ... 1 0 ] ==== parallel radix sort, power-of-two ==== - Execution Time: 110.19ms + Execution Time: 109.91ms [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] passed ==== parallel radix sort, non power-of-two ==== - Execution Time: 109.44ms + Execution Time: 113.13ms [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] passed ==== thrust sort, power-of-two ==== - Execution Time: 5.64ms + Execution Time: 3.55ms [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] passed ==== thrust sort, non power-of-two ==== - Execution Time: 5.32ms + Execution Time: 3.41ms [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 4 4 ] passed @@ -138,18 +141,18 @@ Note: ** SCAN TESTS ** **************** ==== cpu scan, power-of-two ==== - Execution Time: 2.36ms + Execution Time: 2.32ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] ==== cpu scan, non-power-of-two ==== - Execution Time: 2.37ms + Execution Time: 2.39ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] passed ==== naive scan, power-of-two ==== - Execution Time: 5.67ms + Execution Time: 5.73ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] passed ==== naive scan, non-power-of-two ==== - Execution Time: 5.67ms + Execution Time: 5.72ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] passed ==== work-efficient scan, power-of-two ==== @@ -160,12 +163,20 @@ Note: Execution Time: 1.39ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] passed +==== batch scan, power-of-two ==== + Execution Time: 0.42ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] + passed +==== batch scan, non-power-of-two ==== + Execution Time: 0.42ms + [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] + passed ==== thrust scan, power-of-two ==== - Execution Time: 1.02ms + Execution Time: 0.93ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098448 2098449 ] passed ==== thrust scan, non-power-of-two ==== - Execution Time: 1.02ms + Execution Time: 0.93ms [ 0 3 7 10 12 12 14 14 14 14 16 19 19 ... 2098443 2098447 ] passed @@ -174,23 +185,23 @@ Note: ***************************** [ 2 3 2 1 3 1 1 1 2 0 1 0 2 ... 0 0 ] ==== cpu compact without scan, power-of-two ==== - Execution Time: 2.71ms + Execution Time: 2.97ms [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] passed ==== cpu compact without scan, non-power-of-two ==== - Execution Time: 2.66ms + Execution Time: 2.65ms [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] passed ==== cpu compact with scan ==== - Execution Time: 5.87ms + Execution Time: 5.90ms [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] passed ==== work-efficient compact, power-of-two ==== - Execution Time: 3.89ms + Execution Time: 2.57ms [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] passed ==== work-efficient compact, non-power-of-two ==== - Execution Time: 3.86ms + Execution Time: 2.57ms [ 2 3 2 1 3 1 1 1 2 1 2 1 1 ... 2 2 ] passed Press any key to continue . . . From 5b47b1e20a46abff52bbe0e3a700af5f9ea5d640 Mon Sep 17 00:00:00 2001 From: jian-ru Date: Tue, 27 Sep 2016 14:49:45 -0400 Subject: [PATCH 09/11] Update README.md --- README.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8f9b476..774eee6 100644 --- a/README.md +++ b/README.md @@ -73,9 +73,12 @@ CUDA Stream Compaction * Excessive global memory access * Too many kernel calls (each level of up/down-sweep require one kernel call) * Work-efficient scan - * Bank conflicts at the beginning but have been resolved now - * Algorithm not good enough (too much computation) when compared to thrust's implementation - bacause my scan kernel, on average, takes twice as much time to execute as thrust's kernel + * Too many threads and in efficient memory I/O + * Threads exceed the number of cores on GPU will queue up. Too many threads also increases + management and scheduling overhead + * Each thread only read in two 4-byte data and the two 4-byte are read in using two separate + instructions. GPU, due to its SIMD nature, is better in handling vector I/O. That is why + batch scan loads and stores a vec4 in each thread * Too many kernel calls when array size is large * In my implementation, if array size exceed 2 times block size, two more calls are required: one scan the sub-sums and another one scatter scanned sub-sums to corresponding @@ -85,10 +88,13 @@ CUDA Stream Compaction * Thrust's scan implementation stablizes at 3 kernel calls despite of the size of data. Thus even though my implementation is comparable or even slightly faster than thrust scan, it becomes much slower when array size becomes really large (2^25 for example) + * Bank conflicts at the beginning but have been resolved now + * Algorithm not good enough (too much computation) when compared to thrust's implementation + bacause my scan kernel, on average, takes twice as much time to execute as thrust's kernel * Thrust scan * Additional cudaMalloc and cudaFree calls * Judging from the performance analysis timeline, thrust is doing cudaMalloc and cudaFree - even if I pass in thrust::device_ptr. This causes thrust scan become slower than my + even if I pass in thrust::device_ptr. This causes thrust scan become slower than my work-efficient scan when array size is small * Work-effcient stream compaction * My implementation is basically a wrapper on work-efficient scan plus two light-weight From 78c5127f7264b1af3b2260a47a5553842f695827 Mon Sep 17 00:00:00 2001 From: Jian Date: Tue, 27 Sep 2016 17:17:50 -0400 Subject: [PATCH 10/11] batch scan --- src/main.cpp | 26 ++++ stream_compaction/efficient.cu | 243 +++++++++++++++++++++++++++++++++ stream_compaction/efficient.h | 7 +- 3 files changed, 275 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index fdbf550..f092c63 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -199,6 +199,32 @@ int main(int argc, char* argv[]) { printArray(NPOT, c, true); printCmpResult(NPOT, b, c); + zeroArray(SIZE, c); + printDesc("batch scan, power-of-two"); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + accumExecTime += StreamCompaction::Efficient4::scan( + SIZE, reinterpret_cast(c), reinterpret_cast(a)); + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; + printArray(SIZE, c, true); + printCmpResult(SIZE, b, c); + + zeroArray(SIZE, c); + printDesc("batch scan, non-power-of-two"); + accumExecTime = 0.f; + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + accumExecTime += StreamCompaction::Efficient4::scan( + NPOT, reinterpret_cast(c), reinterpret_cast(a)); + if (i == 0) accumExecTime = 0.f; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; + printArray(NPOT, c, true); + printCmpResult(NPOT, b, c); + zeroArray(SIZE, c); printDesc("thrust scan, power-of-two"); accumExecTime = 0.f; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 212a7b0..fe5b866 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -4,6 +4,7 @@ #define MEASURE_EXEC_TIME #include "efficient.h" #include +#include namespace StreamCompaction { @@ -365,4 +366,246 @@ namespace StreamCompaction { } } + + namespace Efficient4 + { + // Naive scan + __device__ unsigned scan1Inclusive(unsigned idata, volatile unsigned *s_data) + { + int pos = threadIdx.x; + int size = blockDim.x; + + // Pad 0's before to avoid pos >= offset branching + s_data[pos] = 0; + pos += size; + s_data[pos] = idata; + + for (int offset = 1; offset < size; offset <<= 1) + { + __syncthreads(); + unsigned t = s_data[pos - offset]; + __syncthreads(); + s_data[pos] += t; + } + + return s_data[pos]; + } + + __device__ unsigned scan1Exclusive(unsigned idata, volatile unsigned *s_data) + { + return scan1Inclusive(idata, s_data) - idata; + } + + __device__ uint4 scan4Inclusive(uint4 idata4, volatile unsigned *s_data) + { + // Perform inclusive prefix sum on the four elements + idata4.y += idata4.x; + idata4.z += idata4.y; + idata4.w += idata4.z; + + // Exclusively scan the 4-element sums on each block + unsigned oval = scan1Exclusive(idata4.w, s_data); + + // Accumulate results + idata4.x += oval; + idata4.y += oval; + idata4.z += oval; + idata4.w += oval; + + return idata4; + } + + __device__ uint4 scan4Exclusive(uint4 idata4, volatile unsigned *s_data) + { + uint4 odata4 = scan4Inclusive(idata4, s_data); + + // Make exclusive + odata4.x -= idata4.x; + odata4.y -= idata4.y; + odata4.z -= idata4.z; + odata4.w -= idata4.w; + + return odata4; + } + + /** + * Perform exclusive prefix sum on each thread block + * @n - size of d_dst and d_src + * @d_dst - destination device buffer + * @d_src - source device buffer + */ + __global__ void scanExclusiveShared(int n, uint4 *d_dst, uint4 *d_src) + { + extern __shared__ unsigned s_data[]; // size = 2 * blockDim.x + + int tid = blockDim.x * blockIdx.x + threadIdx.x; + + uint4 idata4; + if (tid < n) idata4 = d_src[tid]; + uint4 odata4 = scan4Exclusive(idata4, s_data); + if (tid < n) d_dst[tid] = odata4; + } + + /* + * @n - valid size of d_buf (not physical size) + * @preSegSize - segment size used in previous level scan + */ + __global__ void scanExclusiveShared2(int n, int preSegSize, + unsigned *d_obuf, unsigned *d_ibuf, unsigned *d_dst, unsigned *d_src) + { + extern __shared__ unsigned s_data[]; // size = 2 * blockDim.x + + int tid = blockDim.x * blockIdx.x + threadIdx.x; + + unsigned idata; + if (tid < n) + { + idata = d_dst[preSegSize - 1 + preSegSize * tid] + + d_src[preSegSize - 1 + preSegSize * tid]; + d_ibuf[tid] = idata; // so that result can be made inclusive again + } + + // Scan the sum of each block from last level scan + unsigned odata = scan1Exclusive(idata, s_data); + + if (tid < n) d_obuf[tid] = odata; + } + + /* + * @d_dst - size = blockDim.x * numBlocks + * @d_buf - size = numBlocks + */ + __global__ void perSegmentAdd(uint4 *d_dst, unsigned *d_buf) + { + __shared__ unsigned buf; + + int tid = blockDim.x * blockIdx.x + threadIdx.x; + + if (threadIdx.x == 0) buf = d_buf[blockIdx.x]; + + __syncthreads(); + + uint4 data4 = d_dst[tid]; + data4.x += buf; + data4.y += buf; + data4.z += buf; + data4.w += buf; + d_dst[tid] = data4; + } + + int computeSegmentSize(int n) + { + using Efficient::nearestMultipleOfTwo; + return n > (MAX_SEGMENT_SIZE >> 1) ? MAX_SEGMENT_SIZE : + std::max(nearestMultipleOfTwo(n), 4); + } + + size_t computeActualMemSize(int n) + { + using Efficient::alignedSize; + + const size_t kMemAlignmentInBytes = 256; // the alignment CUDA driver used + + int segSize = computeSegmentSize(n); + int numSegs = NUM_SEG(n, segSize); + size_t total = alignedSize(numSegs * segSize * sizeof(unsigned), kMemAlignmentInBytes); + + // Extra size to store intermediate results + while (numSegs > 1) + { + segSize = std::min(256, computeSegmentSize(numSegs)); + numSegs = NUM_SEG(numSegs, segSize); + size_t extra = alignedSize(numSegs * segSize * sizeof(unsigned), kMemAlignmentInBytes); + total += extra; + } + + return total; + } + + float scan(int n, unsigned *odata, const unsigned *idata) + { + using Efficient::alignedSize; + + if (n <= 0 || !odata || !idata) + { + throw std::exception("Efficient4::scan"); + } + + cudaEvent_t start, end; + cudaEventCreate(&start); + cudaEventCreate(&end); + + size_t kDevBuffSize = computeActualMemSize(n); + unsigned *d_idata, *d_odata; + + cudaMalloc(&d_idata, kDevBuffSize); + cudaMalloc(&d_odata, kDevBuffSize); + cudaMemset(d_idata, 0, kDevBuffSize); + cudaMemset(d_odata, 0, kDevBuffSize); + cudaMemcpy(d_idata, idata, n * sizeof(unsigned), cudaMemcpyHostToDevice); + + cudaEventRecord(start); + + int segSize = computeSegmentSize(n); + int numSegs = NUM_SEG(n, segSize); + int threadsPerBlock = segSize >> 2; + + scanExclusiveShared<<>>( + ROUND_SEG_SIZE(n, 4) >> 2, + reinterpret_cast(d_odata), + reinterpret_cast(d_idata)); + + std::vector st; + unsigned *d_dst = d_odata; + unsigned *d_src = d_idata; + + while (numSegs > 1) + { + st.push_back(numSegs); + st.push_back(segSize); + + size_t offsetInDW = alignedSize(numSegs * segSize * sizeof(unsigned), 256) / 4; + unsigned *d_ibuf = d_src + offsetInDW; + unsigned *d_obuf = d_dst + offsetInDW; + int n = numSegs; + int preSegSize = segSize; + + threadsPerBlock = segSize = std::min(256, computeSegmentSize(numSegs)); + numSegs = NUM_SEG(numSegs, segSize); + + scanExclusiveShared2<<>>( + n, preSegSize, d_obuf, d_ibuf, d_dst, d_src); + + d_src = d_ibuf; + d_dst = d_obuf; + } + + while (!st.empty()) + { + segSize = st.back(); + st.pop_back(); + numSegs = st.back(); + st.pop_back(); + + size_t offsetInDW = alignedSize(numSegs * segSize * sizeof(unsigned), 256) / 4; + unsigned *d_buf = d_dst; + d_dst -= offsetInDW; + + perSegmentAdd<<> 2)>>>(reinterpret_cast(d_dst), d_buf); + } + + cudaEventRecord(end); + cudaEventSynchronize(end); + + cudaMemcpy(odata, d_odata, n * sizeof(unsigned), cudaMemcpyDeviceToHost); + cudaFree(d_idata); + cudaFree(d_odata); + + float execTime = 0.f; + cudaEventElapsedTime(&execTime, start, end); + cudaEventDestroy(start); + cudaEventDestroy(end); + return execTime; + } + } } diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 9fe1948..77ff0bf 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -37,7 +37,7 @@ namespace StreamCompaction inline int computeSegmentSize(int n) { - return n >(MAX_SEGMENT_SIZE >> 1) ? MAX_SEGMENT_SIZE : nearestMultipleOfTwo(n); + return n > (MAX_SEGMENT_SIZE >> 1) ? MAX_SEGMENT_SIZE : nearestMultipleOfTwo(n); } inline size_t alignedSize(size_t sizeInBytes, size_t alignmentInBytes) @@ -76,4 +76,9 @@ namespace StreamCompaction return total; } } + + namespace Efficient4 + { + float scan(int n, unsigned *odata, const unsigned *idata); + } } From 6aae810f1c57873bd89a71726575ab2e7c6e12aa Mon Sep 17 00:00:00 2001 From: Jian Date: Tue, 27 Sep 2016 20:24:13 -0400 Subject: [PATCH 11/11] update perf analysis --- README.md | 24 +++---- img/rs_perf.png | Bin 15042 -> 30697 bytes img/sc_perf1.png | Bin 150296 -> 314369 bytes img/sc_perf2.png | Bin 16066 -> 53108 bytes img/scan_perf.png | Bin 15689 -> 32454 bytes src/main.cpp | 34 +++++++++ stream_compaction/common.h | 61 ++++++++++++++++ stream_compaction/efficient.cu | 119 ++++++++++++++++++++++++-------- stream_compaction/efficient.h | 8 +++ stream_compaction/radix_sort.cu | 11 ++- 10 files changed, 211 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 774eee6..5938fd3 100644 --- a/README.md +++ b/README.md @@ -48,24 +48,24 @@ CUDA Stream Compaction ![](img/sc_perf2.png) - | Array Size | Efficient | CPU (no scan) | CPU (with scan) | - | --- | --- | --- | --- | - | 2^8 | 0.09 | 0.00 | 0.00 | - | 2^15 | 0.16 | 0.09 | 0.20 | - | 2^20 | 3.78 | 2.70 | 6.03 | - | 2^25 | 72.91 | 85.98 | 196.08 | - | 2^26 | 143.49 | 174.08 | 391.90 | + | Array Size | Efficient | CPU (no scan) | CPU (with scan) | Batch | + | --- | --- | --- | --- | --- | + | 2^8 | 0.09 | 0.00 | 0.00 | 0.11 | + | 2^15 | 0.16 | 0.09 | 0.20 | 0.15 | + | 2^20 | 3.78 | 2.70 | 6.03 | 1.61 | + | 2^25 | 72.91 | 85.98 | 196.08 | 42.37 | + | 2^26 | 143.49 | 174.08 | 391.90 | 81.53 | * Radix sort ![](img/rs_perf.png) - | Array Size | Efficient | Thrust | + | Array Size | Batch | Thrust | | --- | --- | --- | - | 2^8 | 0.52 | 0.58 | - | 2^15 | 4.37 | 0.34 | - | 2^20 | 109.27 | 5.80 | - | 2^25 | 3642.84 | 116.92 | + | 2^8 | 0.42 | 0.58 | + | 2^15 | 2.44 | 0.34 | + | 2^20 | 47.35 | 5.80 | + | 2^25 | 1468.98 | 116.92 | * Performance Bottlenecks * CUDA runtime APIs for memory manipulation (e.g. cudaMalloc, cudaMemcpy, cudaFree) are super expensive diff --git a/img/rs_perf.png b/img/rs_perf.png index f7efd470e0402dc1b4d15a50c5212db1dbcf2404..66e67534f27f2f4918fe56c08d195078e2691cac 100644 GIT binary patch literal 30697 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 literal 15042 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 EUsY_O761SM diff --git a/img/sc_perf1.png b/img/sc_perf1.png index 9a24619db68d7f53f1a9da38be1e49721d08de02..c128ba58ae75cfa1601804bb41a66574787a39ea 100644 GIT binary patch literal 314369 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�a78d?w;Y>{5vY48+ynrI=;2`i5Ne6WF(FZ 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%0D2Fx|GAK1@Ym^nbe34($cGbhxII@T$CK}L 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%0AZ4MqCmy-)|z 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

%b1J<7oeUmp*#lw(LB8*Jd>G4XM6yWIUWB2F1mY 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 literal 150296 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

7a8^GhDq;EnG>uTa~rDzCSA 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

aS9Z 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 z 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

uK0zOqz=?1-y^Y~EI2_;%oU#=^eLO8}BE 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 diff --git a/img/sc_perf2.png b/img/sc_perf2.png index d7c9229354b222ae426b62d0770bbdb886552faf..689d8e4a580d76c3a49c1989fe11123353ea68d6 100644 GIT binary patch literal 53108 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

@|%(XA_4;ZRJ>&ZXLqW@&@Lz-z$L28 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 nJa~Y@1+e8(zO0hjRfeOMua;nlB?BNo0mkrsD diff --git a/img/scan_perf.png b/img/scan_perf.png index 7b1a52b032fc863bba199b060886584672a98e7e..fa9a251f65024e90e86e5b14b16fc63db0380053 100644 GIT binary patch literal 32454 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%0Dcx0F`9&YBaNU{QMur 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 XZ&~Vj7JPdiWxQkG_S9`B{`!9arlRJ2 literal 15689 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 X(WL4V6D&X-LZWa>`DVrq1NZ*`t{6Lu diff --git a/src/main.cpp b/src/main.cpp index f092c63..38e555d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -255,6 +255,8 @@ int main(int argc, char* argv[]) { printf("*****************************\n"); // Compaction tests + //clock_t start; + //clock_t end; genArray(SIZE - 1, a, 4); // Leave a 0 at the end to test that edge case a[SIZE - 1] = 0; @@ -325,6 +327,38 @@ int main(int argc, char* argv[]) { printArray(count, c, true); printCmpLenResult(count, expectedNPOT, b, c); + accumExecTime = 0.f; + zeroArray(SIZE, c); + printDesc("batch compact, power-of-two"); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::Efficient4::compact( + SIZE, + reinterpret_cast(c), + reinterpret_cast(a), + &et); + if (i != 0) accumExecTime += et; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; + printArray(count, c, true); + printCmpLenResult(count, expectedCount, b, c); + + accumExecTime = 0.f; + zeroArray(SIZE, c); + printDesc("batch compact, non-power-of-two"); + for (int i = 0; i < TEST_GROUP_SIZE; ++i) + { + count = StreamCompaction::Efficient4::compact( + NPOT, + reinterpret_cast(c), + reinterpret_cast(a), + &et); + if (i != 0) accumExecTime += et; + } + std::cout << " Execution Time: " << std::fixed << std::setprecision(2) << accumExecTime / (TEST_GROUP_SIZE - 1) << "ms\n"; + printArray(count, c, true); + printCmpLenResult(count, expectedNPOT, b, c); + delete[] a; delete[] b; delete[] c; diff --git a/stream_compaction/common.h b/stream_compaction/common.h index 4f52663..3e32071 100644 --- a/stream_compaction/common.h +++ b/stream_compaction/common.h @@ -3,6 +3,7 @@ #include #include #include +#include #define FILENAME (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #define checkCUDAError(msg) checkCUDAErrorFn(msg, FILENAME, __LINE__) @@ -31,5 +32,65 @@ namespace Common { __global__ void kernScatter(int n, int *odata, const int *idata, const int *bools, const int *indices); + + class MyCudaTimer + { + public: + MyCudaTimer() : elapsedTimeMs(0.f), isActive(false) + { + cudaEventCreate(&begin); + cudaEventCreate(&end); + } + + virtual ~MyCudaTimer() + { + cudaEventDestroy(begin); + cudaEventDestroy(end); + } + + void start() + { + if (!isActive) + { + cudaEventRecord(begin); + isActive = true; + } + } + + void stop() + { + if (isActive) cudaEventRecord(end); + isActive = false; + } + + void restart() + { + stop(); + clear(); + start(); + } + + void clear() + { + cudaEventSynchronize(end); + elapsedTimeMs = 0.f; + } + + float duration() + { + float et; + + cudaEventSynchronize(end); + cudaEventElapsedTime(&et, begin, end); + elapsedTimeMs += et; + + return elapsedTimeMs; + } + + private: + cudaEvent_t begin, end; + float elapsedTimeMs; + bool isActive; + }; } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index fe5b866..c67abe3 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -522,30 +522,10 @@ namespace StreamCompaction { return total; } - float scan(int n, unsigned *odata, const unsigned *idata) + void scanHelper(int n, unsigned *d_odata, unsigned *d_idata) { using Efficient::alignedSize; - if (n <= 0 || !odata || !idata) - { - throw std::exception("Efficient4::scan"); - } - - cudaEvent_t start, end; - cudaEventCreate(&start); - cudaEventCreate(&end); - - size_t kDevBuffSize = computeActualMemSize(n); - unsigned *d_idata, *d_odata; - - cudaMalloc(&d_idata, kDevBuffSize); - cudaMalloc(&d_odata, kDevBuffSize); - cudaMemset(d_idata, 0, kDevBuffSize); - cudaMemset(d_odata, 0, kDevBuffSize); - cudaMemcpy(d_idata, idata, n * sizeof(unsigned), cudaMemcpyHostToDevice); - - cudaEventRecord(start); - int segSize = computeSegmentSize(n); int numSegs = NUM_SEG(n, segSize); int threadsPerBlock = segSize >> 2; @@ -593,19 +573,102 @@ namespace StreamCompaction { perSegmentAdd<<> 2)>>>(reinterpret_cast(d_dst), d_buf); } + } - cudaEventRecord(end); - cudaEventSynchronize(end); + float scan(int n, unsigned *odata, const unsigned *idata) + { + if (n <= 0 || !odata || !idata) + { + throw std::exception("StreamCompaction::Efficient4::scan"); + } + + Common::MyCudaTimer timer; + + size_t kDevBuffSize = computeActualMemSize(n); + unsigned *d_idata, *d_odata; + + cudaMalloc(&d_idata, kDevBuffSize); + cudaMalloc(&d_odata, kDevBuffSize); + cudaMemset(d_idata, 0, kDevBuffSize); + //cudaMemset(d_odata, 0, kDevBuffSize); + cudaMemcpy(d_idata, idata, n * sizeof(unsigned), cudaMemcpyHostToDevice); + + timer.start(); + + scanHelper(n, d_odata, d_idata); + + timer.stop(); cudaMemcpy(odata, d_odata, n * sizeof(unsigned), cudaMemcpyDeviceToHost); cudaFree(d_idata); cudaFree(d_odata); - float execTime = 0.f; - cudaEventElapsedTime(&execTime, start, end); - cudaEventDestroy(start); - cudaEventDestroy(end); - return execTime; + return timer.duration(); + } + + + int compact(int n, unsigned *odata, const unsigned *idata, float *pExecTime) + { + if (n <= 0 || !odata || !idata || odata == idata) + { + throw std::exception("StreamCompaction::Efficient4::compact"); + } + + using StreamCompaction::Common::kernMapToBoolean; + using StreamCompaction::Common::kernScatter; + + Common::MyCudaTimer timer; + + unsigned *idata_dev = 0; + unsigned *odata_dev = 0; + unsigned *bools_dev = 0; + unsigned *indices_dev = 0; + + int segSize = computeSegmentSize(n); + const size_t kBoolsSizeInByte = computeActualMemSize(n); + const size_t kIndicesSizeInByte = kBoolsSizeInByte; + + cudaMalloc(&idata_dev, n * sizeof(unsigned)); + cudaMalloc(&bools_dev, kBoolsSizeInByte); + cudaMalloc(&indices_dev, kIndicesSizeInByte); + + cudaMemcpy(idata_dev, idata, n * sizeof(unsigned), cudaMemcpyHostToDevice); + cudaMemset(bools_dev, 0, kBoolsSizeInByte); + + const int threadsPerBlock = 256; + int numBlocks = (n + threadsPerBlock - 1) / threadsPerBlock; + + timer.start(); + + kernMapToBoolean<<>>( + n, + reinterpret_cast(bools_dev), + reinterpret_cast(idata_dev)); + + scanHelper(n, indices_dev, bools_dev); + + int numElemRemained; + cudaMemcpy(&numElemRemained, indices_dev + (n - 1), sizeof(unsigned), cudaMemcpyDeviceToHost); + numElemRemained += idata[n - 1] ? 1 : 0; + cudaMalloc(&odata_dev, numElemRemained * sizeof(unsigned)); + + kernScatter<<>>( + n, + reinterpret_cast(odata_dev), + reinterpret_cast(idata_dev), + reinterpret_cast(bools_dev), + reinterpret_cast(indices_dev)); + + timer.stop(); + *pExecTime = timer.duration(); + + cudaMemcpy(odata, odata_dev, numElemRemained * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(idata_dev); + cudaFree(odata_dev); + cudaFree(bools_dev); + cudaFree(indices_dev); + + return numElemRemained; } } } diff --git a/stream_compaction/efficient.h b/stream_compaction/efficient.h index 77ff0bf..6de9abf 100644 --- a/stream_compaction/efficient.h +++ b/stream_compaction/efficient.h @@ -80,5 +80,13 @@ namespace StreamCompaction namespace Efficient4 { float scan(int n, unsigned *odata, const unsigned *idata); + + int compact(int n, unsigned *odata, const unsigned *idata, float *pExecTime); + + int computeSegmentSize(int n); + + size_t computeActualMemSize(int n); + + void scanHelper(int n, unsigned *d_odata, unsigned *d_idata); } } diff --git a/stream_compaction/radix_sort.cu b/stream_compaction/radix_sort.cu index 630dff5..7cc94b1 100644 --- a/stream_compaction/radix_sort.cu +++ b/stream_compaction/radix_sort.cu @@ -70,8 +70,8 @@ namespace ParallelRadixSort throw std::InvalidArgument(); } - int segSize = StreamCompaction::Efficient::computeSegmentSize(2 * n); - const size_t kDevArraySizeInByte = StreamCompaction::Efficient::computeActualMemSize(2 * n); + int segSize = StreamCompaction::Efficient4::computeSegmentSize(2 * n); + const size_t kDevArraySizeInByte = StreamCompaction::Efficient4::computeActualMemSize(2 * n); T *idata_dev = 0; T *odata_dev = 0; @@ -102,12 +102,11 @@ namespace ParallelRadixSort { if (!(bitMask & mask)) continue; // do not consider this bit - kernClassify << > >(n, mask, noyes_bools_dev, noyes_bools_dev + n, idata_dev); + kernClassify<<>>(n, mask, noyes_bools_dev, noyes_bools_dev + n, idata_dev); - StreamCompaction::Efficient::scanHelper(segSize, 2 * n, - reinterpret_cast(indices_dev), reinterpret_cast(noyes_bools_dev)); + StreamCompaction::Efficient4::scanHelper(2 * n, indices_dev, noyes_bools_dev); - kernScatter << > >(n, noyes_bools_dev, indices_dev, indices_dev + n, odata_dev, idata_dev); + kernScatter<<>>(n, noyes_bools_dev, indices_dev, indices_dev + n, odata_dev, idata_dev); if (lsb) mask <<= 1; else mask >>= 1;