1. A computer-implemented method for computing net forces associated with a plurality of atoms in a protein-folding model, the method comprising: partitioning, via at least one parallel processing unit, a force matrix into a plurality of tiles, wherein values of non-diagonal cells in the force matrix represent inter-atom forces between different atoms in a protein, and each tile includes a portion of the cells comprising the force matrix; launching a first set of thread groups to compute values for cells in each tile in the plurality of tiles, wherein the value of each cell in a tile is based on one or more properties associated with either one atom or two different atoms in the protein; saving the computed values for the cells in each tile in a first memory space representing the force matrix; launching a second set of thread groups to reduce the computed values for the cells in each tile stored in the first memory space to produce a net force value for each atom represented in the force matrix; and saving the net force value for each atom in a second memory space.