Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page Properties
idFeature_PR
Info

Overview table for the owner and an approver of this feature

1.Description

Implementation of OpenMP threading in MPAS-Ocean
2.OwnerDoug Jacobsen (Unlicensed)
3.CreatedSeptember 26, 2015
4.Equ(error)
5.Ver(error)
6.Perf(error)
7.Val(error)
8.ApproverTodd Ringler (Unlicensed)
9.Approved Date
Expand
titleClick here for Table of Contents ...
Panel

Table of Contents

Table of Contents

 

 

 

...

OpenMP threading in MPAS-Ocean

Requirements and Design

ACME

...

Ocean/Ice  Group

Date:

...

September 26, 2015  

Summary

The purpose of this section is to summarize what capability is to be added to the ACME Ocean and Ice system through this design process. It should be clear what new code will do that the current code does not. Summarizing the primary challenges with respect to software design and implementation is also appropriate for this section. Finally, this statement should contain general statement with regard to what is “success.”design is to allow mixed MPI / OpenMP domain decomposition in MPAS-Ocean. We have used flat MPI for several years now. This has allowed us to execute simulations on up to 75K processors on machines like Edison. But on other machines, such as Mira, where OpenMP threading is required to efficiently utilize computing resources, the model efficiency has suffered. Success here is an implementation of OpenMP threading to allow for heterogenous parallelism using MPI and OpenMP.

 

Requirements

Requirement:

name

bit-

of

for-

requirement-here

bit

Date last modified:

 // date

September 25, 2015  
Contributors:

 @ name

 

(add your name to this list if it does not appear)Each requirement is to be listed under a ”section” heading, as there will be a one-to-one correspondence between requirements, design, proposed imple- mentation and testing. Requirements should not discuss technical software issues, but rather focus on model capability. To the extent possible, require- ments should be relatively independent of each other, thus allowing a clean design solution, implementation and testing plan.

Doug Jacobsen (Unlicensed)


Regardless of whether decomposition is flat MPI or hybrid MPI/OpenMP, simulation results are bit-for-bit identical.

 

Algorithmic Formulations

Design solution:

short-description-of-proposed-solution-here

element-based OpenMP 

Date last modified:

// date

September 26, 2015
Contributors: 

(add your name to this list if it does not appear

Doug Jacobsen (Unlicensed)

 

For each requirement, there is a design solution that is intended to meet that requirement. Design solutions can include detailed technical discussions of PDEs, algorithms, solvers and similar, as well as technical discussion of performance issues. In general, this section should steer away from a detailed discussion of low-level software issues such as variable declarations, interfaces and sequencingAfter scoping and prototyping several different approaches, the algorithmic approach will employ loop-by-loop OpenMP directives.

 

Design and Implementation

Implementation:

short-desciption-of-implementation-here

element-based OpenMP

Date last modified:

 // date

September 26, 2015
Contributors: 

(add your name to this list if it does not appear

Doug Jacobsen (Unlicensed)

 

This section should detail the plan for implementing the design solution for requirement XXX. In general, this section is software-centric with a focus on software implementation. Pseudo code is appropriate in this section. Links to actual source code are appropriate. Project management items, such as svn branches, timelines and staffing are also appropriate. How do we typeset pseudo code?

 

Planned Verification and Unit Testing 

Verification and Unit Testing: short-desciption-of-testing-here

Date last modified:

  

September 26, 2015
Contributors: 

(add your name to this list if it does not appear

Doug Jacobsen (Unlicensed)

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?Since we require bit-for-bit, verification is straightforward. We will verify bit-for-bit across the full suite of MPAS-Ocean test cases.

Planned Validation Testing 

Validation Testing: short-desciption-of-testing-here

Date last modified: September 26, 2015
Contributors: 

(add your name to this list if it does not appear)

 

How will XXX be tested? What observational or other dataset will be used?  i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

Doug Jacobsen (Unlicensed)

 

Since we require bit-for-bit, validation is not a part of this process.

Planned Performance Testing 

Performance Testing: short-desciption-of-testing-here

Date last modified: September 26, 2015
Contributors: 

(add your name to this list if it does not appear

Doug Jacobsen (Unlicensed)

 

How Performance evaluation will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?be carried out on (at a minimum) Edison and Mira. On both platforms, we will evaluate performance across a broad range of thread-per-MPI task. An example of our testing can be found in the file below. This testing will be conducted again at completion of the implementation.

 

View file
namesarje_mpaso_slides.pdf
height250