...
In the table below 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation, - competed,
- in progress,
- not done
Page Properties | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
|
Expand | |||
---|---|---|---|
| |||
|
Title: Some descriptive title
OpenMP threading in MPAS-Ocean
Requirements and Design
ACME
...
Ocean/Ice Group
Date:
...
September 26, 2015
Summary
Requirements
Requirement: name-of-requirement-here
Date last modified: // date
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. 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: bit-for-bit
Date last modified: September 25, 2015
Contributors: 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-hereelement-based OpenMP
Date last modified:
// dateFor 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 sequencing.
September 26, 2015
Contributors:
(add your name to this list if it does not appear)
Doug Jacobsen (Unlicensed)
After scoping and prototyping several different approaches, the algorithmic approach will employ loop-by-loop OpenMP directives.
Design and Implementation
Implementation:
short-desciption-of-implementation-hereelement-based OpenMP
Date last modified:
// dateSeptember 26, 2015
Contributors:
(add your name to this list if it does not appear)Doug Jacobsen (Unlicensed)
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)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?
Doug Jacobsen (Unlicensed)
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)
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?
...
Doug Jacobsen (Unlicensed)
Performance evaluation will 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 | ||||
---|---|---|---|---|
|