18
Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau [email protected]

Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau [email protected]

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Large scale heterogeneous applications

made easy with Allinea

ECMWF, 27/10/2016

Florent Lebeau

[email protected]

Page 2: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Weather and Forecasting models today

Scalability

Efficiency

Simplicity

Page 3: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Towards more vertical & horizontal scalability

NODE

PROC

CORE

CORE

NODE

PROC

CORE

CORE

INTEL KNIGHTS LANDING

NVIDIA GPUS

NEXT-GEN INTEL XEON

ARM v8

NODE

PROC

CORE

CORE

NODE

PROC

CORE

CORE

… NODE

PROC

CORE

CORE

Page 4: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Heterogeneous Systems

• Use many processor architectures– x86_64 + GPUs

– x86_64 + KNL

– OpenPower + GPUs

– ARMv8 + GPUs

– …

• Goal:– Increase compute power with specialised processors

– Improve energy efficiency

• Parallel Programming Languages:– MPI

– OpenMP

– CUDA

– OpenACC

– …

Page 5: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Allinea’s vision

• Helping maximize HPC production

• Reduce HPC systems operating costs

• Resolve cutting-edge challenges

• Promote Efficiency (as opposed to Utilization)

• Transfer knowledge to HPC communities

• Helping the HPC community design the best

applications

• Reach highest levels of performance and

scalability

• Improve scientific code quality and accuracy

Page 6: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Where to find Allinea’s tools

• From small to very large tools provision

Over 65% of Top 100 HPC systems

• From 1,000 to 700,000 core tools usage

8 of the Top 10 HPC systems

• Millions of cores usage

Future leadership systems

Page 7: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Development process workflow

FORGE

ANALYZE

(Allinea

Performance

Reports)

DEBUGGING

(Allinea DDT)

PERF

OPTIMIZATION

(Allinea MAP)

Demand for software

efficiency

Debug/optimize, edit,

commit, build, repeat

Demand for

developer efficiency

Version Control

(e.g. GIT, etc…)

Continuous Integration

(e.g. Jenkins, etc.)

Open Interfaces

(e.g. JSON APIs) DB

NEW

VERSION

Page 8: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Analyse with Allinea Performance Reports

Very simple start-up

No source code needed

Fully scalable, very low overhead

Rich set of metrics

Powerful data analysis

Page 9: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Increase the efficiency of your jobs

Page 10: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

DEBUG

PROFILE

FORGE

Allinea Forge: the toolkit for HPC developers

Allinea Forge

Fine tune bottlenecks

Find unexpected

issues

Resolve bugs

Test

codes

• Unique single interface

• Easy to start and useACCESSIBLE

• State of the art features

• Fully scalablePOWERFUL

• Tackles new challenges

• For latest IBM machinesINNOVATIVE

Page 11: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

No instrumentation

Low overhead

Scalable

Small data files

Allinea MAP – the profiler

Page 12: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Quickly spot application bottlenecks

• Find patterns of MPI and OpenMPimbalance

• Offload compute intensive parallel regions to be offloaded to a coprocessor or accelerator

Page 13: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Energy analytics

Page 14: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Allinea DDT – the debugger

• Easily debug executable in your workflow with the

“reverse connect” mechanism

Page 15: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Debug large scale application

Switch between

OpenMP threads

Message queue

debugging

Visualise data

structures

Page 16: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Automate debugging with offline mode

# Time Tracepoint Processes Values

1 21:18.172 jacobi_mpi_omp_gnu.exe

(_jacobi.f90:83)

0-127 residual: 2.57

fail=0

# --- check DDT tracepoint (residual)

f=jacobi_omp_mpi_gnu_debug.txt

resid=`grep ^tracepoint $f |awk -Fresidual: '{print $2}' |tail -1 |cut -c2-5`

if [ "$resid" != "2.57" ] ; then

((fail++))

echo "Test has failed resid=$resid“

else

echo “Test has succeeded”

Page 17: Large scale heterogeneous applications made easy with Allinea · Large scale heterogeneous applications made easy with Allinea ECMWF, 27/10/2016 Florent Lebeau flebeau@allinea.com

Conclusion

• Analyse application efficiency and understand behaviour with Allinea Performance Reports

• Develop faster by debugging and optimising large-scale applications with Allinea Forge

• Available for latest architectures:– x86_64

– KNL

– CUDA 8.0

– ARMv8

– OpenPower