6.6LGAug 28, 2023
Breaking Boundaries: Distributed Domain Decomposition with Scalable Physics-Informed Neural PDE SolversArthur Feeney, Zitong Li, Ramin Bostanabad et al.
Mosaic Flow is a novel domain decomposition method designed to scale physics-informed neural PDE solvers to large domains. Its unique approach leverages pre-trained networks on small domains to solve partial differential equations on large domains purely through inference, resulting in high reusability. This paper presents an end-to-end parallelization of Mosaic Flow, combining data parallel training and domain parallelism for inference on large-scale problems. By optimizing the network architecture and data parallel training, we significantly reduce the training time for learning the Laplacian operator to minutes on 32 GPUs. Moreover, our distributed domain decomposition algorithm enables scalable inferences for solving the Laplace equation on domains 4096 times larger than the training domain, demonstrating strong scaling while maintaining accuracy on 32 GPUs. The reusability of Mosaic Flow, combined with the improved performance achieved through the distributed-memory algorithms, makes it a promising tool for modeling complex physical phenomena and accelerating scientific discovery.
7.4NAMay 24
Efficient Computation of Tucker Decomposition for Streaming Scientific Data CompressionSaibal De, Zitong Li, Hemanth Kolla et al.
The Tucker decomposition, an extension of singular value decomposition for higher-order tensors, is a useful tool in analysis and compression of large-scale scientific data. While it has been studied extensively for static datasets, there are relatively few works addressing the computation of the Tucker factorization of streaming data tensors. In this paper we propose a new streaming Tucker algorithm tailored for scientific data, specifically for the case of a data tensor whose size increases along a single streaming mode that can grow indefinitely, which is typical of time-stepping scientific applications. At any point of this growth, we seek to compute the Tucker decomposition of the data generated thus far, without requiring storing the past tensor slices in memory. Our algorithm accomplishes this by starting with an initial Tucker decomposition and updating its components--the core tensor and factor matrices--with each new tensor slice as it becomes available, while satisfying a user-specified threshold of norm error. We present an implementation within the TuckerMPI software framework, and apply it to synthetic and combustion simulation datasets. By comparing against the standard (batch) decomposition algorithm we show that our streaming algorithm provides significant improvements in memory usage. If the tensor rank stops growing along the streaming mode, the streaming algorithm also incurs less computational time compared to the batch algorithm.