1. A computing system comprising: a parallel processing pipeline comprising: a plurality of processing blocks each including a plurality of graphical processing units (GPUs), each of the plurality of GPUs in a same processing block sharing a memory block that is not used by GPUs from other processing blocks; and a global memory shared by all GPUs from all processing blocks of the parallel processing pipeline; and a decision tree training program configured to generate a decision tree including a plurality of nodes organized into levels, the decision tree training program representing instructions executable by the parallel processing pipeline to, for each level of the decision tree: perform, 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 for every node in a level; accumulate, at each memory block, a result of each feature test performed on each example processed by the plurality of GPUs that share that memory block, wherein such accumulating includes performing an atomic increment to a portion of the memory block when a plurality of feature test results are in contention for the portion of the memory block, and performing a non-atomic increment to a portion of the memory block when one feature test result is to be stored in the portion of the memory block; write the accumulated results from each memory block to the global memory to generate a histogram of features for every node in the level, wherein such writing includes performing an atomic add to the global memory for each portion of the memory block that includes an accumulated feature test value; and for each node in the level, assign a feature having a lowest entropy in accordance with the histograms to the node.