tReorder slides - brcon2020_adc - my presentation for brcon2020
(HTM) git clone git://src.adamsgaard.dk/.brcon2020_adc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 234b172dd70299ae87cb26694d4164edb21507cb
(DIR) parent ba1be8f4905c0b366f67623c45f9bbe89545416b
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Tue, 28 Apr 2020 18:58:44 +0200
Reorder slides
Diffstat:
M brcon2020_adc.md | 134 ++++++++++++++++----------------
1 file changed, 67 insertions(+), 67 deletions(-)
---
(DIR) diff --git a/brcon2020_adc.md b/brcon2020_adc.md
t@@ -58,6 +58,71 @@ Academic interests:
* domains and physical processes split up into small, manageable chunks
+## From idea to application
+
+
+ 1. Construct system of equations
+
+ |
+ v
+
+ 2. Derivation of numerical algorithm
+
+ |
+ v
+
+ 3. Prototype in high-level language
+
+ |
+ v
+
+ 4. Re-implementation in low-level language
+
+
+## From idea to application
+
+ ,-----------------------------------------------.
+ | 1. Construct system of equations |
+ | |
+ | | |
+ | v | _
+ | | ___ | | __
+ | 2. Derivation of numerical algorithm | / _ \| |/ /
+ | | | (_) | <
+ | | | \___/|_|\_\
+ | v |
+ | |
+ | 3. Prototype in high-level language |
+ `-----------------------------------------------'
+ | _ _
+ v | | ___ | | __
+ | |/ _ \| |/ /
+ 4. Re-implementation in low-level language |_| (_) | <
+ (_)\___/|_|\_\
+
+
+% Our scientific training includes learning how to make an solid idea,
+% translate said idea into a set of equations, and how to implement it
+% in high-level programming languages
+
+% using high-level languages:
+% - quick development == quick results
+% - loose touch with numerical workings
+% - develop non-transferrable skills
+% - code not transferrable between platforms
+% - use of loop structures discouraged, library calls encouraged
+
+% using high-level languages:
+% - slower development == delayed results
+% - gain intimate familiarity with numerical workings
+% - develop transferrable code and skills
+% - high computational performance when done right
+
+% 4. apply the new algorithm to HPC
+
+% requires basic C programming, usually no syscalls besides file IO
+
+
## Numerical modeling
task: Solve partial differential equations (PDEs) by stepping through time
t@@ -138,7 +203,7 @@ Academic interests:
example BC: outer boundaries constant temperature (T₁ & T₇)
-## Numerical solution (finite differences)
+## Numerical solution: Low-level programming
explicit solution with central finite differences:
t@@ -155,7 +220,7 @@ Academic interests:
for (t=0.0; t<t_end; t+=dt) {
do {
for (i=1; i<n-1; i++) {
- T_new[i] = -k*(T[i+1] - 2.0*T[i] + T[i-1])/(dx*dx) * dt;
+ T_new[i] = T[i] - k*(T[i+1] - 2.0*T[i] + T[i-1])/(dx*dx) * dt;
r_norm_max = 0.0;
for (i=1; i<n-1; i++)
if (fabs((T_new[i] - T[i])/T[i]) > r_norm_max)
t@@ -167,71 +232,6 @@ Academic interests:
}
-## From idea to application
-
-
- 1. Construct system of equations
-
- |
- v
-
- 2. Derivation of numerical algorithm
-
- |
- v
-
- 3. Prototype in high-level language
-
- |
- v
-
- 4. Re-implementation in low-level language
-
-
-## From idea to application
-
- ,-----------------------------------------------.
- | 1. Construct system of equations |
- | |
- | | |
- | v | _
- | | ___ | | __
- | 2. Derivation of numerical algorithm | / _ \| |/ /
- | | | (_) | <
- | | | \___/|_|\_\
- | v |
- | |
- | 3. Prototype in high-level language |
- `-----------------------------------------------'
- | _ _
- v | | ___ | | __
- | |/ _ \| |/ /
- 4. Re-implementation in low-level language |_| (_) | <
- (_)\___/|_|\_\
-
-
-% Our scientific training includes learning how to make an solid idea,
-% translate said idea into a set of equations, and how to implement it
-% in high-level programming languages
-
-% using high-level languages:
-% - quick development == quick results
-% - loose touch with numerical workings
-% - develop non-transferrable skills
-% - code not transferrable between platforms
-% - use of loop structures discouraged, library calls encouraged
-
-% using high-level languages:
-% - slower development == delayed results
-% - gain intimate familiarity with numerical workings
-% - develop transferrable code and skills
-% - high computational performance when done right
-
-% 4. apply the new algorithm to HPC
-
-% requires basic C programming, usually no syscalls besides file IO
-
-
## HPC platforms
* Stagnation of CPU clock frequency