Research Article
CUDT: A CUDA Based Decision Tree Algorithm
Algorithm 6
Algorithm of partition.
Algorithm Partition | Input: Target array | A flag array with 0, 1 Flag | A Set of attribute lists | (1) Declare max = sizeof() | (2) Declare buffer[max] | (3) Declare FalseArray[max] | (4) Declare TotalFalse | (5) Declare Address[max] | (6) For each element in Flag do in parallel | (7) buffer[] = !Flag[] | (8) FalseArray← Scan(buffer) | (9) TotalFalse = InverFlag[max] + FalseArray[max] | (10) For each element in buffer do in parallel | (11) buffer[] = − FalseArray[] + TotalFalse | (12) Address[] = (Flag[] == 0) ? FalseArray[]: buffer[] | (13) For each element in do in parallel | (14) buffer[] = | (15) [Address[]] = buffer[] |
|