Patent ID: 7937359

Claim:
A computing device for resolving linear complementarity problems (LCPs) related to a physics-based initial data set characterizing a plurality of objects and a plurality of constraints restricting movement of at least one object in the plurality of objects, the computing device comprising: a main memory; a central processing unit (CPU) configured to: generate the physics-based initial data set characterizing the plurality of objects and the plurality of constraints, and store the physics-based initial data set and the plurality of constraints in the main memory restricting movement of at least one object in the plurality of objects; and a co-processing unit comprising a plurality of island processing engines (IPEs) arranged in parallel and configured to: receive the physics-based initial data set from the main memory, define a plurality of island data sets from the physics-based initial data set, wherein each one of the plurality of island data sets corresponds to at least one LCP, transfer each one of the plurality of island data sets to a corresponding one of the plurality of IPEs for processing to produce output data, and animate a physics-based interaction of the plurality of objects based on the output data for display, wherein each IPE comprises a plurality of execution units arranged in parallel and configured to: define a plurality of data portions from an island data set, wherein each one of the plurality of data portions comprises data associated with an object or a constraint characterized in the initial data set, transfer each one of the plurality of data portions to a corresponding one of the plurality of execution units, and process each one of the plurality of data portions in parallel to produce output data that solves the corresponding at least one LCP.