From d31a1de133de6ae05fb4d4f42336ac9dcd105c80 Mon Sep 17 00:00:00 2001 From: Eric Chiu Date: Tue, 18 Sep 2018 01:07:47 -0400 Subject: [PATCH 1/5] finished steps 1-4 --- stream_compaction/CMakeLists.txt | 2 +- stream_compaction/common.cu | 17 +++- stream_compaction/cpu.cu | 76 +++++++++++++--- stream_compaction/efficient.cu | 146 +++++++++++++++++++++++++++++-- stream_compaction/naive.cu | 47 +++++++++- stream_compaction/thrust.cu | 14 ++- 6 files changed, 276 insertions(+), 26 deletions(-) diff --git a/stream_compaction/CMakeLists.txt b/stream_compaction/CMakeLists.txt index cdbef77..4bb0dc2 100644 --- a/stream_compaction/CMakeLists.txt +++ b/stream_compaction/CMakeLists.txt @@ -13,5 +13,5 @@ set(SOURCE_FILES cuda_add_library(stream_compaction ${SOURCE_FILES} - OPTIONS -arch=sm_20 + OPTIONS -arch=sm_61 ) diff --git a/stream_compaction/common.cu b/stream_compaction/common.cu index 8fc0211..4dd7b66 100644 --- a/stream_compaction/common.cu +++ b/stream_compaction/common.cu @@ -22,8 +22,11 @@ namespace StreamCompaction { * 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 index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) return; + bools[index] = idata[index] == 0 ? 0 : 1; } /** @@ -31,8 +34,14 @@ namespace StreamCompaction { * 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 index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) return; + if (bools[index] == 1) + { + odata[indices[index]] = idata[index]; + } } } diff --git a/stream_compaction/cpu.cu b/stream_compaction/cpu.cu index 05ce667..112d8d0 100644 --- a/stream_compaction/cpu.cu +++ b/stream_compaction/cpu.cu @@ -17,9 +17,25 @@ namespace StreamCompaction { * For performance analysis, this is supposed to be a simple for loop. * (Optional) For better understanding before starting moving to GPU, you can simulate your GPU scan in this function first. */ - void scan(int n, int *odata, const int *idata) { + + void scanHelper(int n, int *odata, const int *idata) + { + if (n == 0) return; + + odata[0] = 0; + for (int i = 1; i < n; i++) + { + odata[i] = odata[i - 1] + idata[i - 1]; + } + + } + + void scan(int n, int *odata, const int *idata) + { timer().startCpuTimer(); - // TODO + + scanHelper(n, odata, idata); + timer().endCpuTimer(); } @@ -29,10 +45,21 @@ namespace StreamCompaction { * @returns the number of elements remaining after compaction. */ int compactWithoutScan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); - // TODO + + timer().startCpuTimer(); + + int oIndex = 0; + for (int i = 0; i < n; i++) + { + if (idata[i] != 0) + { + odata[oIndex] = idata[i]; + oIndex++; + } + } + timer().endCpuTimer(); - return -1; + return oIndex; } /** @@ -40,11 +67,40 @@ namespace StreamCompaction { * * @returns the number of elements remaining after compaction. */ - int compactWithScan(int n, int *odata, const int *idata) { - timer().startCpuTimer(); - // TODO - timer().endCpuTimer(); - return -1; + int compactWithScan(int n, int *odata, const int *idata) + { + timer().startCpuTimer(); + + int* bdata = new int[n]; + int* sdata = new int[n]; + + for (int i = 0; i < n; i++) + { + if (idata[i] != 0) + { + bdata[i] = 1; + } + else + { + bdata[i] = 0; + } + } + + // cannot call scan because it uses startCpuTimer as well + scanHelper(n, sdata, bdata); + + int sum = 0; + for (int i = 0; i < n; i++) + { + if (bdata[i] != 0) + { + odata[sdata[i]] = idata[i]; + sum = sdata[i]; + } + } + + timer().endCpuTimer(); + return sum + 1; } } } diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 36c5ef2..0694139 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -12,13 +12,117 @@ namespace StreamCompaction { return timer; } + const int BLOCK_SIZE = 32; + + __global__ void kernUpSweep(int n, int stride, int *data) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) return; + + int fullIndex = (index + 1) * stride - 1; + int halfIndex = index * stride - 1 + (stride / 2); + data[fullIndex] += data[halfIndex]; + } + + __global__ void kernDownSweep(int n, int stride, int *data) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) return; + + int fullIndex = (index + 1) * stride - 1; + int halfIndex = index * stride - 1 + (stride / 2); + + int temp = data[halfIndex]; + data[halfIndex] = data[fullIndex]; + data[fullIndex] += temp; + } + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { + void scan(int n, int *odata, const int *idata) + { + int *dev_data; + int width = 1; + int squareN = pow(2, ilog2ceil(n)); + int iterations = ilog2(squareN) - 1; + int numThreads, numBlocks; + + cudaMalloc((void**)&dev_data, squareN * sizeof(int)); + cudaMemcpy(dev_data, idata, n * sizeof(int), cudaMemcpyHostToDevice); + timer().startGpuTimer(); - // TODO + + // up sweep + for (int i = 0; i <= iterations; i++) + { + width = width * 2; + numThreads = squareN / width; + numBlocks = (numThreads + BLOCK_SIZE - 1) / BLOCK_SIZE; + kernUpSweep<<>>(numThreads, width, dev_data); + checkCUDAErrorFn("kernUpSweep failed!"); + } + + int zero = 0; + cudaMemcpy(&dev_data[squareN - 1], &zero, sizeof(int), cudaMemcpyHostToDevice); + + // down sweep + width = pow(2, iterations + 2); + for (int i = iterations; i >= 0; i--) + { + width = width / 2; + numThreads = squareN / width; + numBlocks = (numThreads + BLOCK_SIZE - 1) / BLOCK_SIZE; + kernDownSweep<<>>(numThreads, width, dev_data); + checkCUDAErrorFn("kernDownSweep failed!"); + } + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_data, n * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(dev_data); + } + + /** + * Performs prefix-sum (aka scan) on idata, storing the result into odata. + */ + void scanNoTimer(int n, int *odata, const int *idata) + { + int *dev_data; + int width = 1; + int squareN = pow(2, ilog2ceil(n)); + int iterations = ilog2(squareN) - 1; + int numThreads, numBlocks; + + cudaMalloc((void**)&dev_data, squareN * sizeof(int)); + cudaMemcpy(dev_data, idata, n * sizeof(int), cudaMemcpyHostToDevice); + + // up sweep + for (int i = 0; i <= iterations; i++) + { + width = width * 2; + numThreads = squareN / width; + numBlocks = (numThreads + BLOCK_SIZE - 1) / BLOCK_SIZE; + kernUpSweep << > > (numThreads, width, dev_data); + checkCUDAErrorFn("kernUpSweep failed!"); + } + + int zero = 0; + cudaMemcpy(&dev_data[squareN - 1], &zero, sizeof(int), cudaMemcpyHostToDevice); + + // down sweep + width = pow(2, iterations + 2); + for (int i = iterations; i >= 0; i--) + { + width = width / 2; + numThreads = squareN / width; + numBlocks = (numThreads + BLOCK_SIZE - 1) / BLOCK_SIZE; + kernDownSweep << > > (numThreads, width, dev_data); + checkCUDAErrorFn("kernDownSweep failed!"); + } + + cudaMemcpy(odata, dev_data, n * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(dev_data); } /** @@ -30,11 +134,43 @@ namespace StreamCompaction { * @param idata The array of elements to compact. * @returns The number of elements remaining after compaction. */ - int compact(int n, int *odata, const int *idata) { + int compact(int n, int *odata, const int *idata) + { + int count; + int *dev_idata, *dev_odata, *dev_bools, *dev_indices; + int numBlocks = (n + BLOCK_SIZE - 1) / BLOCK_SIZE; + + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + cudaMalloc((void**)&dev_bools, n * sizeof(int)); + cudaMalloc((void**)&dev_indices, n * sizeof(int)); + // copy idata to dev_idata + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + timer().startGpuTimer(); - // TODO + + // map idata to booleans + Common::kernMapToBoolean<<>>(n, dev_bools, dev_idata); + // copy booleans to odata + cudaMemcpy(odata, dev_bools, n * sizeof(int), cudaMemcpyDeviceToHost); + + count = odata[n - 1]; + scanNoTimer(n, odata, odata); + count += odata[n - 1]; + + cudaMemcpy(dev_indices, odata, n * sizeof(int), cudaMemcpyHostToDevice); + Common::kernScatter<<>>(n, dev_odata, dev_idata, dev_bools, dev_indices); + timer().endGpuTimer(); - return -1; + + cudaMemcpy(odata, dev_odata, n * sizeof(int), cudaMemcpyDeviceToHost); + + cudaFree(dev_idata); + cudaFree(dev_bools); + cudaFree(dev_indices); + cudaFree(dev_odata); + + return count; } } } diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index 9218f8e..adb67a9 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -11,15 +11,58 @@ namespace StreamCompaction { static PerformanceTimer timer; return timer; } + + const int BLOCK_SIZE = 256; // TODO: __global__ + __global__ void kernScan(int n, int *odata, int *idata, int offset) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) return; + + if (index >= offset) + { + odata[index] = idata[index - offset] + idata[index]; + } + else + { + odata[index] = idata[index]; + } + } + + __global__ void kernShift(int n, int *odata, int *idata) + { + int index = (blockIdx.x * blockDim.x) + threadIdx.x; + if (index >= n) return; + odata[index] = (index > 0) ? idata[index - 1] : 0; + } + /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { + void scan(int n, int *odata, const int *idata) + { + int numBlocks = (n + BLOCK_SIZE - 1) / BLOCK_SIZE; + int *dev_idata, *dev_odata; + cudaMalloc((void**)&dev_idata, n * sizeof(int)); + cudaMalloc((void**)&dev_odata, n * sizeof(int)); + cudaMemcpy(dev_idata, idata, n * sizeof(int), cudaMemcpyHostToDevice); + timer().startGpuTimer(); - // TODO + + for (int offset = 1; offset <= ilog2ceil(n); offset++) + { + kernScan<<>>(n, dev_odata, dev_idata, 1 << offset - 1); + std::swap(dev_idata, dev_odata); + } + + kernShift<<>>(n, dev_odata, dev_idata); + timer().endGpuTimer(); + + cudaMemcpy(odata, dev_odata, n * sizeof(int), cudaMemcpyDeviceToHost); + cudaFree(dev_idata); + cudaFree(dev_odata); } } } diff --git a/stream_compaction/thrust.cu b/stream_compaction/thrust.cu index 36b732d..0c6e156 100644 --- a/stream_compaction/thrust.cu +++ b/stream_compaction/thrust.cu @@ -17,12 +17,18 @@ namespace StreamCompaction { /** * Performs prefix-sum (aka scan) on idata, storing the result into odata. */ - void scan(int n, int *odata, const int *idata) { + void scan(int n, int *odata, const int *idata) + { + thrust::device_vector dv_in(idata, idata + n); + thrust::device_vector dv_out(odata, odata + n); + timer().startGpuTimer(); - // TODO use `thrust::exclusive_scan` - // example: for device_vectors dv_in and dv_out: - // thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + + thrust::exclusive_scan(dv_in.begin(), dv_in.end(), dv_out.begin()); + timer().endGpuTimer(); + + thrust::copy(dv_out.begin(), dv_out.end(), odata); } } } From e58bdaeb3290eebf5bfd843c934dbb4a62565b89 Mon Sep 17 00:00:00 2001 From: Eric Chiu Date: Tue, 18 Sep 2018 20:22:47 -0400 Subject: [PATCH 2/5] finished gathering data, working on ReadMe --- README.md | 78 ++++++++++++++++++++++++++++++--- img/compaction-chart.png | Bin 0 -> 18620 bytes img/compression-data.png | Bin 0 -> 70793 bytes img/scan-chart.png | Bin 0 -> 15756 bytes img/scan-data.png | Bin 0 -> 95092 bytes src/main.cpp | 2 +- stream_compaction/efficient.cu | 2 +- stream_compaction/naive.cu | 3 +- 8 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 img/compaction-chart.png create mode 100644 img/compression-data.png create mode 100644 img/scan-chart.png create mode 100644 img/scan-data.png diff --git a/README.md b/README.md index 0e38ddb..6757b80 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,78 @@ CUDA Stream Compaction **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 2** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Eric Chiu +* Tested on: Windows 10 Education, Intel(R) Xeon(R) CPU E5-1630 v4 @ 3.60GHz 32GB, NVIDIA GeForce GTX 1070 (SIGLAB) -### (TODO: Your README) +## Performance Analysis -Include analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +The following images show a comparison between CPU, naive, work-efficient, and thrust implementations of the scan algorithm. +![](./images/scan-data.png) + +![](./images/scan-chart.png) + +The following images show a comparison between CPU without scan, CPU with scan, and work-efficient implementations of the compression algorithm. + +![](./images/compression-data.png) + +![](./images/compression-chart.png) + +## Program Output + +``` +**************** +** SCAN TESTS ** +**************** + [ 26 38 4 11 28 35 3 0 3 4 36 3 39 ... 22 0 ] +==== cpu scan, power-of-two ==== + elapsed time: 0.0006ms (std::chrono Measured) + [ 0 26 64 68 79 107 142 145 145 148 152 188 191 ... 6071 6093 ] +==== cpu scan, non-power-of-two ==== + elapsed time: 0.0007ms (std::chrono Measured) + [ 0 26 64 68 79 107 142 145 145 148 152 188 191 ... 6031 6046 ] + passed +==== naive scan, power-of-two ==== + elapsed time: 0.023552ms (CUDA Measured) + passed +==== naive scan, non-power-of-two ==== + elapsed time: 0.023552ms (CUDA Measured) + passed +==== work-efficient scan, power-of-two ==== + elapsed time: 0.095232ms (CUDA Measured) + passed +==== work-efficient scan, non-power-of-two ==== + elapsed time: 0.105472ms (CUDA Measured) + passed +==== thrust scan, power-of-two ==== + elapsed time: 0.058368ms (CUDA Measured) + passed +==== thrust scan, non-power-of-two ==== + elapsed time: 0.05632ms (CUDA Measured) + passed + +***************************** +** STREAM COMPACTION TESTS ** +***************************** + [ 3 0 0 3 2 1 1 1 0 0 2 1 1 ... 2 0 ] +==== cpu compact without scan, power-of-two ==== + elapsed time: 0.0009ms (std::chrono Measured) + [ 3 3 2 1 1 1 2 1 1 3 2 1 2 ... 1 2 ] + passed +==== cpu compact without scan, non-power-of-two ==== + elapsed time: 0.0009ms (std::chrono Measured) + [ 3 3 2 1 1 1 2 1 1 3 2 1 2 ... 2 2 ] + passed +==== cpu compact with scan ==== + elapsed time: 0.0035ms (std::chrono Measured) + [ 3 3 2 1 1 1 2 1 1 3 2 1 2 ... 1 2 ] + passed +==== work-efficient compact, power-of-two ==== + elapsed time: 0.365568ms (CUDA Measured) + passed +==== work-efficient compact, non-power-of-two ==== + elapsed time: 0.359424ms (CUDA Measured) + passed +Press any key to continue . . . + +``` \ No newline at end of file diff --git a/img/compaction-chart.png b/img/compaction-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3b6458346f5e38eefff9f9512a0abf9bba3815 GIT binary patch literal 18620 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 literal 0 HcmV?d00001 diff --git a/img/compression-data.png b/img/compression-data.png new file mode 100644 index 0000000000000000000000000000000000000000..2cbc5147c6fbb7d2b29192b95326d01d7760b747 GIT binary patch literal 70793 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

T)cTe7%c<1wqg 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℘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 literal 0 HcmV?d00001 diff --git a/img/scan-chart.png b/img/scan-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..1d53f8249778e6c2c66da17f10f9008bf9d951cb GIT binary patch literal 15756 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 literal 0 HcmV?d00001 diff --git a/img/scan-data.png b/img/scan-data.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee2752f9a015828574bda9884f9f5335017d918 GIT binary patch literal 95092 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 literal 0 HcmV?d00001 diff --git a/src/main.cpp b/src/main.cpp index 1850161..459cda3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,7 @@ #include #include "testing_helpers.hpp" -const int SIZE = 1 << 8; // feel free to change the size of array +const int SIZE = 256; // feel free to change the size of array const int NPOT = SIZE - 3; // Non-Power-Of-Two int *a = new int[SIZE]; int *b = new int[SIZE]; diff --git a/stream_compaction/efficient.cu b/stream_compaction/efficient.cu index 0694139..07360fc 100644 --- a/stream_compaction/efficient.cu +++ b/stream_compaction/efficient.cu @@ -12,7 +12,7 @@ namespace StreamCompaction { return timer; } - const int BLOCK_SIZE = 32; + const int BLOCK_SIZE = 256; __global__ void kernUpSweep(int n, int stride, int *data) { diff --git a/stream_compaction/naive.cu b/stream_compaction/naive.cu index adb67a9..ecb6177 100644 --- a/stream_compaction/naive.cu +++ b/stream_compaction/naive.cu @@ -12,8 +12,7 @@ namespace StreamCompaction { return timer; } - const int BLOCK_SIZE = 256; - // TODO: __global__ + const int BLOCK_SIZE = 512; __global__ void kernScan(int n, int *odata, int *idata, int offset) { From 123d02fa7c5980c2de9bc6cd33222975740a1b2b Mon Sep 17 00:00:00 2001 From: Eric Chiu Date: Tue, 18 Sep 2018 20:23:53 -0400 Subject: [PATCH 3/5] change image links --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6757b80..b8ec5c0 100644 --- a/README.md +++ b/README.md @@ -10,15 +10,15 @@ CUDA Stream Compaction The following images show a comparison between CPU, naive, work-efficient, and thrust implementations of the scan algorithm. -![](./images/scan-data.png) +![](./img/scan-data.png) -![](./images/scan-chart.png) +![](./img/scan-chart.png) The following images show a comparison between CPU without scan, CPU with scan, and work-efficient implementations of the compression algorithm. -![](./images/compression-data.png) +![](./img/compression-data.png) -![](./images/compression-chart.png) +![](./img/compression-chart.png) ## Program Output From 503451a317f9faa35d1b78be00ef06d56eea5c0a Mon Sep 17 00:00:00 2001 From: Eric Chiu Date: Tue, 18 Sep 2018 20:25:58 -0400 Subject: [PATCH 4/5] changed image names --- README.md | 6 +++--- img/{compression-data.png => compaction-data.png} | Bin 2 files changed, 3 insertions(+), 3 deletions(-) rename img/{compression-data.png => compaction-data.png} (100%) diff --git a/README.md b/README.md index b8ec5c0..2652ee8 100644 --- a/README.md +++ b/README.md @@ -14,11 +14,11 @@ The following images show a comparison between CPU, naive, work-efficient, and t ![](./img/scan-chart.png) -The following images show a comparison between CPU without scan, CPU with scan, and work-efficient implementations of the compression algorithm. +The following images show a comparison between CPU without scan, CPU with scan, and work-efficient implementations of the compaction algorithm. -![](./img/compression-data.png) +![](./img/compaction-data.png) -![](./img/compression-chart.png) +![](./img/compaction-chart.png) ## Program Output diff --git a/img/compression-data.png b/img/compaction-data.png similarity index 100% rename from img/compression-data.png rename to img/compaction-data.png From 81eac4f3ef18f7d72976d125da4dd37be85bf49c Mon Sep 17 00:00:00 2001 From: Eric Chiu Date: Tue, 18 Sep 2018 20:55:29 -0400 Subject: [PATCH 5/5] finished readme --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2652ee8..bf8894d 100644 --- a/README.md +++ b/README.md @@ -6,20 +6,32 @@ CUDA Stream Compaction * Eric Chiu * Tested on: Windows 10 Education, Intel(R) Xeon(R) CPU E5-1630 v4 @ 3.60GHz 32GB, NVIDIA GeForce GTX 1070 (SIGLAB) +## Description + +This project explores and compares different CPU and GPU implementations of the scan (prefix sum) and the compaction algorithms. Some implementations include naive and work efficient methods. + ## Performance Analysis -The following images show a comparison between CPU, naive, work-efficient, and thrust implementations of the scan algorithm. + +The following images below show a comparison between CPU, naive, work-efficient, and thrust implementations of the scan algorithm. + ![](./img/scan-data.png) ![](./img/scan-chart.png) -The following images show a comparison between CPU without scan, CPU with scan, and work-efficient implementations of the compaction algorithm. + +The following images below show a comparison between CPU without scan, CPU with scan, and work-efficient implementations of the compaction algorithm. + ![](./img/compaction-data.png) ![](./img/compaction-chart.png) + +Overall, the thrust implementation had the best performance long term. In the beginning with smaller array sizes however, the CPU implementation was the fastest, then naive implementation, then work-efficient implementation, and then thrust implementation. As the array size increased, different implementations experienced different bottlenecks. I believe the CPU implementation experienced a bottleneck in the number of operations because it goes through serial memory processing (as to parallel memory processing). I believe the naive and work-efficient implementations experienced a bottleneck in global memory access. + + ## Program Output ```