preprocessing bugfix
This commit is contained in:
@@ -190,6 +190,7 @@ void mergeSortGangKernel(
|
|||||||
s_val[programIndex + programCount] = srcVal[base + programIndex + programCount];
|
s_val[programIndex + programCount] = srcVal[base + programIndex + programCount];
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
|
#pragma unroll 1
|
||||||
for (uniform int stride = 1; stride < 2*programCount; stride <<= 1)
|
for (uniform int stride = 1; stride < 2*programCount; stride <<= 1)
|
||||||
{
|
{
|
||||||
const int lPos = programIndex & (stride - 1);
|
const int lPos = programIndex & (stride - 1);
|
||||||
@@ -589,7 +590,7 @@ void mergeSort___export(
|
|||||||
// k20m: 2367 M/s
|
// k20m: 2367 M/s
|
||||||
mergeSortGang(iKey, iVal, srcKey, srcVal, N/(2*programCount));
|
mergeSortGang(iKey, iVal, srcKey, srcVal, N/(2*programCount));
|
||||||
|
|
||||||
#if 1
|
#if 0
|
||||||
for (uniform int stride = 2*programCount; stride < N; stride <<= 1)
|
for (uniform int stride = 2*programCount; stride < N; stride <<= 1)
|
||||||
{
|
{
|
||||||
const uniform int lastSegmentElements = N % (2 * stride);
|
const uniform int lastSegmentElements = N % (2 * stride);
|
||||||
@@ -634,8 +635,8 @@ void mergeSort___export(
|
|||||||
oVal = tmpVal;
|
oVal = tmpVal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
extern "C"
|
extern "C"
|
||||||
void mergeSort(
|
void mergeSort(
|
||||||
|
|||||||
@@ -738,6 +738,6 @@ void mergeSort(
|
|||||||
oVal = tmpVal;
|
oVal = tmpVal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user