parallelization of level set functions using message
play

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


  1. 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 Computational Department of Applied Mechanical Engineering, Science Computer Science and Laboratory Mathematics (CASL)

  2. Topics to be covered • 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. Eric Lee 2

  3. What are we doing in CASL? Navier Stokes Equation (General) Retrieved from http://www.cs.ucsb.edu/~fgibou/Home.html Eric Lee 3

  4. What will I be doing? Problem Time! Parallel programming! Solution 1. Use message passing interface (MPI) to create a serial code that works with one processor. Goals 2. Extend the serial code to work with multiple processors (parallel code) Eric Lee 4

  5. Serial and Parallel programming Processor 1 Code A Code A Processor 2 Serial Code A Programming Code A Processor 3 Code A Processor 4 A1 A2 A3 A4 Communication Network Parallel Programming P4 P1 P2 P3 with MPI Memory Memory Memory Memory Eric Lee 5

  6. Texas Advanced Computing Center 6 Core CPU Memory Memory 6 Core CPU Communication Network P1 P2 P3 P4 Memory Memory Memory Memory One node Retrieved from http://www.tacc.utexas.edu/user-services/user-guides/lonestar-user-guide Eric Lee 6

  7. What is message passing interface? • Message passing interface (MPI) is the industry standard for parallelizing code. • Common MPI commands: – MPI_Send – MPI_Recv MPI_Recv MPI_Send A A B B Eric Lee 7

  8. Development Process C / C++ Parallelize code with MPI Eric Lee 8

  9. What are Level Sets? Retrieved from http://en.wikipedia.org/wiki/Level_set_method Eric Lee 9

  10. Level Set Simulation Eric Lee 10

  11. Buggy simulation Eric Lee 11

  12. Level set function with a velocity field Eric Lee 12

  13. Partitioning of processor work Eric Lee 13

  14. Conclusions and future work • 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 Eric Lee 14

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

  16. Eric Lee 16

  17. MPI Code Development Retrieved from https://computing.llnl.gov Eric Lee 17

  18. Example of MatLab Code Eric Lee 18/10

  19. Example of C++ Code • Filler Eric Lee 19/10

  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. Eric Lee 20/4

  21. Development Process Prepare Serial Code C / C++ Parallelize code with MPI Export to visual Errors? No Errors? Eric Lee 21

  22. What is the difference between Serial and Parallel programming? Processor 1 Code A Code A Processor 2 What is Serial Code A Programming? Code A Processor 3 Code A Processor 4 Processor 1 Code A1 Code A2 Processor 2 What is Parallel Code A Programming? Code A3 Processor 3 Code A4 Processor 4 Eric Lee 22

  23. Parallel programming Processor 1 Code A Code A Processor 2 What is Serial Code A Programming? Code A Processor 3 Code A Processor 4 Processor 1 Code A1 Code A2 Processor 2 A1 A2 What is Parallel Code A Programming? A3 A4 Code A3 Processor 3 Code A4 Processor 4 Eric Lee 23

  24. Filler • Filler Eric Lee 24/2

Recommend


More recommend