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) 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 Tsidae Bulashevich Institute of Geophysic Ural Federal University (IRIT-RTF Yekaterinbur 2nd Ural Workshop on Parallel, Distributed, and Cloud Computing for Young Scientists Yekaterinburg, Russia, October 6, 2016

Parallel Algorithm for Natural Neighbour Interpolation

Embed Size (px)

Citation preview

Page 1: Parallel Algorithm for Natural Neighbour Interpolation

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

Page 2: Parallel Algorithm for Natural Neighbour Interpolation

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):

?

Page 3: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 4: Parallel Algorithm for Natural Neighbour Interpolation

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

Page 5: Parallel Algorithm for Natural Neighbour Interpolation

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

Page 6: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 7: Parallel Algorithm for Natural Neighbour Interpolation

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)

Page 8: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 9: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 10: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 11: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 12: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 13: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 14: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 15: Parallel Algorithm for Natural Neighbour Interpolation

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

Page 16: Parallel Algorithm for Natural Neighbour Interpolation

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

Page 17: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 18: Parallel Algorithm for Natural Neighbour Interpolation

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.

Page 19: Parallel Algorithm for Natural Neighbour Interpolation

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