1. A computer-implemented method for computing net forces on atoms in a protein, the method comprising: instantiating a first thread group via at least one parallel processing unit to compute net forces for a plurality of atoms represented in a force matrix, wherein each column of the force matrix corresponds to a different atom in the protein, and each row of the force matrix corresponds to a different atom in the protein, and values of non-diagonal cells in the force matrix represent inter-atom forces between different atoms in the protein; for each thread in the first thread group, identifying a cell in the force matrix corresponding to the value of a first index variable associated with the thread and a value of a second index variable associated with the thread, wherein each value of the first index variable represents a different atom represented in the force matrix, and each value of the second index variable represents a different atom in the force matrix; for each thread in the first thread group, adding the value of the identified cell to a sum variable associated with the thread; and for each thread in the first thread group, storing the value of the sum variable associated with the thread in a memory space.