Describir: A Massively Parallel Adaptive Fast Multipole Method on Heterogeneous Architectures.