1. A computer-implemented method for computing inter-atom forces between atoms in a protein, the method comprising: instantiating a first thread group to compute values for a plurality of cells included in a tile via a computer processor, wherein the tile comprises a portion of a force matrix, and values of non-diagonal cells in the force matrix represent inter-atom forces between two different atoms in the protein; assigning each thread in the first thread group to a different atom represented in the tile; for each thread in the first thread group, determining a value of an index variable associated with the thread, wherein each value of the index variable corresponds to a different atom represented in the tile; for each thread in the first thread group, computing a force between the atom assigned to the thread and the atom corresponding to the value of the index variable associated with the thread based on one or more properties of the atom assigned to the thread and one or more properties of the atom corresponding to the value of the index variable associated with the thread; and for each thread in the first thread group, storing the value of the computed force in a memory space representing the force matrix.