An Overview of High An Overview of High Performance Computing and - - PowerPoint PPT Presentation

an overview of high an overview of high performance
SMART_READER_LITE
LIVE PREVIEW

An Overview of High An Overview of High Performance Computing and - - PowerPoint PPT Presentation

An Overview of High An Overview of High Performance Computing and Performance Computing and Challenges for the Future Challenges for the Future Challenges for the Future Challenges for the Future Jack Dongarra k INNOVATIVE COMP ING


slide-1
SLIDE 1

An Overview of High An Overview of High Performance Computing and Performance Computing and Challenges for the Future Challenges for the Future Challenges for the Future Challenges for the Future

k Jack Dongarra

INNOVATIVE COMP ING LABORATORY

U i i f T University of Tennessee Oak Ridge National Laboratory University of Manchester

7/7/2008 1

slide-2
SLIDE 2

Overview Overview

  • Quick look at High Performance
  • Quick look at High Performance

Computing

T 500

Top500

  • Challenges for Math Software

Linear Algebra Software for Multicore

and Beyond

2

slide-3
SLIDE 3
  • H. Meuer, H. Simon, E. Strohmaier, & JD
  • H. Meuer, H. Simon, E. Strohmaier, & JD
  • Listing of the 500 most powerful

g p Computers in the World

  • Yardstick: Rmax from LINPACK MPP

Yardstick: Rmax from LINPACK MPP Ax=b, dense problem

TPP performance

  • Updated twice a year

SC‘ i h S i b

Size Rate

SC‘xy in the States in November Meeting in Germany in June

3

  • All data available from www.top500.org
slide-4
SLIDE 4

Performance Development

11.7 PF/s

10 Pflop/s

IBM Roadrunner 1.02 PF/s 9 0 TF/ NEC Earth Simulator

100 Tflop/ s

IBM BlueGene/L

1 Pflop/ s

SUM

1.17 TF/s 59.7 GF/s 9.0 TF/s NEC Earth Simulator Intel ASCI Red IBM ASCI White

1 Tflop/ s 10 Tflop/ s

6-8 years

SUM #1

Fujitsu 'NWT'

1 Gflop/ s 100 Gflop/ s 10 Gflop/ s

My Laptop

#500

0.4 GF/s

1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008

1 Gflop/ s 100 Mflop/ s

4

slide-5
SLIDE 5

Performance Development & Projections

10 Eflop/s 10 Eflop/s 1 Eflop/s 100 Pflop/s 10 Pflop/s 10 Pflop/s 1 Pflop/s 100 Tflop/s 10 Tflop/s

N=1 SUM

1 Tflop/s 100 Gflop/s 10 Gflop/s 1 Gflop/s

N=500

1 Gflop/s 100 Mflop/s 10 Mflop/s 1 Mflop/s p

slide-6
SLIDE 6

Performance Development & Projections

10 Eflop/s

~1 min ~8 hours ~1 year ~1000 years

10 Eflop/s 1 Eflop/s 100 Pflop/s 10 Pflop/s 10 Pflop/s 1 Pflop/s 100 Tflop/s 10 Tflop/s

N=1 SUM

1 Tflop/s 100 Gflop/s 10 Gflop/s 1 Gflop/s

N=500

1 Gflop/s 100 Mflop/s 10 Mflop/s 1 Mflop/s p

ASCI Red Cray 2 Roadrunner

1 Tflop/s 1 Gflop/s 1 Eflop/s 1 Pflop/s O(106)Threads O(103) Threads O(1) Thread O(109) Threads

slide-7
SLIDE 7

LANL Roadrunner A P t l S t i 2008 A Petascale System in 2008

“Connected Unit” cluster 192 Opteron nodes

(180 w/ 2 dual-Cell blades

≈ 13,000 Cell HPC chips

  • ≈ 1.33 PetaFlop/s (from Cell)

≈ 7 000 dual core Opterons

(180 w/ 2 dual Cell blades connected w/ 4 PCIe x8 links)

≈ 7,000 dual-core Opterons ≈ 122,000 cores

17 clusters

2nd stage InfiniBand 4x DDR interconnect

(18 sets of 12 links to 8 switches)

Cell chip for each core

2nd stage InfiniBand interconnect (8 switches)

Based on the 100 Gflop/s (DP) Cell chip

Hybrid Design (2 kinds of chips & 3 kinds of cores) Programming required at 3 levels.

Dual Core Opteron Chip

slide-8
SLIDE 8

Top10 of the June 2008 List

Computer Rmax

[TF/s] Rmax / Rpeak

Installation Site Country #Cores Power [MW]

MFlops/ Watt

1 IBM / Roadrunner

BladeCenter QS22/LS21

1,026 75% 75% DOE/NNSA/LANL USA

122,400

2.35 437 437

BladeCenter QS22/LS21

2 IBM / BlueGene/L

eServer Blue Gene Solution

478 80% 80% DOE/NNSA/LLNL USA

212,992

2.33 205 205 3 IBM / Intrepid

Blue Gene/P Solution

450 81% 81% DOE/OS/ANL USA

163,840

1.26 357 357

Blue Gene/P Solution

4 SUN / Ranger

SunBlade x6420

326 65% 65% NSF/TACC USA

62,976

2.00 163 163 5 CRAY / Jaguar

C XT4 Q dC

205 79% 79% DOE/OS/ORNL USA

30,976

1.58 130 130

Cray XT4 QuadCore

6 IBM / JUGENE

Blue Gene/P Solution

180 81% 81% Forschungszentrum Juelich (FZJ) Germany

65,536

0.50 357 357 7 SGI / Encanto

SGI Altix ICE 8200

133.2 77% 77% New Mexico Computing Applications Center USA

14,336

0.86 155 155

SGI Altix ICE 8200

Applications Center 8 HP / EKA

Cluster Platform 3000 BL460c 132.8

77% 77% Computational Research Lab, TATA SONS India

14,384

1.60 83 83 9 IBM / Blue Gene/P Solution 112 81% 81% IDRIS France

40,960

0.32 357 357

8

10 SGI / Altix ICE 8200EX 106 86% 86% Total Exploration Production France

10,240

0.44 240 240

slide-9
SLIDE 9

Top10 of the June 2008 List

Computer Rmax

[TF/s] Rmax / Rpeak

Installation Site Country #Cores Power [MW]

MFlops/ Watt

1 IBM / Roadrunner

BladeCenter QS22/LS21

1,026 75% 75% DOE/NNSA/LANL USA

122,400

2.35 437 437

BladeCenter QS22/LS21

2 IBM / BlueGene/L

eServer Blue Gene Solution

478 80% 80% DOE/NNSA/LLNL USA

212,992

2.33 205 205 3 IBM / Intrepid

Blue Gene/P Solution

450 81% 81% DOE/OS/ANL USA

163,840

1.26 357 357

Blue Gene/P Solution

4 SUN / Ranger

SunBlade x6420

326 65% 65% NSF/TACC USA

62,976

2.00 163 163 5 CRAY / Jaguar

C XT4 Q dC

205 79% 79% DOE/OS/ORNL USA

30,976

1.58 130 130

Cray XT4 QuadCore

6 IBM / JUGENE

Blue Gene/P Solution

180 81% 81% Forschungszentrum Juelich (FZJ) Germany

65,536

0.50 357 357 7 SGI / Encanto

SGI Altix ICE 8200

133.2 77% 77% New Mexico Computing Applications Center USA

14,336

0.86 155 155

SGI Altix ICE 8200

Applications Center 8 HP / EKA

Cluster Platform 3000 BL460c 132.8

77% 77% Computational Research Lab, TATA SONS India

14,384

0.79 169 169 9 IBM / Blue Gene/P Solution 112 81% 81% IDRIS France

40,960

0.32 357 357

9

10 SGI / Altix ICE 8200EX 106 86% 86% Total Exploration Production France

10,240

0.44 240 240

slide-10
SLIDE 10

ORNL/UTK Computer Power Cost Projections 2007-2012

O th t 5

  • Over the next 5

years ORNL/UTK will deploy 2 large p y g Petascale systems

  • Using 4 MW today,

going to 15MW going to 15MW before year end

  • By 2012 could be

y using more than 50MW!! Cost estimates

  • Cost estimates

based on $0.07 per KwH

Cost Per Year Includes both DOE and NSF systems.

Power becomes the architectural driver for future large systems

slide-11
SLIDE 11

S

  • mething’ s Happening Here…

S

  • mething’ s Happening Here…
  • In the “old

days” it was: h

From K. Olukotun, L. Hammond, H. Sutter, and B. Smith

each year processors would become faster

A hardware issue just became a software problem

faster

  • Today the clock

speed is fixed or getting slower getting slower

  • Things are still

doubling every 18 24 months 18 -24 months

  • Moore’s Law

reinterpretated.

  • Number of cores
  • Number of cores

double every 18-24 months

07 11

slide-12
SLIDE 12

Multicore Multicore

  • What is multicore?

A multicore chip is a single chip (socket) that A multicore chip is a single chip (socket) that

combines two or more independent processing units that provide independent threads of units that provide independent threads of control

  • Why multicore?

Why multicore?

The race for ever higher clock speeds is over.

  • In the old days, new the chips where faster

In the old days, new the chips where faster

  • Applications ran faster on the new chips
  • Today new chips are not faster, just have more

processors per chip

  • Applications and software must use those extra processors to

become faster

12

slide-13
SLIDE 13

Power Cost of Frequency Power Cost of Frequency

  • Power ∝ Voltage2 x Frequency (V2F)
  • Frequency ∝ Voltage

P F

3

  • Power ∝Frequency3

13

slide-14
SLIDE 14

Power Cost of Frequency Power Cost of Frequency

  • Power ∝ Voltage2 x Frequency (V2F)
  • Frequency ∝ Voltage

P F

3

  • Power ∝Frequency3

14

slide-15
SLIDE 15

Today’ s Today’ s Multicores Multicores

98%

  • f Top500 S

ystems Are Based on 98%

  • f Top500 S

ystems Are Based on Multicore Multicore

282 use Quad-Core 204 use Dual-Core 3 use Nona-core

p y p y

IBM Cell (9 cores) Intel Clovertown (4 cores) Sun Niagra2 (8 cores) Intel Polaris (80 cores) SciCortex (6 cores) 15 IBM BG/P (4 cores) AMD Opteron (4 cores)

slide-16
SLIDE 16

And then there’s the GPU’s And then there’s the GPU’s NVIDIA’s NVIDIA’s Tesla T10P Tesla T10P

  • T10P chip

240 cores; 1.5 GHz

240 cores; 1.5 GHz

Tpeak 1 Tflop/s - 32 bit floating point Tpeak 100 Gflop/s - 64 bit floating point

  • S1070 board

4 - T10P devices; 700 Watts

  • C1060 card

1 – T10P; 1.33 GHz 160 Watts

T k 887 Gfl / 32 bi fl i i

Tpeak 887 Gflop/s - 32 bit floating point Tpeak 88.7 Gflop/s - 64 bit floating point

16

slide-17
SLIDE 17

What’ s Next What’ s Next? ? Multicore Multicore to to Manycore Manycore

All Large Core All Large Core Mixed Large Mixed Large and and Small Core Small Core Many Small Cores Many Small Cores S all Co e S all Co e Many Small Cores Many Small Cores All Small Core All Small Core Different Classes of Chips H

+ 3D Stacked Many Floating-

Home Games / Graphics Business S cientific

SRAM SRAM Memory Point Cores

The question is not whether this will happen but whether we are ready

slide-18
SLIDE 18

Coding for an Coding for an Abstract Abstract M Multicore ulticore

Parallel software for multicores should have two characteristics: two characteristics:

  • Fine granularity:
  • High level of parallelism is needed

High level of parallelism is needed

  • Cores will probably be associated with relatively small local
  • memories. This requires splitting an operation into tasks that
  • perate on small portions of data in order to reduce bus traffic
  • perate on small portions of data in order to reduce bus traffic

and improve data locality.

  • Asynchronicity:

A th d f th d l l ll li d l it

  • As the degree of thread level parallelism grows and granularity
  • f the operations becomes smaller, the presence of

synchronization points in a parallel execution seriously affects the efficiency of an algorithm the efficiency of an algorithm.

slide-19
SLIDE 19

ManyCore ManyCore -

  • Parallelism for the

Parallelism for the Masses Masses

  • We are looking at the following

g g concepts in designing the next numerical library implementation y p

Dynamic Data Driven Execution Self Adapting

p g

Block Data Layout Mixed Precision in the Algorithm

Mixed Precision in the Algorithm

Exploit Hybrid Architectures Fault Tolerant Methods

Fault Tolerant Methods

19

slide-20
SLIDE 20

Maj or Changes to S

  • ftware

Maj or Changes to S

  • ftware
  • Must rethink the design of our

software software

Another disruptive technology

  • Similar to what happened with cluster

computing and message passing

Rethink and rewrite the applications,

algorithms and software algorithms, and software

  • Numerical libraries for example will

change change

For example, both LAPACK and

ScaLAPACK will undergo major changes

20

g j g to accommodate this

slide-21
SLIDE 21

A New Generation of S

  • ftware:

A New Generation of S

  • ftware:

Software/Algorithms follow hardware evolution in time LINP ACK (70’s) (Vector operations) Rely on Level 1 BLAS (Vector operations)

  • Level-1 BLAS
  • perations

LAP ACK (80’s) Rely on LAP ACK (80 s) (Blocking, cache friendly) Rely on

  • Level-3 BLAS
  • perations

S caLAP ACK (90’s) (Distributed Memory) Rely on

  • PBLAS

Mess Passing PLAS MA (00’s) Rely on New Algorithms (many-core friendly)

  • a DAG/ scheduler
  • block data layout
  • some extra kernels

Those new algorithms h l l it th l ll ( lti t l ti )

  • have a very low granularity, they scale very well (multicore, petascale computing, … )
  • removes a lots of dependencies among the tasks, (multicore, distributed computing)
  • avoid latency (distributed computing, out-of-core)
  • rely on fast kernels

Those new algorithms need new kernels and rely on efficient scheduling algorithms.

slide-22
SLIDE 22

A New Generation of S

  • ftware:

A New Generation of S

  • ftware:

Software/Algorithms follow hardware evolution in time LINP ACK (70’s) (Vector operations) Rely on Level 1 BLAS (Vector operations)

  • Level-1 BLAS
  • perations

LAP ACK (80’s) Rely on LAP ACK (80 s) (Blocking, cache friendly) Rely on

  • Level-3 BLAS
  • perations

S caLAP ACK (90’s) (Distributed Memory) Rely on

  • PBLAS

Mess Passing PLAS MA (00’s) Rely on New Algorithms (many-core friendly)

  • a DAG/ scheduler
  • block data layout
  • some extra kernels

Those new algorithms h l l it th l ll ( lti t l ti )

  • have a very low granularity, they scale very well (multicore, petascale computing, … )
  • removes a lots of dependencies among the tasks, (multicore, distributed computing)
  • avoid latency (distributed computing, out-of-core)
  • rely on fast kernels

Those new algorithms need new kernels and rely on efficient scheduling algorithms.

slide-23
SLIDE 23

A New Generation of S

  • ftware:

A New Generation of S

  • ftware:

Software/Algorithms follow hardware evolution in time LINP ACK (70’s) (Vector operations) Rely on Level 1 BLAS (Vector operations)

  • Level-1 BLAS
  • perations

LAP ACK (80’s) Rely on LAP ACK (80 s) (Blocking, cache friendly) Rely on

  • Level-3 BLAS
  • perations

S caLAP ACK (90’s) (Distributed Memory) Rely on

  • PBLAS

Mess Passing PLAS MA (00’s) Rely on New Algorithms (many-core friendly)

  • a DAG/ scheduler
  • block data layout
  • some extra kernels

Those new algorithms h l l it th l ll ( lti t l ti )

  • have a very low granularity, they scale very well (multicore, petascale computing, … )
  • removes a lots of dependencies among the tasks, (multicore, distributed computing)
  • avoid latency (distributed computing, out-of-core)
  • rely on fast kernels

Those new algorithms need new kernels and rely on efficient scheduling algorithms.

slide-24
SLIDE 24

A New Generation of S

  • ftware:

A New Generation of S

  • ftware:

Parallel Linear Algebra S

  • ftware for

Parallel Linear Algebra S

  • ftware for Multicore

Multicore Architectures (PLAS MA) Architectures (PLAS MA)

Software/Algorithms follow hardware evolution in time LINP ACK (70’s) (Vector operations) Rely on Level 1 BLAS (Vector operations)

  • Level-1 BLAS
  • perations

LAP ACK (80’s) Rely on LAP ACK (80 s) (Blocking, cache friendly) Rely on

  • Level-3 BLAS
  • perations

S caLAP ACK (90’s) (Distributed Memory) Rely on

  • PBLAS

Mess Passing PLAS MA (00’s) Rely on New Algorithms (many-core friendly)

  • a DAG/ scheduler
  • block data layout
  • some extra kernels

Those new algorithms h l l it th l ll ( lti t l ti )

  • have a very low granularity, they scale very well (multicore, petascale computing, … )
  • removes a lots of dependencies among the tasks, (multicore, distributed computing)
  • avoid latency (distributed computing, out-of-core)
  • rely on fast kernels

Those new algorithms need new kernels and rely on efficient scheduling algorithms.

slide-25
SLIDE 25

Steps in the LAPACK LU Steps in the LAPACK LU

DGETF2 LAPACK

(Factor a panel)

DLSWP LAPACK

(B k d )

DLSWP LAPACK

(Backward swap)

DLSWP LAPACK

(Forward swap)

DTRSM BLAS

(Triangular solve)

25

DGEMM BLAS

(Matrix multiply)

slide-26
SLIDE 26

LU Timing Profile (4 processor system) LU Timing Profile (4 processor system)

Threads – no lookahead

Time for each component

DGETF2 DLASWP(L) DLASWP(R) DTRSM DGEMM

DGETF2 DLSWP DLSWP DTRSM DGEMM

Bulk Sync Phases Bulk Sync Phases

slide-27
SLIDE 27

Adaptive Lookahead Adaptive Lookahead - Dynamic Dynamic

Event Driven Event Driven Event Driven Event Driven Multithreading Multithreading Ideas not new. Ideas not new. Many papers use the Many papers use the DAG approach. DAG approach.

27

Reorganizing algorithms to use this approach

slide-28
SLIDE 28

Achieving Achieving Fine Fine G Granularity ranularity

Fine granularity may require novel data formats to

  • vercome the limitations of BLAS on small chunks
  • e co

e e a o s o S o s a c u s

  • f data.

Column-Major

slide-29
SLIDE 29

Achieving Achieving Fine Fine G Granularity ranularity

Fine granularity may require novel data formats to

  • vercome the limitations of BLAS on small chunks
  • e co

e e a o s o S o s a c u s

  • f data.

Column-Major Block data layout

slide-30
SLIDE 30

LU LU – – 16 Core 16 Core (8 Socket (8 Socket -

  • Dual Core

Dual Core Opteron Opteron 2.2 GHz) 2.2 GHz)

1 LAPACK (BLAS Fork-Join Parallelism)

40 45

  • 1. LAPACK (BLAS Fork Join Parallelism)
  • 2. ScaLAPACK (Mess Pass using mem copy)
  • 3. DAG Based (Dynamic Scheduling)
  • 4. Intel MKL Library

30 35 20 25

GFlop/s

10 15 5 2000 4000 6000 8000 10000 12000 14000

30

2000 4000 6000 8000 10000 12000 14000

Problem Size

slide-31
SLIDE 31

9.1 4.0.0

33 31

slide-32
SLIDE 32

Cholesky Cholesky on the CELL

  • n the CELL
  • 1 CELL (8 SPEs)

186 Gflop/s

  • 186 Gflop/s
  • 91 %

peak

  • 97 %

SGEMM peak

2 CELL (16 SPE )

  • 2 CELLs (16 SPEs)
  • 365 Gflop/s
  • 89 %

peak k

  • 95 %

SGEMM peak

Single precision results on the Cell

slide-33
SLIDE 33

If We Had A S mall Matrix Problem If We Had A S mall Matrix Problem

  • We would generate the DAG,

find the critical path and t it execute it.

  • DAG too large to generate ahead
  • f time
  • f time

Not explicitly generate Dynamically generate the DAG as

we go we go

  • Machines will have large

number of cores in a distributed fashion

Will have to engage in message

passing p g

Distributed management Locally have a run time system

slide-34
SLIDE 34

The DAGs are Large The DAGs are Large

  • Here is the DAG for the QR factorization on a

20 x 20 matrix 20 x 20 matrix For a large matrix say O(106) the DAG is huge

  • For a large matrix say O(106) the DAG is huge
  • Many challenges for the software

34

slide-35
SLIDE 35

Each Node or Core Will Have A Run Time Each Node or Core Will Have A Run Time S ystem S ystem

some dependencies

satisfied

waiting for all dependencies

BIN 1

all dependencies

satisfied

some data delivered some data delivered waiting for all data

BIN 2

all data delivered waiting for execution

35

waiting for execution

BIN 3

slide-36
SLIDE 36

Performance of S ingle Precision Performance of S ingle Precision

  • n Conventional Processors
  • n Conventional Processors
  • n Conventional Processors
  • n Conventional Processors
  • Realized have the

similar situation on

  • ur commodity

Size Size SGEMM/ SGEMM/ DGEMM DGEMM Size Size SGEMV/ SGEMV/ DGEMV DGEMV AMD Opteron

  • ur commodity

processors.

  • That is, SP is 2X as

fast as DP on many systems

AMD Opteron 246 3000 3000 2.00 2.00 5000 5000 1.70 1.70 UltraS parc-IIe 3000 3000 1.64 1.64 5000 5000 1.66 1.66 Intel PIII

systems

  • The Intel Pentium

and AMD Opteron h SSE2

Coppermine 3000 3000 2.03 2.03 5000 5000 2.09 2.09 PowerPC 970 3000 3000 2.04 2.04 5000 5000 1.44 1.44 Intel Woodcrest 3000 3000 1 81 1 81 5000 5000 2 18 2 18

have SSE2

  • 2 flops/cycle DP
  • 4 flops/cycle SP

Woodcrest 3000 3000 1.81 1.81 5000 5000 2.18 2.18 Intel XEON 3000 3000 2.04 2.04 5000 5000 1.82 1.82 Intel Centrino Duo 3000 3000 2.71 2.71 5000 5000 2.21 2.21

S ingle precision is faster because:

  • Higher parallelism in S

S E/ vector units

  • IBM PowerPC has

AltiVec

  • 8 flops/cycle SP

4 fl / l DP

g p

  • Reduced data motion
  • Higher locality in cache
  • 4 flops/cycle DP
  • No DP on AltiVec
slide-37
SLIDE 37

32 or 64 bit Floating Point Precision? 32 or 64 bit Floating Point Precision?

  • A long time ago 32 bit floating point was

used

S ill d i i ifi b li i d

Still used in scientific apps but limited

  • Most apps use 64 bit floating point

Accumulation of round off error

Accumulation of round off error

  • A 10 TFlop/s computer running for 4 hours performs > 1

Exaflop (1018) ops.

Ill conditioned problems

p

IEEE SP exponent bits too few (8 bits, 10±38) Critical sections need higher precision

  • Sometimes need extended precision (128 bit fl pt)

Sometimes need extended precision (128 bit fl pt)

However some can get by with 32 bit fl pt in

some parts

  • Mixed precision a possibility

37

  • Mixed precision a possibility

Approximate in lower precision and then refine

  • r improve solution to high precision.
slide-38
SLIDE 38

Idea Goes S

  • mething Like This…

Idea Goes S

  • mething Like This…
  • Exploit 32 bit floating point as much as

possible.

Especially for the bulk of the computation

  • Correct or update the solution with selective

use of 64 bit floating point to provide a refined results

  • Intuitively:

Compute a 32 bit result,

C l l t ti t 32 bit lt i

Calculate a correction to 32 bit result using

selected higher precision and,

Perform the update of the 32 bit results with the

38

Perform the update of the 32 bit results with the correction using high precision.

slide-39
SLIDE 39

Mixed Mixed-

  • Precision Iterative Refinement

Precision Iterative Refinement

It ti fi t f d t A b k thi

L U = lu(A) SINGLE O(n3) x = L\(U\b) SINGLE O(n2)

  • Iterative refinement for dense systems, Ax = b, can work this

way.

x L\(U\b) ( ) r = b – Ax DOUBLE O(n2) WHILE || r || not small enough z = L\(U\r) SINGLE O(n2) x = x + z DOUBLE O(n1) x = x + z DOUBLE O(n ) r = b – Ax DOUBLE O(n2) END

  • Wilkinson, Moler, Stewart, & Higham provide error bound for SP fl pt

results when using DP fl pt.

39

slide-40
SLIDE 40

Mixed Mixed-

  • Precision Iterative Refinement

Precision Iterative Refinement

It ti fi t f d t A b k thi

L U = lu(A) SINGLE O(n3) x = L\(U\b) SINGLE O(n2)

  • Iterative refinement for dense systems, Ax = b, can work this

way.

x L\(U\b) ( ) r = b – Ax DOUBLE O(n2) WHILE || r || not small enough z = L\(U\r) SINGLE O(n2) x = x + z DOUBLE O(n1) x = x + z DOUBLE O(n ) r = b – Ax DOUBLE O(n2) END

  • Wilkinson, Moler, Stewart, & Higham provide error bound for SP fl pt

results when using DP fl pt.

  • It can be shown that using this approach we can compute the solution

It can be shown that using this approach we can compute the solution to 64-bit floating point precision.

  • Requires extra storage, total is 1.5 times normal;
  • O(n3) work is done in lower precision

40

( ) p

  • O(n2) work is done in high precision
  • Problems if the matrix is ill-conditioned in sp; O(108)
slide-41
SLIDE 41

Results for Mixed Precision Iterative Refinement for Dense Ax = b

Architecture (BLAS)

1 Intel Pentium III Coppermine (Goto) 2 Intel Pentium III Katmai (Goto) 3 Sun UltraSPARC IIe (Sunperf) 4 Intel Pentium IV Prescott (Goto) 5 Intel Pentium IV-M Northwood (Goto) 6 AMD Opteron (Goto) 7 Cray X1 (libsci)

8

IBM Power PC G5 (2 7 GHz) (VecLib)

8

IBM Power PC G5 (2.7 GHz) (VecLib) 9 Compaq Alpha EV6 (CXML) 10 IBM SP Power3 (ESSL) 11 SGI Octane (ATLAS)

  • Single precision is faster than DP because:
  • Higher parallelism within vector units

4 ops/cycle (usually) instead of 2 ops/cycle

  • Reduced data motion
  • Reduced data motion

32 bit data instead of 64 bit data

  • Higher locality in cache

More data items in cache

slide-42
SLIDE 42

Results for Mixed Precision Iterative Refinement for Dense Ax = b

Architecture (BLAS)

1 Intel Pentium III Coppermine (Goto) 2 Intel Pentium III Katmai (Goto) 3 Sun UltraSPARC IIe (Sunperf) 4 Intel Pentium IV Prescott (Goto) 5 Intel Pentium IV-M Northwood (Goto) 6 AMD Opteron (Goto) 7 Cray X1 (libsci)

8

IBM Power PC G5 (2 7 GHz) (VecLib)

8

IBM Power PC G5 (2.7 GHz) (VecLib) 9 Compaq Alpha EV6 (CXML) 10 IBM SP Power3 (ESSL) 11 SGI Octane (ATLAS)

A hi (BLAS MPI) # DP S l DP S l # Architecture (BLAS-MPI) # procs n DP Solve /SP Solve DP Solve /Iter Ref # iter

AMD Opteron (Goto – OpenMPI MX) 32 22627 1.85

1.79

6 AMD Opteron (Goto – OpenMPI MX) 64 32000 1 90

1.83

6

  • Single precision is faster than DP because:
  • Higher parallelism within vector units

4 ops/cycle (usually) instead of 2 ops/cycle

  • Reduced data motion

1.90

1.83

  • Reduced data motion

32 bit data instead of 64 bit data

  • Higher locality in cache

More data items in cache

slide-43
SLIDE 43

S parse Direct S

  • lver and Iterative

S parse Direct S

  • lver and Iterative

Refinement Refinement

MUMPS package based on multifrontal approach which generates small dense matrix multiplies

1.8 2 Speedup Over DP

Opteron w/Intel compiler

Iterative Refinement Single Precision 1 1.2 1.4 1.6 0.4 0.6 0.8 1

G 6 4 S i 1 H 1 6 a i r f

  • i

l _ 2 d b c s s t k 3 9 b l

  • c

k q p 1 c

  • 7

1 c a v i t y 2 6 d a w s

  • n

5 e p b 3 f i n a n 5 1 h e a r t 1 k i v a p k i v a p m u l t n a s a n e m q a 8 r m t

  • v

w

I t e r a t i v e R e f i n e m e n t

0.2

43

d 9 p 1 6 n 5 5 1 2 t 1 p 4 p 6 l t _ d c

  • p

_ 1 s a s r b e m e t h 2 6 a 8 f k m a 1 t

  • r

s

  • 2

v e n k a t 1 w a t h e n 1 2

Tim Davis's Collection, n=100K - 3M

slide-44
SLIDE 44

S parse Iterative Methods (PCG) S parse Iterative Methods (PCG)

  • Outer/Inner Iteration

Inner iteration: In 32 bit floating point Outer iterations using 64 bit floating point 44

  • Outer iteration in 64 bit floating point and inner

iteration in 32 bit floating point

slide-45
SLIDE 45

Mixed Precision Computations for Mixed Precision Computations for S parse Inner/ Outer S parse Inner/ Outer-

  • type Iterative S
  • lvers

type Iterative S

  • lvers

1.75 2 2.25 2.5

Speedups for mixed precision Inner SP/Outer DP (SP/DP) iter. methods vs DP/DP

(CG2, GMRES2, PCG2, and PGMRES2 with diagonal prec.)

(Higher is better)

0 5 0.75 1 1.25 1.5 CG PCG

(Higher is better)

2 2 2

1 25

0.25 0.5 11,142 25,980 79,275 230,793 602,091 CG GMRES PGMRES

2

0.75 1 1.25

Iterations for mixed precision SP/DP iterative methods vs DP/DP

(Lower is better)

0.25 0.5

Machine: Intel Woodcrest (3GHz, 1333MHz bus) Stopping criteria: Relative to r0 residual reduction (10-12)

45

11,142 25,980 79,275 230,793 602,091

6,021 18,000 39,000 120,000 240,000

Matrix size Condition number

slide-46
SLIDE 46

Cray XD Cray XD-

  • 1

1 (OctigaBay

OctigaBay S ystems) S ystems)

Experiments with Field Programmable Gate Array (FPGA) Specify arithmetic precision

Six Xilinx Virtex-4 Field Programmable Gate Arrays (FPGAs) per chassis (FPGAs) per chassis

46

slide-47
SLIDE 47

Mixed Precision Iterative Refinement

  • FPGA Performance Test - Junqing S

un et al

Characteristics of multiplier on an FPGA* (using DSP48)

D t F t DSP48 F ( MH ) GFLOP

q g

Data Formats DSP48s Frequency ( MHz) GFLOPs s52e11 (double) 16/96 237 1.42 s51e11 16/96 238 1.43 s50e11 9/96 245 2.61 s34e8 9/96 289 3.08 s33e8 4/96 292 7.01 s23e8 (single) 4/96 339 8.14 s17e8 4/96 370 8.88 s16e8 1/96 331 31.78 31.78 s16e7 1/96 352 33.79 s13e7 1/96 336 32.26

TENNESSEE ADVANCED COMPUTING LABORATORY * XC4LX160-10

slide-48
SLIDE 48

Mixed Precision Iterative Refinement Mixed Precision Iterative Refinement

  • Random Matrix Test

Random Matrix Test -

  • Junqing

Junqing S un et al S un et al q g q g

Refinement iterations for customized formats (sXXe11). Random matrices (average number of iterations/random matrices)

More Bits

Mantissa Bits Problem Size 12 16 23 31 48 52 128 8.9 4 2 1 1 256 11.1 5.1 2.1 1 1 512 19.7 6.1 2.5 1 1 512 19.7 6.1 2.5 1 1 1024 28 6.3 2.6 1 1 2048

  • 9.3

3 1.3 1 4096

  • 13 3

3 1 1 43 1

More Iterations

4096

  • 13.3

3.1 1.43 1

TENNESSEE ADVANCED COMPUTING LABORATORY

slide-49
SLIDE 49

Mixed Precision Hybrid Direct Solver Mixed Precision Hybrid Direct Solver

  • Profiled Time* on Cray

Profiled Time* on Cray-

  • XD1

XD1 -

  • Junqing

Junqing S un et al S un et al

1400 1600

LU w Partial Pivoting using variable precision on an FPGA

800 1000 1200 1400 e (us) 200 400 600 time double s31e8 s16e7 Data types for LU on FPGAs LU communication triangular solvers Refinement

* For a 128x128 matrix High Performance Mixed-Precision Linear Solver for FPGAs, Junqing Sun, Gregory D. Peterson, Olaf Storaasli, To appear IEEE TPDC

slide-50
SLIDE 50

Intriguing Potential Intriguing Potential

  • Exploit lower precision as much as possible

Payoff in performance

  • Faster floating point

g p

  • Less data to move
  • Automatically switch between SP and DP to match

the desired accuracy the desired accuracy

Compute solution in SP and then a correction to the

solution in DP

  • Potential for GPU FPGA special purpose processors

Potential for GPU, FPGA, special purpose processors

What about 16 bit floating point?

  • Use as little you can get away with and improve the accuracy
  • Applies to sparse direct and iterative linear systems
  • Applies to sparse direct and iterative linear systems

and Eigenvalue, optimization problems, where Newton’s method is used.

50 Correction = - A\(b – Ax)

slide-51
SLIDE 51

Conclusions Conclusions

  • For the last decade or more, the research

investment strategy has been investment strategy has been

  • verwhelmingly biased in favor of hardware.
  • This strategy needs to be rebalanced -

gy barriers to progress are increasingly on the software side.

  • Moreover, the return on investment is more

favorable to software.

Hardware has a half-life measured in years, while

software has a half-life measured in decades.

  • High Performance Ecosystem out of balance

g y

  • Hardware, OS, Compilers, Software, Algorithms, Applications
  • No Moore’s Law for software, algorithms and applications
slide-52
SLIDE 52

Collaborators / S upport Collaborators / S upport

Marc Baboulin UCoimbra Alfredo Buttari ENS/INRIA Alfredo Buttari, ENS/INRIA Bilel Hadri, UTK Julien Langou, UColorado J li L UTK Julie Langou, UTK Hatem Ltaief, UTK Piotr Luszczek, MathWorks , Jakub Kurzak, UTK Stan Tomov, UTK

33

slide-53
SLIDE 53

PLAS MA Collaborators PLAS MA Collaborators

  • U Tennessee, Knoxville

Jack Dongarra, Julie Langou, Stan Tomov, Jakub

Kurzak, Hatem Ltaief, Alfredo Buttari, Julien Langou, Kurzak, Hatem Ltaief, Alfredo Buttari, Julien Langou, Piotr Luszczek, Marc Baboulin

  • UC Berkeley

Jim Demmel Ming Gu W Kahan Beresford Parlett

Jim Demmel, Ming Gu, W. Kahan, Beresford Parlett, Xiaoye Li, Osni Marques, Yozo Hida, Jason Riedy, Vasily Volkov, Christof Voemel, David Bindel

  • Other Academic Institutions

UC Davis, CU Denver, Florida IT, Georgia Tech, U Maryland, North

Carolina SU, UC Santa Barbara, UT Austin, LBNL

TU Berlin, ETH, U Electrocomm. (Japan), FU Hagen,

U Carlos III Madrid U Manchester U Umeå U Wuppertal U U Carlos III Madrid, U Manchester, U Umeå, U Wuppertal, U Zagreb, UPC Barcelona, ENS Lyon, INRIA

  • Industrial Partners

Cray, HP, Intel, Interactive Supercomputing, MathWorks, NAG,

y, , , p p g, , , NVIDIA, Microsoft