Parallelization of Level Set Functions Using Message Passing - - PowerPoint PPT Presentation

parallelization of level set functions using message
SMART_READER_LITE
LIVE PREVIEW

Parallelization of Level Set Functions Using Message Passing - - PowerPoint PPT Presentation

Parallelization of Level Set Functions Using Message Passing Interface Institute for Collaborative Biotechnologies Presenter Lab Mentor Faculty Advisor Eric Lee Mohammad Mirzadeh Frederic Gibou Contra Costa College Computer Science


slide-1
SLIDE 1

Parallelization of Level Set Functions Using Message Passing Interface

Presenter

Eric Lee Contra Costa College Computer Science

Lab Mentor

Mohammad Mirzadeh Computational Applied Science Laboratory (CASL)

Faculty Advisor

Frederic Gibou Department of Mechanical Engineering, Computer Science and Mathematics Institute for Collaborative Biotechnologies

slide-2
SLIDE 2

Topics to be covered

2 Eric Lee

  • What are we doing in the Computational Applied Science Laboratory

(CASL)?

  • What is my project for this summer?
  • Serial and Parallel programming.
  • Message passing interface.
  • Development process.
  • Data and progress so far.
  • Conclusions and future work.
slide-3
SLIDE 3

What are we doing in CASL?

3 Eric Lee

Navier Stokes Equation (General) Retrieved from http://www.cs.ucsb.edu/~fgibou/Home.html

slide-4
SLIDE 4

What will I be doing?

4 Eric Lee

1. Use message passing interface (MPI) to create a serial code that works with one processor. 2. Extend the serial code to work with multiple processors (parallel code)

Problem

Time! Parallel programming!

Solution Goals

slide-5
SLIDE 5

Serial and Parallel programming

5 Eric Lee

Code A Code A Processor 1 Serial Programming Parallel Programming with MPI Code A Code A Code A Processor 2 Processor 3 Processor 4 A1 A2 A3 A4 P1 P2 P3 P4 Memory Memory Memory Memory Communication Network

slide-6
SLIDE 6

Texas Advanced Computing Center

6 Eric Lee Retrieved from http://www.tacc.utexas.edu/user-services/user-guides/lonestar-user-guide

One node 6 Core CPU 6 Core CPU Memory Memory P1 P2 P3 P4 Memory Memory Memory Memory Communication Network

slide-7
SLIDE 7

What is message passing interface?

7 Eric Lee

  • Message passing interface (MPI) is the industry standard for

parallelizing code.

  • Common MPI commands:

– MPI_Send – MPI_Recv

MPI_Send B A A B MPI_Recv

slide-8
SLIDE 8

Development Process

8 Eric Lee

C / C++

Parallelize code with MPI

slide-9
SLIDE 9

What are Level Sets?

9 Eric Lee

Retrieved from http://en.wikipedia.org/wiki/Level_set_method

slide-10
SLIDE 10

Level Set Simulation

10 Eric Lee

slide-11
SLIDE 11

Buggy simulation

11 Eric Lee

slide-12
SLIDE 12

Level set function with a velocity field

12 Eric Lee

slide-13
SLIDE 13

Partitioning of processor work

13 Eric Lee

slide-14
SLIDE 14

Conclusions and future work

14 Eric Lee

  • Serial code is working properly!
  • Parallel code works with one processor (essentially a serial code).
  • Still need to get parallel code working with multiple processors.
  • Compare parallel code to serial code.

Retrieved from http://www.tacc.utexas.edu/user-services/user-guides/lonestar-user-guide

slide-15
SLIDE 15

Acknowledgments

15 Eric Lee

Mentor: Mohammad Mirzadeh Faculty Advisor: Frederic Gibou Institute of Collaborative Biotechnologies National Science Foundation Internships in Nanosystems Science, Engineering, and Technology (INSET)

slide-16
SLIDE 16

16 Eric Lee

slide-17
SLIDE 17

MPI Code Development

17 Eric Lee

Retrieved from https://computing.llnl.gov

slide-18
SLIDE 18

Example of MatLab Code

18/10 Eric Lee

slide-19
SLIDE 19

Example of C++ Code

19/10 Eric Lee

  • Filler
slide-20
SLIDE 20

What are we doing in CASL?

  • We solve partial differential equations (PDEs) and use their

solutions to simulate various physical phenomena!

  • What are PDEs?

– Mathematical equations

  • What can we describe using PDEs?

– Weather – Electricity and Magnetism – Fluid flow

  • Why is this important?

– Saves money!

  • Allows us to run simulations without actually building

anything.

20/4 Eric Lee

slide-21
SLIDE 21

Development Process

21 Eric Lee

C / C++

Prepare Serial Code

Parallelize code with MPI

Errors? Export to visual No Errors?

slide-22
SLIDE 22

What is the difference between Serial and Parallel programming?

22 Eric Lee

Code A Code A Code A Code A Code A Processor 1 Processor 2 Processor 3 Processor 4 Code A Code A1 Code A2 Code A3 Code A4 Processor 1 Processor 2 Processor 3 Processor 4 What is Serial Programming? What is Parallel Programming?

slide-23
SLIDE 23

Parallel programming

23 Eric Lee

Code A Code A Processor 1 Code A Code A1 Code A2 Code A3 Code A4 Processor 1 Processor 2 Processor 3 Processor 4 What is Serial Programming? What is Parallel Programming? A1 A2 A3 A4 Code A Code A Code A Processor 2 Processor 3 Processor 4

slide-24
SLIDE 24

Filler

24/2 Eric Lee

  • Filler