What is a "frame" / "step"?

Confused about Steps / Frames / Checkpoints / etc?

Both frames and steps are particularly important from the scientific perspective. I think I understand all of the following terms, but I've never seen precise definitions, so if I'm wrong about them, somebody can correct me.

The fundamental unit of calculation is a step, and the position of each atom is calculated at some very small increment of time. Once the positions and forces are known at a particular time, they can be used to predict the positions at a later time.

A series of steps is combined into a larger block of time normally called a frame (but the term is not always used the same way). Those positions are recorded on disk. I think that those positions are also uploaded for every frame, but I'm not sure that's always true. When you see an animation of protein motion, you don't see every step, you only see every frame.

Depending on the number of atoms, the speed of the computer, etc. the time to calculate a single frame can vary widely. The number of steps per frame is specified by the PI, but will be different for different proteins.

To minimize repeated calculations when you shut down FAH, a checkpoint is written to disk. It generally represents a different number of steps than a frame. They're not treated the same way in all cores, but they're like a frame in that they create a record of all the positions on disk so that FAH has enough information to restart, but they don't need to be permanently recorded because they're not necessarily going to be uploaded to the FAH datbase. For most cores, a frame also functions as a checkpoint, but you can have extra checkpoints within a single frame.

Another block of steps is called a Work Unit. The actual number of steps and the number of frames in a WU may be different from other projects, and the size is determined by some balance of how frequently the Pande Group wants a typical machine to upload results and the size of the uploads.

By stringing together a series of WUs, the Pande Group obtains a simulation or a run which is what they're really looking for.

I've generally gone from small to large. Of course you can always break down a step into individual calculations. See

There is a fundametal issue with the word frame. In it's original context, the word appears in the logs of Tinker WUs and it's meaning is clear. The same information appears on the client's GUI window and the number of frames per WU (which is different for different projects) is given in psummary. Each frame is also a checkpoint.

For the most part, a large percentage of the FAH projects no longer use the Tinker core. Gromacs has a number of implementations but there are also other cores. The word frame does not appear in the Gromacs code, itself (and probably not in the other cores). Gromacs does issue 100 progress messages per WU which are also checkpoints. (There may also be other checkpoints.) Each of these progresss messages also mentions steps. For example, Completed 95000 out of 500000 steps (19) represents the 19th of 100 messages which are shown in FAHlog and on the Console screen. By similarity, these are called "frames" and psummary lists 100 frames on all gromacs WUs. The word "frame" appears a third place: On the GUI window. When the example given above is the most recent message, the GUI window will say: Frames Completed: 95/500 13:8s/frame 96/500 (estimate) Apparently the GUI is calling 1000 steps a frame and there are 500 frames.

It is impossible to reconcile what is shown on the GUI window with what is shown in FAHlog.txt or with what is shown in psummary.html.