Changeset: 7c4444d7c21f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7c4444d7c21f
Modified Files:
monetdb5/extras/bwd/cl_program_utilities.c
monetdb5/extras/bwd/operations.c
Branch: bwd
Log Message:
* actually got a correct result for TPCH 6 now
* tomorrow I'll try it on big machine and dataset
Unterschiede (63 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
@@ -39,6 +39,24 @@ cl_program compileProgram(const char* so
return program;
}
+cl_program getMultiplyProgram(unsigned int approximationBits){
+ const char* sourceCode = "__kernel void project (\n"
+ "__global struct{int count; int padding; char values[];}*
outputTail,\n"
+ "__global const struct{int count; int padding; char values[];}*
inputTail1,"
+ "__global const struct{int count; int padding; char values[];}*
inputTail2\n) {\n"
+ " const int offset = get_global_id(0)*approximationBytes;\n"
+ " int value1 = 0;"
+ " for(int i = 0; i < approximationBytes; i++){\n"
+ " outputTail->values[get_global_id(0)*approximationBytes+i]
= approximation[offset + i];\n"
+ " value += approximation[offset + i] << 8*i;"
+ " }\n"
+ /* " printf(\"projected value (%d): %d\\n\",
inputTail->positions[get_global_id(0)], value<<(8*(4-approximationBytes)));" */
+ "}";
+ char options[64];
+ snprintf(options, 64, "-D approximationBytes=%d",
approximationBits/8);
+ return compileProgram(sourceCode, options);
+}
+
cl_program getProjectionLeftjoinProgram(unsigned int approximationBits){
const char* sourceCode = "__kernel void project (\n"
"__global struct{int count; int padding; char values[];}*
outputTail,\n"
diff --git a/monetdb5/extras/bwd/operations.c b/monetdb5/extras/bwd/operations.c
--- a/monetdb5/extras/bwd/operations.c
+++ b/monetdb5/extras/bwd/operations.c
@@ -621,9 +621,11 @@ str BWDBatMULsignalApproximate(bat *ret,
return MAL_SUCCEED;
}
+extern str CMDbatMULsignal(bat *ret, bat *bid1, bat *bid2);
+
str BWDBatMULsignalRefine(bat *ret, bat *bid1, bat *bid2, bat *approx){
//TODO: implement me (easy)
- return MAL_SUCCEED;
+ return CMDbatMULsignal(ret, bid1, bid2);
}
str BWDSelectNotNilApproximate(int *result, int *bid){
@@ -633,7 +635,8 @@ str BWDSelectNotNilApproximate(int *resu
str BWDSelectNotNilRefine(int *result, int *bid, int *approx){
//TODO: implement me (easy)
- return MAL_SUCCEED;
+ /* *result = *bid; */
+ return ALGselectNotNil(result, bid);
}
@@ -644,7 +647,7 @@ str BWDSumApproximate(lng* res, int *bid
str BWDSumRefine(lng* res, int *bid, lng* approx) {
//TODO: implement me (easy)
- return MAL_SUCCEED;
+ return ALGsum_int_int(res, bid, (signed char[]){1});
}
str bwd_export_value_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list