Changeset: 6d9248251b1e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6d9248251b1e
Modified Files:
monetdb5/extras/bwd/cl_program_utilities.c
Branch: bwd
Log Message:
* fixed more bugs in the gpu grouping code (group id assignment)
Unterschiede (30 Zeilen):
diff --git a/monetdb5/extras/bwd/cl_program_utilities.c
b/monetdb5/extras/bwd/cl_program_utilities.c
--- a/monetdb5/extras/bwd/cl_program_utilities.c
+++ b/monetdb5/extras/bwd/cl_program_utilities.c
@@ -256,13 +256,15 @@ cl_program getSingleAttributeGroupProgra
"
(((offset+approximationBits)>targetTypeBits)?(((vals[slot]<<(approximationBits-targetTypeBits+offset))
+
(vals[slot+1]>>(targetTypeBits-(approximationBits-targetTypeBits+offset))))&approximationMask):0)\n"
" +
(((offset+approximationBits)<=targetTypeBits)*(vals[slot]>>(targetTypeBits-offset-approximationBits)))\n"
" )&approximationMask);\n"
- " const uint oldValue = atomic_cmpxchg(histogramOIDs + delta +
2, 0, inputIndex);\n"
- " const uint groupID = oldValue?oldValue:inputIndex;\n"
+ " const uint oldValue = atomic_cmpxchg(histogramOIDs + delta +
2, 0, inputIndex+1);\n"
+ " const uint groupID = oldValue?oldValue-1:inputIndex;\n"
" groupIDs[inputIndex+2] = groupID;\n"
" atomic_inc(histogramCounts+delta+2);\n"
" }\n"
"}\n";
char options[256];
+ printf ("WARNING!!! single attribute grouping use immature code\n");
+ exit(1);
snprintf(options, 256, "-DapproximationBits=%d", approximationBits);
return compileProgram(sourceCode, options);
}
@@ -300,7 +302,7 @@ cl_program getTwoAttributeGroupProgram(u
"\n"
" const unsigned int delta =
(firstDelta<<secondApproximationBits) + secondDelta;"
" const uint oldValue = atomic_cmpxchg(histogramOIDs + delta +
2, 0, inputIndex+1);\n"
- " const uint groupID = oldValue?oldValue:(inputIndex);\n"
+ " const uint groupID = oldValue?oldValue-1:(inputIndex);\n"
" groupIDs[inputIndex+2] = groupID;\n"
" atomic_inc(histogramCounts+delta+2);\n"
" }\n"
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list