+ All Categories
Home > Documents > A Fast Iterative Method for Solving the Eikonal Equation ...

A Fast Iterative Method for Solving the Eikonal Equation ...

Date post: 23-Jan-2022
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
1
A Fast Iterative Method for Solving the Eikonal Equation on Triangulated Surfaces Zhisong Fu, Won-Ki Jeong, Yongsheng Pan, Robert M. Kirby, Ross T. Whitaker www.sci.utah.edu S C I I N S T I T U T E E X H I B I T EX P L O R E E X C I T E EX P E R I E N C E EX C H A N G E SCI 1 P a r t i t i o n In this project, we consider the numerical solution of the Eikonal equations, a special case f li H ilt J bi ti l diff ti l 1 . P a r t i t i o n In the process of partitioning, we will use edges instead of coordinates thus our partition can be of non linear Hamilton-Jacobi partial differential equations (PDEs), defined on a three dimensional surface with a scalar speed instead of coordinates, thus our partition can be viewed as the graph-based partition We use METIS [2] as partition tool (See the dimensional surface with a scalar speed function: figure below for a partition result of a dragon) S is a surface domain. The solution of this equation simulates travel time of the wave f f propagation with speed f at x from some source points whose values are zero. The Eikonal equation appears in various Applications such equation appears in various Applications, such as computer vision, image processing, computer graphics geoscience and medical image graphics, geoscience, and medical image analysis. 1 M h F t I t t i M t h d ( h F I M ) [ 1 ] 2.Triangle-based data structure GEO: divided into sub segment for each patch d h th b t ti ti 1 . M e s h F a s t I t e r a t i v e M e t h o d ( m e s h F I M ) [ 1 ] An iterative computational technique to solve the Eikonal equation efficiently on parallel and each patch subsegment contains geometric data and speed information for each triangle: three floats for edge lengths of the triangle and the Eikonal equation efficiently on parallel architectures. This method relies on a modification of a label - three floats for edge lengths of the triangle and one float for speed. VAL: hold all the vertex values(float) of all This method relies on a modification of a label correcting method. The core elements for our FIM based method VAL: hold all the vertex values(float) of all triangles patch by patch. NBH: an integer array with each integer are: (1) Upwind scheme: calculate the value at a t ith th l f th l d ti element representing an index of a vertex value in the value array. vertex with the values of the solved vertices. (2) Active list management: Active list contains the patches which has wave front vertices If a the patches which has wave front vertices. If a active patch is convergent, it is removed from the Active list and its neighbor patches are the Active list and its neighbor patches are added to this list. (3) Patch-based iteration: divide the whole mesh into patches to fit into GPU cores. (4) Triangle-based Jacobi update: update all the CPU: Intel i7 920, 2.66GHz, 8M cache GPU: Nvidia GTX 275, 1.404GHz, 240 core We test running time(ms) for a CPU version of triangles inside a patch concurrently with parallel threads and each thread updates values f th th ti l ti Data structure figure GEO i i lbl d VAL d NBH We test running time(ms) for a CPU version of meshFIM to compare with GPU version on three different meshes: of the three triangle vertices. 2 . M e t h o d d e s c r i p t i o n (1) Firstly partition the mesh into patches GEO is in global memory and VAL and NBH are copied into shared memory for multiple updates different meshes: Mesh CPU GPU Speedup (1) Firstly, partition the mesh into patches. (2) Add the patches which contain the source vertices to active list. updates. 3 L l l Square 6562 201 33x Sphere 8591 415 21x vertices to active list. (3) Assign each patch to a GPU stream processor and iterate multiple times for each patch. 3 . L o c a l s o l v e r As in the figure below, local solver calculate the value of a vertex of the triangle ΔABC from the Dragon 4331 287 15x (4) Then check if a patch is convergent which means all the vertices of this patch are t R t th f th value of a vertex of the triangle ΔABC from the other two vertices. Without loss of generality we only talk about calculating value of C, , from convergent. Remove a convergent patch from the active list and add its neighbor patches. (5) Check if the patches in active list are already Assume wave propagation only talk about calculating value of C, , from values of A and B, , . f is the speed. (5) Check if the patches in active list are already convergent, if so remove. (6) Iterate again Assume wave propagation direction is from D to C, and we get: (6) Iterate again. 3 . S u i t a b i l i t y f o r G P U Each vertex updates independently According to the algorithm, update operation can be completed concurrently And the location of D must minimize so let: 1. A Fast Iterative Method For Eikonal Equations. Won-Ki Jeong, Ross Whitaker. 2 METIS A F il f M ltil l P titi i Computing only depends on the neighbors of same facet at every time step And the location of D must minimize , so let: ,We can solve for and then substitute into above equation to get . 2. METIS: A Family of Multilevel Partitioning Algorithms. http://glaros dtc umn edu/gkhome/views/metis into above equation to get . http://glaros.dtc.umn.edu/gkhome/views/metis Motivation Background Implementation Algorithm Result References
Transcript
Page 1: A Fast Iterative Method for Solving the Eikonal Equation ...

A Fast Iterative Method for Solving the Eikonal Equation on Triangulated SurfacesZhisong Fu, Won-Ki Jeong, Yongsheng Pan, Robert M. Kirby, Ross T. Whitaker

www.sci.utah.edu

SCI

INSTITUTE ● EXHIBIT ● EXPLO

RE ● EXCITE EXPERIENCE ● E

XCHAN

GE ●

SCI

1 PartitionIn this project, we consider the numericalsolution of the Eikonal equations, a special case

f li H ilt J bi ti l diff ti l

1.PartitionIn the process of partitioning, we will use edgesinstead of coordinates thus our partition can beof nonlinear Hamilton-Jacobi partial differential

equations (PDEs), defined on a threedimensional surface with a scalar speed

instead of coordinates, thus our partition can beviewed as the graph-based partitionWe use METIS [2] as partition tool (See thedimensional surface with a scalar speed

function: [ ] p (figure below for a partition result of a dragon)

S is a surface domain. The solution of thisequation simulates travel time of the wave

f fpropagation with speed f at x from some sourcepoints whose values are zero. The Eikonalequation appears in various Applications suchequation appears in various Applications, suchas computer vision, image processing, computergraphics geoscience and medical imagegraphics, geoscience, and medical imageanalysis.

1 M h F t It ti M th d( hFIM) [1]

2.Triangle-based data structureGEO: divided into sub segment for each patch

d h t h b t t i t i1.Mesh Fast Iterative Method(meshFIM) [1]An iterative computational technique to solve the Eikonal equation efficiently on parallel

and each patch subsegment contains geometric data and speed information for each triangle: three floats for edge lengths of the triangle and

the Eikonal equation efficiently on parallel architectures.This method relies on a modification of a label-

three floats for edge lengths of the triangle and one float for speed.VAL: hold all the vertex values(float) of all

This method relies on a modification of a labelcorrecting method. The core elements for our FIM based method

VAL: hold all the vertex values(float) of all triangles patch by patch.NBH: an integer array with each integer

are:(1) Upwind scheme: calculate the value at a

t ith th l f th l d ti

g y gelement representing an index of a vertex value in the value array.

vertex with the values of the solved vertices.(2) Active list management: Active list containsthe patches which has wave front vertices If athe patches which has wave front vertices. If aactive patch is convergent, it is removed fromthe Active list and its neighbor patches arethe Active list and its neighbor patches areadded to this list.(3) Patch-based iteration: divide the whole mesh ( )into patches to fit into GPU cores.(4) Triangle-based Jacobi update: update all the

CPU: Intel i7 920, 2.66GHz, 8M cacheGPU: Nvidia GTX 275, 1.404GHz, 240 coreWe test running time(ms) for a CPU version of

triangles inside a patch concurrently withparallel threads and each thread updates values

f th th t i l ti

Data structure figure

GEO i i l b l d VAL d NBH

We test running time(ms) for a CPU version ofmeshFIM to compare with GPU version on threedifferent meshes:

of the three triangle vertices.

2.Method description(1) Firstly partition the mesh into patches

GEO is in global memory and VAL and NBH are copied into shared memory for multiple updates

different meshes:

Mesh CPU GPU Speedup

(1) Firstly, partition the mesh into patches.(2) Add the patches which contain the sourcevertices to active list.

updates.

3 L l l

Square 6562 201 33xSphere 8591 415 21x

vertices to active list.(3) Assign each patch to a GPU stream processorand iterate multiple times for each patch.

3.LocalsolverAs in the figure below, local solver calculate thevalue of a vertex of the triangle ΔABC from the

pDragon 4331 287 15x

(4) Then check if a patch is convergent whichmeans all the vertices of this patch are

t R t t h f th

value of a vertex of the triangle ΔABC from theother two vertices. Without loss of generality weonly talk about calculating value of C, , from

convergent. Remove a convergent patch from theactive list and add its neighbor patches.(5) Check if the patches in active list are already

Assume wave propagation

only talk about calculating value of C, , fromvalues of A and B, , . f is the speed.

(5) Check if the patches in active list are alreadyconvergent, if so remove.(6) Iterate again

Assume wave propagationdirection is from D to C,and we get:

(6) Iterate again.

3.Suitability for GPUEach vertex updates independently

g

p p yAccording to the algorithm, update operation can be completed concurrently And the location of D must minimize so let:

1. A Fast Iterative Method For Eikonal Equations.Won-Ki Jeong, Ross Whitaker.2 METIS A F il f M ltil l P titi iComputing only depends on the neighbors of

same facet at every time step

And the location of D must minimize , so let:,We can solve for and then substitute

into above equation to get .2. METIS: A Family of Multilevel PartitioningAlgorithms.http://glaros dtc umn edu/gkhome/views/metis

into above equation to get .http://glaros.dtc.umn.edu/gkhome/views/metis

Motivation

Background

Implementation Algorithm

Result

References

Recommended