One of the benefits of using TCPBs is that the electronic structure jobs can be efficiently parallelized in environments that have a limited number of GPUs per compute node. Because the only information that PySCES needs to communicate with TeraChem are the IP address and port numbers of each server, multiple TeraChem servers can be initialized on separate compute nodes at once. PySCES will then distribute the gradient and NAC jobs in a round-robin manner across all specified servers, as depicted in each of the labeled "Node" blocks in Figure . Each job keeps track of the previously computed coefficients, both for the ground and excited states, and uses these files as inputs for the next job to speed up subsequent calculations. Completed jobs transmit minimal information from TeraChem through the network (only the energies, gradients, and NACs), and the remaining electronic structure properties of each job are copied from their local output files at every time step. Furthermore, because each computation is run as a separate job in TeraChem, GPUs only need to be initialized once with the server, a task that would otherwise introduce several seconds of inactive computation time at the start of every job.