Top Banner
High-Performance Scientific Computing INFO 0939, Fall 2019 http://www.montefiore.ulg.ac.be/~geuzaine/INFO0939/ Based in part on material from Victor Eijkhout’s SSC 335/394 course at the Texas Advanced Computing Center 1
24

High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Jul 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

High-Performance Scientific Computing

INFO 0939, Fall 2019

http://www.montefiore.ulg.ac.be/~geuzaine/INFO0939/

Based in part on material from Victor Eijkhout’s SSC 335/394 course at the Texas Advanced Computing Center

�1

Page 2: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Introduction

�2

Page 3: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Mathematics & Science• In science, we use mathematics to understand

physical systems.

• Different fields of science explore different ‘domains’ of the universe, and have their own sets of equations, encapsulated in theories.

• Determining the theories and governing equations requires observation or experimentation, and testing hypotheses.

�3

Page 4: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

[Courtesy of San Diego Supercomputer Center]

�4

Page 5: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Scientific Computing• Why should we care about scientific computing?

– Computational research has emerged to complement experimental methods in basic research, design, optimization, and discovery in all facets of engineering and science

– In certain cases, computational simulations are the only possible approach to analyze a problem:• Experiments may be cost prohibitive (eg. flight testing a 1,000 fuselage/

wing-body configurations for a modern fighter aircraft)• Experiments may be impossible (eg. interaction effects between the

International Space Station and Shuttle during docking)– Simulation capabilities rely heavily on the underlying compute

power (e.g. amount of memory, total compute processors, and processor performance)• Fostered the introduction and development of super-computers starting

in the 1960’s• Large-scale compute power is tracked around the world via the Top500

List (more on that later)

�5

Page 6: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Scientific Computing: a definition

• “The efficient computation of constructive methods in applied mathematics”– Applied math: getting results out of application

areas– Numerical analysis: results need to be

correctly and efficiently computable– Computing: the algorithms need to be

implemented on modern hardware

�6

Page 7: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Examples of Scientific Computing (it really is everywhere)

Automotive

Streamlines for workstation ventilation

Heating, ventilation, and air conditioning

�7

Electrical Engineering

Page 8: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Examples of Scientific Computing (it really is everywhere)

F18 Store Separation

Aerospace

Weather Forecasting

�8

Page 9: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Examples of Scientific Computing (it really is everywhere)

�9

Temperature and natural convection currents in the eye following laser heating.

BiomedicalCOMPUMAG–SYDNEY 2011, STATIC FIELDS AND QUASI-STATIC FIELDS (III), PA10.2, CMP–305 2

Fig. 1. Mesh used for the numerical experiments [20]: a) full head (300,000 nodes, 27 tissues), b) grey matter, c) white matter.

matter �G(!) are modeled within a probabilistic framework,as functions of the random variable !. Therefore jAvg , jmax,j99�perc, eAvg , emax and e99�perc are random as well. Inparticular, by using the maximum entropy principle [22] wemodel (arbitrarily) �G(!) and �W (!) as independent randomvariables, uniformly distributed:

�G(!) ⇠ U([0.0753 ; 0.5155]) (S/m) (1)�W (!) ⇠ U([0.0533 ; 0.3020]) (S/m) (2)

C. The non intrusive approach

As the conductivities of the brain and the cerebellum aretwo independent random variables of finite variance, we canexpand them as a truncated series of order pin in the bi-dimensional Hermite polynomials of a random gaussian vector⇠(!) = (⇠1(!), ⇠2(!)), known as Hermite chaos polynomials

[18]:

�G(!) ⇡PinX

i=0

�Gi i(⇠(!)) (3)

�W (!) ⇡PinX

i=0

�Wi i(⇠(!)) (4)

where �Gi and �Wi are scalar values that depend on theprobabilistic law of the conductivities, Pin = Cpin

2+pinis the

number of bi-dimensional polynomials of order less than pin,and i is the ith bi-dimensional Hermite polynomial. Tosolve the stochastic problem, we use an approach based ona polynomial chaos decomposition of both the conductivityand the induced fields [18]. We assume the conductivities tobe of finite variance, with no assumption on the shape of theprobabilistic distribution.

The values of the induced fields—the average currentdensity in the brain jAvg(!) = jAvg(⇠(!))—are computedby the finite element method from any couple of values(�G(⇠(!)),�W (⇠(!))). The average density belongs to aspace that can be spanned by the polynomials (⇠(!)) andthus written as a truncated series to an order pout:

jAvg(!) =PoutX

m=0

jAvgm m(⇠(!)). (5)

To compute the value of the unknown real coefficients jAvgm,we use the orthogonality properties of the Hermite polynomi-als:

jAvgm =E[jAvg(!) m(⇠(!))]

E[ m(⇠(!))2], (6)

where E[·] is the mathematical expectation. The denominatorcan be computed analytically. The integral in the numeratoris computed by means of a Hermite Gauss integration schemewith d integration points [18]:

E[jAvg(!) m(⇠(!))] ⇡dX

i=1

...dX

j=1

wi,j(jAvg((t1, t2)i,j)) m((t1, t2)i,j), (7)

with (t1, t2)i,j the i, j-th Gauss point and wi,j the associatedweight in the bi-dimensional Cartesian rule. The deterministicproblem must thus be computed d2 times, with the conductiv-ity evaluated through (3) and (⇠1(!), ⇠2(!)) = (t1,= t2)i,j ,i, j = 1, . . . , d.

III. RESULTS AND DISCUSSION

The non intrusive method is governed by three parame-ters: pin, pout and d; pin is linked to the precision on the

Fields induced in human body close to power lines

Page 10: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�10

New Kinds of Computations

Page 11: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

The Top500 List• http://www.top500.org• Owner submitted benchmark performance

sine 1993– based on a dense linear system solve– http://www.netlib.org/benchmark/hpl/

�11

Page 12: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�12

Page 13: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�13

Page 14: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�14

Page 15: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�15

Page 16: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�16

Page 17: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

HPC and CECI• CECI is the “Consortium des

Equipements de Calcul Intensif” in Wallonia/Brussels– http://www.ceci-hpc.be– Once you create an account you

can use all the CECI clusters– Funded by FNRS– UCL, ULB, UNamur, UMons,

ULiège– Single login for all clusters (more

on that later)

�17

• Machines in CECI grid:– NIC4 @ ULiège– HMEM & Lemaitre2 @ UCL– Vega @ ULB– Hercules @ FUNDP– Dragon1 @ UMons

Page 18: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

– 120 compute nodes with two 8-cores Intel E5-2650 processors at 2.0 GHz and 64 GB of RAM (4 GB/core)

– QDR Infiniband network– 144 TB FHGFS parallel

filesystem– The cluster is especially

designed for massively parallel jobs (MPI, several dozens of cores) with many communications and/or a lot of parallel disk I/O, 2 days max.

– SSH to nic4.segi.ulg.ac.be with the appropriate login and id_rsa.ceci file (more on that later).

�18

NIC4 System Summary

Page 19: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

�19

External Power and Cooling

Page 20: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Class Goals/Topics• Remember that definition “The efficient

computation of constructive methods in applied mathematics”– Numerical analysis/algorithms, (parallel)

computation, and how to combine them• Theory topics: architecture, numerical

analysis, implementing the one on the other

• Practical skills: the tools of scientific computing

�20

Page 21: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Class Goals/Topics• UNIX Exposure

– shells/command line– environment– compilers– libraries

• Ideally: good practices for scientific software engineering– version control– build systems– data storage– debugging skills

�21

Page 22: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Class Setup• Theory classes on Tuesday @ 2pm• 2 or 3 projects, combining theory and

programming

�22

Page 23: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Computer Accounts• CECI clusters

– You should create an account now, and run your codes over there– Must access page from the ULiège subnet: https://login.ceci-hpc.be

• All required info is available on http://www.ceci-hpc.be• Don’t forget to read the FAQ!• Jobs run in a managed environment

– login to the login node– submit jobs to the scheduler– wait– collect results

• Production runs on the login node are forbidden– avoid resource intensive tasks– exceptions include compilers, “standard” UNIX commands (ls,

mkdir, etc.) �23

Page 24: High-Performance Scientific Computing...we use the orthogonality properties of the Hermite polynomi-als: j Avgm = E[j Avg(!) m( (!))] E[m ( !))2], (6) where E[·] is the mathematical

Remote Login on CECI Clusters• Only SSH access is allowed• All required info is available on – http://www.ceci-hpc.be

• Don’t forget to read the FAQ: – https://login.ceci-hpc.be/static/faq.html

• Cf. David Colignon's introduction later this afternoon

�24