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