Changeset: f5ffc86cc41c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f5ffc86cc41c
Modified Files:
        monetdb5/extras/bwd/cl_program_utilities.c
Branch: bwd
Log Message:

* using explicit offsets for memory object addressing


Unterschiede (36 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
@@ -188,17 +188,13 @@ cl_program getUSelectProgram(int type, c
                "const targetType operand,\n"
                "const targetType operand2\n"
                ") {\n"
-               /* " if(get_global_id(0) < approximationTail->count){\n" */
-               /* "  targetType value  = approximationTail->base;\n" */
                " if(get_global_id(0) < approximationTail[0]){\n" // count
                "  targetType value  = ((__global 
targetType*)approximationTail)[1];\n"//base
                "  size_t slot = 
(get_global_id(0)*approximationBits)/targetTypeBits;\n"
                "  size_t offset = 
(get_global_id(0)*approximationBits)%targetTypeBits;\n"
-               /* "    __global const unsigned int* vals = 
approximationTail->values;\n" */
-               "  __global const unsigned int* vals = 
&(approximationTail[2]);\n"
                "    const unsigned int delta = (("
-               "      
(((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)))"
+               "      
(((offset+approximationBits)>targetTypeBits)?(((approximationTail[2+slot]<<(approximationBits-targetTypeBits+offset))
 + 
(approximationTail[2+slot+1]>>(targetTypeBits-(approximationBits-targetTypeBits+offset))))&approximationMask):0)\n"
+               "    + 
(((offset+approximationBits)<=targetTypeBits)*(approximationTail[2+slot]>>(targetTypeBits-offset-approximationBits)))"
                "      )&approximationMask);\n"
                "    value += (delta<<residualBits);\n"
                "  if((value firstOperator operand)"
@@ -212,12 +208,8 @@ cl_program getUSelectProgram(int type, c
                "    if(outoffset+approximationBits > 8*sizeof(accessType)){"
                "      atomic_add(&(outputTail[2+outslot]), (delta >> 
(8*sizeof(accessType)+approximationBits-targetTypeBits)));"
                "      atomic_add(&(outputTail[2+outslot+1]), (delta << 
(8*sizeof(accessType)-(outoffset+approximationBits-targetTypeBits))));"         
-
-               /* "      outputTail[2+outslot] |= (delta << 
(approximationBits-(8*sizeof(accessType)-outoffset)));" */
                "    }else"
                        "      atomic_add(&(outputTail[2+outslot]), (delta << 
(8*sizeof(accessType)-outoffset-approximationBits)));"
-
-               /* "      outputTail[2+outslot] |= (delta << 
(8*sizeof(accessType)-outoffset-approximationBits));" */
                "  }\n"
                " }\n"
                "}"
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to