@@ -31,7 +31,7 @@ Large-scale linear operations and inverse problems are fundamental to numerous a
31
31
processing, geophysics, signal processing, and remote sensing. This paper presents PyLops-MPI, an extension of PyLops
32
32
designed for distributed and parallel processing of large-scale challenges. PyLops-MPI facilitates forward and adjoint
33
33
matrix-vector products, as well as inversion solvers, in a distributed framework. By using the Message Passing
34
- Interface (MPI), this framework effectively utilizes the computational power of multiple nodes or processors , enabling
34
+ Interface (MPI), this framework effectively utilizes the computational power of multiple nodes or ranks , enabling
35
35
efficient solutions to large and complex inversion tasks in a parallelized manner.
36
36
37
37
# Statement of need
@@ -46,22 +46,21 @@ When addressing distributed inverse problems, we identify three distinct use cas
46
46
flexible, scalable framework:
47
47
48
48
- ** Fully Distributed Models and Data** : Both the model and data are distributed across nodes, with minimal
49
- communication during the modeling process. Communication occurs mainly during the solver stage when dot
49
+ communication during the modeling process. Communication occurs mainly during the solver stage when dot
50
50
products or regularization, such as the Laplacian, are applied. In this scenario where each node
51
51
handles a portion of the model and data, and communication only happens between the model and data at each node.
52
52
53
53
- ** Distributed Data, Model Available on All Nodes** : In this case, data is distributed across nodes while the model is
54
- available at all nodes. Communication is required during the adjoint pass when models produced by each node need
54
+ available at all nodes. Communication is required during the adjoint pass when models produced by each node need
55
55
to be summed, and in the solver when performing dot products on the data.
56
56
57
57
- ** Model and Data Available on All Nodes or Master** : Here, communication is confined to the operator, with the master
58
58
node distributing parts of the model or data to workers. The workers then perform computations without requiring
59
59
communication in the solver.
60
60
61
- Recent updates to mpi4py (version 3.0 and above) [ @Dalcin :2021] have simplified its integration, enabling more efficient data
62
- communication between nodes and processes.
63
- Some projects in the Python ecosystem, such as mpi4py-fft [ @Mortensen :2019] , mcdc [ @Morgan :2024] , and mpi4jax [ @mpi4jax ] ,
64
- utilize MPI to extend its capabilities,
61
+ Recent updates to mpi4py (version 3.0 and above) [ @Dalcin :2021] have simplified its integration, enabling more efficient
62
+ data communication between nodes and processes. Some projects in the Python ecosystem, such as
63
+ mpi4py-fft [ @Mortensen :2019] , mcdc [ @Morgan :2024] , and mpi4jax [ @mpi4jax ] , utilize MPI to extend its capabilities,
65
64
improving the efficiency and scalability of distributed computing.
66
65
67
66
PyLops-MPI is built on top of PyLops[ @Ravasi :2020] and utilizes mpi4py to enable an efficient framework to deal with
@@ -155,4 +154,9 @@ the need for explicit inter-process communication, thereby avoiding heavy commun
155
154
Each rank applies the source modeling operator to perform matrix-vector products with the broadcasted reflectivity.
156
155
The resulting data is then inverted using the MPI-Powered solvers to produce the desired subsurface image.
157
156
157
+ - * Multi-Dimensional Deconvolution (MDD)* is a powerful technique used at various stages of the seismic processing
158
+ sequence to create ideal datasets deprived of overburden effects[ @Ravasi :2022] . PyLops-MPI addresses this issue by
159
+ ensuring that the model is available on all ranks and that the data is broadcasted. Operations are performed
160
+ independently at each rank, eliminating the need for communication during the solving process.
161
+
158
162
# References
0 commit comments