1 / 8

MESQUITE: Mesh Optimization Toolkit

MESQUITE: Mesh Optimization Toolkit. Brian Miller, LLNL miller125@llnl.gov. A) Project Overview. Science goal: Algorithms for improving unstructured mesh quality, achieved through optimization techniques.

decker
Download Presentation

MESQUITE: Mesh Optimization Toolkit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MESQUITE: Mesh Optimization Toolkit Brian Miller, LLNL miller125@llnl.gov

  2. A) Project Overview • Science goal: Algorithms for improving unstructured mesh quality, achieved through optimization techniques. • Provide library of high quality mesh optimization tools to simulation code projects (Mesquite). • Pat Knupp (SNL) project PI • Brian Miller, Lori Diachin (LLNL) • Carl Ollivier-Gooch (UBC) • Long history of support through DoE Office of Science • Several successful collaborations with both SciDAC and ASC code groups. • Goals in CScADS context: Apply threaded parallelism to Mesquite optimization solvers. • Evolve algorithms and software to take advantage of current and emerging hardware and software capabilities (multicore, many core, etc.)

  3. B) Science Lesson • MESQUITE poses unstructured mesh quality improvement as an optimization problem. • Element Quality: • Ideal element as defined by the user drives this. • Mesh quality objective function: • How local element qualities are summed into the global objective function. Again, user defined. • Optimization problem: min(F(x)) • Optimization problems solved using included solvers ranging from simple steepest descent to more sophisticated Feasible Newton and Active Set solvers. Again user chooses solver method.

  4. C/D) Methods and Programming Model • Pretty basic C++ . • No third party libraries except for unit testing (cppunit). • MPI parallelism, mostly low volume nearest neighbor communication. • No threaded parallelism currently – we intend to change this. • Fairly portable code including recent runs on LLNL dawn BG/P machine. • Optimization solvers included in the code, no interface to external optimization libraries. • Designed to meet TSTTM mesh query interface and have demonstrated its use in several code interfaces.

  5. E) I/O and Viz • I/O: • Not really applicable since Mesquite is intended for use within an existing code framework. • For standalone use and testing we typically read/write one file per MPI task. • Viz: • Visit or paraview for viewing parallel mesh files. • Optional Gnuplot output of convergence histories. • Analysis: • Internal mechanism for mesh quality calculations.

  6. G/H) Tools and Performance • What tools do you use? • TAU/OpenSpeedShop/Intel tools for performance analysis and thread checks. • Totalview, valgrind for debugging. • Some internal debugging output available. • What do you believe is your current bottleneck to better performance? • Serial performance is sub-optimal. A route is needed from the generic algorithms provided in Mesquite to tight, high performance loops. • What do you believe is your current bottleneck to better scaling? • Scaling hasn’t been a problem (yet.) • What features would you like to see in performance tools? • Better derived hardware metrics/more sophisticated analysis.

  7. I) Status and Scalability • Goal in one year: Similar graph but with threads added. • Top Pains: • Must add threading to existing code – not enough resources to rewrite. • Require portable threading model. • How to inherit simulation threading model.

  8. J) Roadmap • Where will your science take you over the next 2 years? • Desire to support runs on significantly larger systems (Sequoia) • What do you hope to learn / discover? • Extent of MPI scalability. • Effect of adding threading on MPI scalability. • What improvements will you need to make? • New threaded global solver algorithms. • Gradual evolution to threaded implementation. • What are your plans? • OpenMP threading in limited regions of the code – specific algorithms with good available parallelism initially. • Extending threads to other areas may require algorithmic changes. • Explore other threading models: OpenCL, OpenACC, CUDA, etc.

More Related