Upload
ural-pdc
View
57
Download
1
Embed Size (px)
Citation preview
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 1 / 19)
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 1 / 19)
Parallel Algorithm for Natural Neighbor Interpolation
Alexander TsidaevBulashevich Institute of Geophysics
Ural Federal University (IRIT-RTF)Yekaterinburg
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 2 / 19)
Initial Data
Seismic data is principally two-dimensional.
We need to construct 3D models.
Typical seismic profile (recalculated to density values):
?
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 3 / 19)
Interpolation of the 2D data
Interpolation is the key step for initial model construction.This model contains 801 layers.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 4 / 19)
Interpolation methods
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 5 / 19)
Natural Neighbor Interpolation Method
based on image by Markluffel, distributed under CC BY-SA 3.0
is the measured (initial) value in point
is ratio of ”stolen” area
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 6 / 19)
Voronoi Diagrams
Voronoi diagram for 13 points
The partitioning of a plane with n points into convex polygons such that each polygon contains exactly one generating point and every point in a given polygon is closer to its generating point than to any other.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 7 / 19)
Iterative (incremental) algorithm for Voronoi
Based on incremental methodby Green, Sibson (1978)
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 8 / 19)
Iterative (incremental) algorithm for Voronoi
Searching intersection points forall polygons.
could be calculated on these steps for all the affected points.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 9 / 19)
Iterative (incremental) algorithm for Voronoi
Searching intersection points forall polygons.
could be calculated on these steps for all the affected points.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 10 / 19)
Iterative (incremental) algorithm for Voronoi
Searching intersection points forall polygons.
could be calculated on these steps for all the affected points.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 11 / 19)
Iterative (incremental) algorithm for Voronoi
Searching intersection points forall polygons.
could be calculated on these steps for all the affected points.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 12 / 19)
Iterative (incremental) algorithm for Voronoi
Searching intersection points forall polygons.
could be calculated on these steps for all the affected points.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 13 / 19)
Iterative (incremental) algorithm for Voronoi
Searching intersection points forall polygons.
could be calculated on these steps for all the affected points.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 14 / 19)
Iterative (incremental) algorithm for Voronoi
When we meet some edge for the second time, the algorithm reaches the end.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 15 / 19)
Iterative (incremental) algorithm for Voronoi
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 16 / 19)
Iterative (incremental) algorithm for Voronoi
Resulting new polygion is constructed
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 17 / 19)
ParallelizationIt can be noted that:
1. Algorithm is non-obstructive: none of the input data values are changed during calculation. This is the feature of any interpolation algorithm, that the interpolated function remains the initial values in the points of initial set.
2. Value in any inserted point depends only on values of the initialset.
So the calculations for any number of interpolated points can be performed in any order. This makes possible to implement the simple parallelization case of multiple independent threads. One thread for each interpolation point.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 18 / 19)
Efficiency of Parallel Version
Test calculations were performed on the URAN supercomputer (Krasovskii Institute of Mathematics and Mechanics, Yekaterinburg).
Initial set contained 644 points, interpolation grid was a square of 1024x1024 points.
Two parallelization platforms were used – OpenMP and CUDA.
2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016
Parallel Algorithm for Natural Neighbor Interpolation (slide 19 / 19)
Thank you for your attention