selecting a finite element analysis backend for exascale ...€¦ · solve a large linear system...

29
| 1/29 Selecng a Finite Element Analysis Backend for Exascale Fusion Reactor Simulaons

Upload: others

Post on 08-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 1/29

Selecting a Finite Element Analysis Backendfor Exascale Fusion Reactor Simulations

Page 2: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 2/29

A Brief Introduction to FusionProducing Energy with Magnetically Confined Plasma

Page 3: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 3/29

The Physics Behind Fusion

n + 14,1 МеВn + 14.1 MeV

He + 3,5 МеВHe + 3.5 MeV44

HH33HH22

Page 4: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 4/29

Magnetic Confinement - The Tokamak

Image Copyright © S. Li, H. Jiang, Z. Ren, C. Xu, 2014 CC-BY-4.0

Page 5: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 5/29

ITER

  

Image Copyright © Oak Ridge National Laboratory, 2016 CC-BY-2.0

Page 6: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 6/29

Engineering Analysis Challenges

    

Page 7: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 7/29

Two Approaches

Single tightly coupled simulation

● One single program

● Solve a large linear system for all the physics involved

● Ensures capture of strongly coupled physical phenomena

● Solution may be numerically ‘stiff’

Many loosely coupled simulations

● Use best in class for each domain

● Couple together with a third party library and iterate

● Temporal accuracy may suffer

● Easy to decouple irrelevant physics

Page 8: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 8/29

Selecting a Finite Element Library

Page 9: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 9/29

Criterion One – Parallel First

Exascale simulation

Designed as a parallel code from the outset

Optimised for HPC environment

Page 10: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 10/29

Criterion Two – Permissively Licensed

Any location, including w/o internet

Any number of processes

Extension and modification permitted

Open Source?

Page 11: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 11/29

Criterion Three - Portable

What does the exascale look like?

Vectorised? Mixed-mode? GPU?

Page 12: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 12/29

Criterion Four - Extensible

Open to external contribution

Good software engineering practices

Page 13: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 13/29

Criterion Five - Supported

User community – forums, mailing lists, IRC, workshops and tutorials

Documentation – for both user and developer

Page 14: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 14/29

Implicit Criterion – Compiled Language

Interpreted languages incur an overhead

Example: FEniCS versus DOLFIN

When scaled up, every little helps

Page 15: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 15/29

Implicit Criteria – Stable API, Actively Developed

A reliable library must have a stable API,thus not in ‘alpha’ or ‘beta’ development

To be actively supported,it must actively developed

Page 16: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 16/29

Initial survey found 35 potential candidates

Eliminated those that were:Not parallel-first / HPCIn early development

Poorly supportedInextensibleAbandoned

Initial Survey and Elimination

Page 17: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 17/29

Shortlist

● deal.ii www.dealii.org ● DUNE www.dune-project.org● DOLFIN fenicsproject.org● libMesh libmesh.github.io● MFEM mfem.org● MOOSE mooseframework.org● Nektar++ www.nektar.info

Page 18: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 18/29

Performance Measurement – Problem Definition

● Steady State: Poisson Equation ● Time Dependent: Heat Equation

−∇2u=f

∂u∂ t

−∇2u=f

Page 19: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 19/29

Performance Measurement – Mesh Definition

http://gmsh.info

Page 20: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 20/29

Dealbreaker

Page 21: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 21/29

Results – Memory Usage

Page 22: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 22/29

Results – Scaling (Total Time)

Page 23: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 23/29

Results – Scaling (Solver Time)

Page 24: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 24/29

Results – Wall Time

Page 25: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 25/29

Results – Honourable Mentions

MFEM – Highly portable, few dependencies,clear and simple build process

MOOSE – Multiphysics coupling design

Page 26: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 26/29

Conclusions

All things considered, there is no clear winner

Page 27: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 27/29

Picking A Winner

s final=w p r p+wq rq

w=weight , r=rank , x p=performance , xq=quality

sq=wi si+wu su+wd sd

s=score , x i=installation , xu=usability , xd=documentation

Page 28: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 28/29

Summary – Important Aspects of HPC Software

● In HPC, performance and scalability are essential● A well documented, easy to use and portable build

process● User interaction is still important, consider how data will

go in and out - support common, open formats● Good documentation:

– Tutorials– Examples– Source Comments

Page 29: Selecting a Finite Element Analysis Backend for Exascale ...€¦ · Solve a large linear system for all the physics involved Ensures capture of strongly coupled physical phenomena

| 29/29

Thank You For Listening

Any Questions?