1. A method, comprising: testing a query against a first set of objects, utilizing a single instruction multiple data processing architecture; selecting a second set of objects based on a result of testing the query against the first set of objects; and testing the query against the second set of objects, utilizing the single instruction multiple data processing architecture; wherein testing the query against the first set of objects and the second set of objects includes testing a single ray against the first set of objects and the second set of objects by a number of threads executed by the single instruction multiple data processing architecture, in parallel; wherein the number of threads are divided into a subset of the number of threads, the single ray is allocated to the subset of the number of threads, and the subset of the number of threads perform a cohesive traversal of the single ray.