1. A method for generating a decision tree including a plurality of nodes organized into levels from a parallel processing pipeline including a plurality of processing blocks, each processing block including a plurality of graphical processing units (GPUs) sharing a memory block, and each GPU of parallel processing pipeline sharing a global memory, the method comprising, for each level of the decision tree: performing, at each GPU of the parallel processing pipeline, a feature test for a feature in a feature set on every example in an example set; accumulating, at each memory block, a result of each feature test performed on each example processed by the plurality of GPUs that share the memory block; writing, the accumulated results from each memory block to the global memory to generate a histogram of features for every node in the level; and for each node in the level, assigning a feature having a lowest entropy in accordance with the histograms to the node.