NOAA Software Engineering for Novel Architectures (SENA) Project - - PowerPoint PPT Presentation

noaa software engineering for novel architectures sena
SMART_READER_LITE
LIVE PREVIEW

NOAA Software Engineering for Novel Architectures (SENA) Project - - PowerPoint PPT Presentation

Software Engineering for Novel Architectures (SENA) NOAA Software Engineering for Novel Architectures (SENA) Project Leslie Hart GTC DC 2016 Software Engineering for Novel Architectures (SENA) Funding Language NOAA will acquire software


slide-1
SLIDE 1

Software Engineering for Novel Architectures (SENA)

Leslie Hart GTC DC 2016

NOAA Software Engineering for Novel Architectures (SENA) Project

slide-2
SLIDE 2

Software Engineering for Novel Architectures (SENA)

Funding Language

“NOAA will acquire software engineering support and associated tools to re-architect NOAA’s applications to run efficiently on next generation fine-grain HPC architectures.”

slide-3
SLIDE 3

Software Engineering for Novel Architectures (SENA)

What is “fine-grain”

From a recent procurement document: “Fine-grain architecture (FGA) is defined as: a processing unit that supports more than 60 concurrent threads in hardware (e.g. GPU or a large core-count device).” (of course “traditional” architectures

are getting to this point as well)

slide-4
SLIDE 4

Software Engineering for Novel Architectures (SENA)

Overarching Goals

  • Prepare codes for a future production architecture

○ Monitor architectural evolution

  • Maintain codes in a way that subject matter experts can still modify the

code

  • Monitor (and participate as appropriate) evolving standards
  • Codes should still be viable for current (traditional) architectures

○ It is expected that code optimizations will increase performance on traditional architectures

  • Develop expertise within NOAA
slide-5
SLIDE 5

Software Engineering for Novel Architectures (SENA)

Leadership Team - NOAA-wide

Leslie Hart - OCIO V Balaji & Rusty Benson- GFDL Mark Govett - ESRL/GSD Leslie Hart (temp) - NCEP

slide-6
SLIDE 6

Software Engineering for Novel Architectures (SENA)

Priorities

Models:

WRF (ARW/NMM), FV3, GFDL Climate, NMMB

Programming Research:

Algorithm development, Programming approach

Standards:

OpenACC, OpenMP, LLVM

slide-7
SLIDE 7

Software Engineering for Novel Architectures (SENA)

Challenges

  • Lack of standards across divergent architectures
  • Large quantity of legacy codes
  • Access to developmental platforms
  • Uncertainty of performance gains
slide-8
SLIDE 8

Software Engineering for Novel Architectures (SENA)

Technical Issues

Language (is Fortran/MPI still the right choice) Multiple layers of parallelism Task, Thread, Vector Optimal data ordering different across architectures Memory footprint of current fine-grain devices Atmospheric codes tend to have little data reuse

slide-9
SLIDE 9

Software Engineering for Novel Architectures (SENA)

Implementation

Develop/cultivate relationships with vendors such as Intel, NVIDIA, etc Work with internal tools such as source-to-source translators to implement single source as much as possible Work with compiler vendors to ensure directive based approaches are feasible Develop small test environment coupled with access to larger government funded machines (DOE, NSF, NASA) Hardware, Compilers, Tools

slide-10
SLIDE 10

Software Engineering for Novel Architectures (SENA)

Status

Funding distributed to GFDL, ESRL/GSD, NCEP Acquired/Acquiring test systems Beginning/continuing work on models Evaluating OpenACC and OpenMP versus source-to-source translation We really don’t want to be in the compiler business

slide-11
SLIDE 11

Software Engineering for Novel Architectures (SENA)

Fine-grain augmentation to Theia

Hurricane Sandy supplemental funding provided for a traditional system (Theia - Haswell/Infiniband) and a Fine-Grain augmentation Waited for newer architectures Awarded to Cray with NVIDIA Pascal

slide-12
SLIDE 12

Software Engineering for Novel Architectures (SENA)

Fine-grain Augmentation

Cray Storm system Dual Haswell (QDR Infiniband) 8 Pascals per node PCIE (not NVLink) Intel MPI and MVAPICH

slide-13
SLIDE 13

Software Engineering for Novel Architectures (SENA)

Fine-grain Comparative Benchmark Results TBD

slide-14
SLIDE 14

Software Engineering for Novel Architectures (SENA)

Experimental System (current status) Two NVIDIA K80 Nodes (1 per node) One AMD 9170 Node (1 per node) Two Intel Knights Landing nodes (one 68 core, one 64 core) Two “front-ends”

slide-15
SLIDE 15

Software Engineering for Novel Architectures (SENA)

Coming soon

AMD 9150 node (in Fairmont awaiting network resources) Additional KNL (in Fairmont awaiting network resources) ARMv8 with NEON (Cavium 48 core, 2.5GHz, dual-socket) x4 Four additional KNL NAG Fortran Compiler PathScale compilers (including support for ARM)

slide-16
SLIDE 16

Software Engineering for Novel Architectures (SENA)

Synergy

NOAA’s Next Generation Global Prediction System (NGGPS) Program NSCI

NOAA is a “Deployment” agency

Develop mission-based HPC requirements to influence the early stages of the design of new HPC systems and will seek viewpoints from the private sector and academia on target HPC requirements (of course this is a software and hardware problem)

slide-17
SLIDE 17

Software Engineering for Novel Architectures (SENA)

Conclusion

The SENA project is just starting, it is an attempt to consolidate and accelerate existing NOAA projects The efforts and results will be useful even in the event that fine-grain architectures do not become as price/performance competitive as some have anticipated

Thank You!