e U and W arrays are shared among threads, as well as all the large constant data needed for the calculation such as the ERIs. Sharing U also provides the bene t to reduce the amount of communication since U needs to be fetched only once for each node, independently of the number of cores. To make the broadcast of U e cient, the slave helper program is parallelized with MPI in a SPMD fashion, and each node runs a single MPI process. e U matrix is fetched from the ZeroMQ server by the process with rank zero, and then it is broadcast to the other slave processes within the same MPI job via MPI primitives. en, each MPI process behaves independently and communicates via ZeroMQ with the task server, and with the master node which collects the results. A schematic view of the communication is presented in Fig 1.