Skip to content

Commit dcec171

Browse files
committed
Improve read test
1 parent 6e8611b commit dcec171

1 file changed

Lines changed: 7 additions & 9 deletions

File tree

GPU/GPUbenchmark/cuda/Kernels.cu

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,10 @@ __global__ void readChunkSBKernel(
7474
size_t chunkSize)
7575
{
7676
chunk_t sink{0}; // local memory -> excluded from bandwidth accounting
77-
size_t last{0};
78-
for (last = threadIdx.x; last < chunkSize; last += blockDim.x) {
79-
sink += chunkPtr[last]; // 1 read operation, performed "chunkSize" times
77+
for (size_t i = threadIdx.x; i < chunkSize; i += blockDim.x) {
78+
sink = chunkPtr[i]; // 1 read operation, performed "chunkSize" times
8079
}
81-
chunkPtr[last] = sink; // writing done once
80+
chunkPtr[threadIdx.x] = sink; // writing done once
8281
}
8382

8483
template <class chunk_t>
@@ -87,11 +86,10 @@ __global__ void readChunkMBKernel(
8786
size_t chunkSize)
8887
{
8988
chunk_t sink{0}; // local memory -> excluded from bandwidth accounting
90-
size_t last{0};
91-
for (last = blockIdx.x * blockDim.x + threadIdx.x; last < chunkSize; last += blockDim.x * gridDim.x) {
92-
sink += chunkPtr[last]; // 1 read operation, performed "chunkSize" times
89+
for (size_t i = blockIdx.x * blockDim.x + threadIdx.x; i < chunkSize; i += blockDim.x * gridDim.x) {
90+
sink = chunkPtr[i]; // 1 read operation, performed "chunkSize" times
9391
}
94-
chunkPtr[last] = sink;
92+
chunkPtr[threadIdx.x] = sink;
9593
}
9694

9795
// Write
@@ -853,7 +851,7 @@ void GPUbenchmark<chunk_t>::run()
853851
template class GPUbenchmark<char>;
854852
template class GPUbenchmark<size_t>;
855853
template class GPUbenchmark<int>;
856-
// template class GPUbenchmark<uint4>;
854+
// template class GPUbenchmark<int4>;
857855

858856
} // namespace benchmark
859857
} // namespace o2

0 commit comments

Comments
 (0)