+ All Categories
Home > Documents > Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6 Ocean Models to Multiple Architectures

Date post: 25-Oct-2021
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
23
This material is based upon work supported by the National Center for Atmospheric Research, which is a major facility sponsor ed by the National Science Foundation under Cooperative Agreement No. 1852977. Porting CESM+MOM6 Ocean Models to Multiple Architectures July 31, 2019 G. Dylan Dickerson University of Wyoming Supreeth Suresh NCAR, Mentor
Transcript
Page 1: Porting CESM+MOM6 Ocean Models to Multiple Architectures

This material is based upon work supported by the National Center for Atmospheric Research, which is a major facility sponsor ed by the National Science Foundation under Cooperative Agreement No. 1852977.

Porting CESM+MOM6 Ocean Models to Multiple

Architectures

July 31, 2019

G. Dylan DickersonUniversity of Wyoming

Supreeth SureshNCAR, Mentor

Page 2: Porting CESM+MOM6 Ocean Models to Multiple Architectures

• Project Goals

• Background

• Challenges

• Development Cycle

• Results

• Lessons Learned

• Future Work

2 Contents

Porting CESM+MOM6 2

Page 3: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Project Goals

Porting CESM+MOM6

• Port CESM2+MOM6 onto Graphical Processing Units

(GPUs)

– Portability

– Reasonable performance gains

– Minimal Code Change

• Train me to continue University of Wyoming and NCAR

collaboration on this and other projects

• Enhance the portability of CESM

3

Page 4: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

How accurate is your forecast?

4

Page 5: Porting CESM+MOM6 Ocean Models to Multiple Architectures

5 What about seasonal models/forecasts?

Porting CESM+MOM6 5

Campsite on Casper Mountain

Snowboarder at Powder Mountain Harvesting on a farm in Kansas

Page 6: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

The Community Earth System Model

6

Page 7: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Coupler

Land

Waves

Sea-Ice

River Runoff

Land-Ice

Porting CESM+MOM6

Parts of CESM

Ocean

Atmosphere

7

Page 8: Porting CESM+MOM6 Ocean Models to Multiple Architectures

2000_DATM%NYF_SLND_DICE%SSMI_MOM6_DROF%NYF_SGLC_SWAV

2000_DATM%NYF_SLND_DICE%SSMI_MOM6_DROF%NYF_SGLC_SWAV

Land

Waves

Sea-Ice

River Runoff

Land-Ice

Atmosphere

Porting CESM+MOM6

Component Set

Short Name: CMOM

Long Name:

8

Coupler

Ocean

Features of MOM6• Highly scalable• Open source• Robust

Page 9: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Challenges

• Learning Fortran and MPI

– Find 𝑍𝑍 = 𝑎𝑎𝑎𝑎 + 𝑌𝑌 and then use a matrix library to find

inverse in Fortran90

– Build utilizing Makefiles

– Decomposing work among MPI-tasks

– Add OpenACC directives to utilize GPUs

• Submit and run jobs on Casper and Cheyenne

Fortran Code: https ://github.com/gdicker1/MPI_practice

9

Page 10: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Challenges

• Working with CESM, CIME, and MOM6

– How to build and execute CESM

– How to change configuration parameters in CIME

• Adding Casper sys tem to machine lis t

• Configuring for PGI compiler on Casper

• Updating PGI compiler configuration for Cheyenne

– Configuring a case

• Changing run parameters , especially required

number of tasks

10

Page 11: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Challenges

• Non-uniform software s tacks

• Intel and PGI interpret s tandards differently

• HPC upgrades and outages

• Code modifications on GitHub

• Profiling information from MOM6

11

Page 12: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Development Cycle

12

Success fully build

Success fully execute

Validate

Profile code

Analyze code

Future Work

Page 13: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Profiling System Information

13

Tes t case: CMOM compsetUsing NCAR Cheyenne Supercomputer• 2x 18-core Intel Xeon vers ion 4 (Broadwell)• PGI compiler vers ion 19.3

• MPI Library: OpenMPI vers ion 3.1.4• Intel compiler vers ion 17.0.1

• MPI Library: MPT vers ion 2.16• 1x EDR IB interconnect

Runs on Casper Supercomputer• 2x 18-core Intel Xeon Gold 6140 (Skylake)• PGI compiler vers ion 19.4

– MPI Library: OpenMPI vers ion 3.1.4

Page 14: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Profiling Results

14

Ocean Dynamics

57%

Ocean Thermodyna

mics & Tracers

27%

Ocean Other16%

MOM WITH CMOM COMPSET

Built with Intel compilers , 144 tasks , 4 compute nodes , 5 s imulated days

Page 15: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Vertical Viscosity11%

Continuity12%

PressureForce11%

Horizontal Viscocity

5%Coriolis & MOM

Advection3%

ALE6%

Diffusionvia CVMix

1%

Barotropic Stepping

16%

Barotrpic Forcing

Calculation1%

Other31%

Message Passing 3%OCEAN DYNAMICS

Vertical Viscosity11%

Continuity12%

PressureForce11%

Horizontal Viscocity

5%Coriolis & MOM

Advection3%

ALE6%

Diffusionvia CVMix

1%

Barotropic Stepping

16%

Barotrpic Forcing

Calculation1%

Other31%

Message Passing 3%OCEAN DYNAMICS

Porting CESM+MOM6

Profiling Results

15

Built with Intel compilers, 144 tasks, 4 compute nodes, 5 simulated days

Page 16: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Results

16

NameAverageTime (secs)

Number of Source Code Lines Call Depth

VerticalViscosity 25.2 876 2Continuity Equation 38.8 1396 2PressureForce 23.7 842 3BarotropicStep 35.4 1880 1

Built with Intel compilers , 144 tasks , 4 compute nodes , 5 s imulated days

Page 17: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Results

17

0100200300400500600700800900

1000

Total runtime Ocean Ocean dynamics

TIM

E (S

ECS)

Comparison of PGI & Intel RunsPGI Intel

144 tasks , 4 compute nodes , 5 s imulated days

2.13x

1.92x

2.17x

Page 18: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Future Work

• Train other s tudents at Univers ity of Wyoming

• Correct results with PGI compiler

• Gather more profiling data

– Especially calls per times tep

• Port and parallelize routines in Ocean Dynamics

• Extract parallelism across multiple GPUs

• Prepare pos ter for Supercomputing 2019

18

Page 19: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Lessons Learned

• Knowledge on programming in Fortran90 and

parallelization with MPI

• Ported CESM to a new architecture

• Compiler interpret s tandards differently

• How to communicate of compiler errors

• Difficulty of applying profiling or debugging tools with a

large project

19

Page 20: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Acknowledgements

• Dr. Raghu Raj Kumar – NVIDIA

• Brian Dobbins – NCAR, CISL

• Dr. Gus tavo Marques – NCAR, CGD

• Dr. Michael Levy – NCAR, CGD

• Dr. Carl Ponder – NVIDIA

• Dr. Richard Loft – NCAR, CISL

• Henry O’Meara – Univers ity of Wyoming, NCAR

• AJ Lauer – NCAR, CODE

• Virginia Do – NCAR, CODE

• Eliott Fous t – NCAR, CODE

• Ingrid J o, Clint Walker, and Samantha Williams for their pictures

20

Page 21: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Image Sources

All logo images were source from each organization’s branding webs ite

1. “How Reliable Are Weather Forecas ts?” by SciJ inks https ://scijinks .gov/forecas t-reliability/

2. Ingrid J o for camping picture

3. Clint Walker for snowboarding picture

4. Samantha Williams for farming picture

5. Climate Data Management System Specifications by B. Bannerman, D. Stuber, R. Tolasz, R. Sebbari, S. Palmer, A. Xiong, and J . Flannery. WMO-No. 1131 https ://www.researchgate.net/publication/264790227_Climate_Data_Management_System_Specifications

6. “Space Invaders .” Wikipediahttps ://en.wikipedia.org/wiki/Space_Invaders#/media/File:SpaceInvaders -Gameplay.gif

7. NVIDIA Tesla V100 Gpu Architecture. NVIDIA corporation.https ://images .nvidia.com/content/volta-architecture/pdf/volta-architecture-whitepaper.pdf

8. ”Resources .” Supercomputinghttps ://sc19.supercomputing.org/attend/media/resources /#section1

21

Page 22: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Contact Info

G. Dylan [email protected]

github.com/gdicker1

22

Page 23: Porting CESM+MOM6 Ocean Models to Multiple Architectures

Porting CESM+MOM6

Thank You for Attending

23


Recommended