52
Advanced Simulation and Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear Flash The FLASH Code Parallel AMR Made Easy Tomek Plewa LACSI Symposium Santa Fe, 10/12/2004

The FLASH Code Parallel AMR Made Easy

Embed Size (px)

DESCRIPTION

The FLASH Code Parallel AMR Made Easy. Tomek Plewa. LACSI Symposium Santa Fe, 10/12/2004. FLASH Center Astrophysics as primary application Verification and Validation activities External contributors and users. Outline. FLASH Code View from the outside Source tree and functionality - PowerPoint PPT Presentation

Citation preview

Advanced Simulation and Computing (ASC) Academic Strategic Alliances Program (ASAP) Center

at The University of Chicago

The Center for Astrophysical Thermonuclear Flashes

The FLASH CodeParallel AMR Made Easy

Tomek Plewa

LACSI SymposiumSanta Fe, 10/12/2004

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Outline

FLASH CenterAstrophysics as primary application

Verification and Validation activities

External contributors and users

FLASH CodeView from the outside

Source tree and functionalityUser level

Problem configuration

Intra-module modifications

Developer levelExtending the source tree

Inter-module communications

Summary

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Application: Astrophysics

Target ApplicationsCompact accreting stars (white dwarf, neutron star)

Reactive hydrodynamics (DNS or subgrid model)

Initial conditions close to hydrostatic equilibrium (self-gravity)

Complex EOS (dense nuclear matter)

Example: Type Ia SupernovaMassive white dwarf

Subgrid model for nuclear flame

Self-gravity

Degenerate EOS

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Length scales in White Dwarf Deflagration

Before 2000

Now

BG/L

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Verification & Validation Program

Verification: solving equations right

Validation: solving the right equations

Verification ranging from simple analytic problems to code-code comparison.

Validation: no direct access to experiments, use scaling laws

Absolutely NO culture of validation in astrophysics!

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Verification

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH V&V Complete Example

Experimental time series, water/glycol fog visualization of SF6 mole fraction.

Images correspond to 50, 190, 330, 470, 610, and 750 s after shock impact

Composite image does not preserve time-distance relationship

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

AMR-generated Timestep-dependent Signal

CFL=0.8

CFL=0.2

CFL=0.4

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

AMR-generated Timestep-dependent Signal

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH As An Open Source Research Code

FLASH is community code, freely (with minimal restrictions) available for research

External contribution: shock-cylinder experiment (Jacobs, LANL)

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Center and AMR Community

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code

Primary objective

To create robust, reliable, efficient and expandable code, that stands the test of time and users.

Primary characteristics

parallel

adaptive mesh (possibly different mesh packages)

block-structured (currently)

multi-physics (hydro, MHD, SRHD, gravity, particles…)

Fortran 9x

portable

freely accessible

documented & actively maintained

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code As Seen From The Outside

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Portability: BG/L

Successful early runs up to 2048 processors

Communication is scaling well. Test size limited

by small number of available processors.

Large runs scheduled

Several days of 16K-32K processors.

Focusing on FLOPS

Make up for slower CPUs, beta-compilers

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Code Access

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Source Tree And Functionality

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Source Tree And Functionality

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Driver

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Driver

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Hydrodynamics Unit

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH EOS Unit

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Unit Hierarchy

API/

Stubs

Common API Impl

API impl

Wrapper

kernel

API impl API impl

Wrapper

kernel

Wrapper

kernel

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Solvers: Poisson

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Source Terms

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Common Fabric

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Inter-Module Connectivity

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Inter-Module Connectivity

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Putting It All Together

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Config Files

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Setups

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Setup Example

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Initial Conditions

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Configuring FLASH Application

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Application Build Tree

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Documentation

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH I/O

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Visualization

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

FLASH Results

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Summary

Overall architectureUnit typesUnit architectureNear future

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Summary: Architecture

Setup toolassemble application

Config filesdefine components

Driver moduleorganize interactions

Unit ArchitectureAPI

InheritanceData management

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Summary: Units Types

Physicshydrogravity

InfrastructuredrivergridI/O

Utilityprofilerruntime visualization

Data analysisFidlrflashview

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Wrapper

Summary: Unit Architecture

Driver

Top level:•API

•Unit Test

Grid Data Module

patch datatime step

etc

Kernel

The ASC/Alliances Center for Astrophysical Thermonuclear FlashesThe University of Chicago

Near Future: FLASH3

FLASH original design was very Paramesh-likeblock structured

fixed size blocks

specified at compile time

every section of the code assumed knowledge of block size

Relaxing the constrain opens up possibilities of usingvariable block size mesh

patch based mesh

non-uniform non-adaptive mesh

uniform grid without unnecessary overheads