Causal Set Generator and Action Computer

W. J. Cunningham and D. Krioukov
Computer Physics Communications
Volume 233, December 2018, Pages 123-133
June 4, 2018

Abstract

The causal set  approach to quantum gravity has gained traction over the past three decades,  but numerical experiments involving causal sets have been limited to  relatively small scales. The software suite presented here provides a new  framework for the generation and study of causal sets. Its efficiency  surpasses previous implementations by several orders of magnitude. We  highlight several important features of the code, including the compact data  structures, the O(N2) causal set generation process, and several  implementations of the O(N3) algorithm to compute the BenincasaDowker action  of compact regions of spacetime. We show that by tailoring the data  structures and algorithms to take advantage of low-level CPU and GPU  architecture designs, we are able to increase the efficiency and reduce the  amount of required memory significantly. The presented algorithms and their  implementations rely on methods that use CUDA, OpenMP, x86 Assembly, SSE/AVX,  Pthreads, and MPI. We also analyze the scaling of the algorithms’ running  times with respect to the problem size and available resources, with  suggestions on how to modify the code for future hardware architectures.