Communication-avoiding sparse direct solvers for linear systems - - PowerPoint PPT Presentation

communication avoiding sparse direct solvers for linear
SMART_READER_LITE
LIVE PREVIEW

Communication-avoiding sparse direct solvers for linear systems - - PowerPoint PPT Presentation

hpcgarage.org/uiuc20 Slides are here right now Piyush Sao get em while theyre hot (ORNL) Communication-avoiding sparse direct solvers for linear systems & Sherry Li graph problems (LBNL) Ramki Kannan Richard (Rich) Vuduc


slide-1
SLIDE 1

hpcgarage.org/uiuc20

Richard (Rich) Vuduc February 28, 2020 CSL Student Conference @ UIUC

Communication-avoiding sparse direct solvers for linear systems & graph problems

Piyush Sao

(ORNL)

Sherry Li

(LBNL)

Slides are here right now— get ‘em while they’re hot 🔦

Ramki Kannan

ORNL

slide-2
SLIDE 2
slide-3
SLIDE 3

“The problems are solved, not by giving new information, but by arranging what we have known since long.”

— Ludwig Wittgenstein

slide-4
SLIDE 4

hpcgarage.org/uiuc20

3 https://twitter.com/aydoz/status/1130559070627348480

slide-5
SLIDE 5

hpcgarage.org/pp20

4

Ax = b

nnz(A) = O(N)

<latexit sha1_base64="2rFIgRkcbTkTUbYHfJWXWkZ9ys=">AF63icdVTbjts2EFUubhL3k362BemRoBdQLEl+b5AgKROu1sgqV03myxgGQuaHtnCUpRAUut1BH1F34qib0X7G/2M/k2Hso2uWkeABIpzpkLhzNLeKi04/x96/adu5VP7t1/UP30s8+/eHjw6PE7FaeSwRmLeSzPZ1QBDwWc6VBzOE8k0GjG4f3scmDs769AqjAWb/U6gWlEFyIMQkY1bl0cPaF+HD48og8J/4sXAyzH/KLg5pTb/ZaTshTr3lOd1e1yz6bqvfI27dKZ6atX1GF4/u/uXPY5ZGIDTjVKmJ6yR6mlGpQ8Yhr/qpgoSyS7qAjEZKraNZTp5GVC/Vf21mc59tkuqgN81CkaQaBEMI2oKUEx0TkxeZhxKY5mtcUCZD9EzYkrKNGZfrT4lb+glkFPgV4A2SvQSORDQlOuSH8Uoh/k0WxZIjF2CgBWLo4iKuR/QKOTrLS/zVbBd5qQk8tadZkEsikiN728FxQMhEjiW/QqICj+EYlHKHW24CwX8ZapjrACmEAoF0pwUiQMC1pSopAB5bpdF3sF9RUE2AnkdDQgJ5j9AkjRI0SxJURAnj0jkxEmqDWQBhkyoIJ8ZyI6PiaD4evh2ZjHpl2mh0utE3XcaKxWq7qRSOXGgj9RI9lINxWt9koVC6MylE5qsIzVnBexFT8ZRjYyUzGK5Fn45Nv8sx1PLvbtv9fTiewhbWadpu2+73e4enIT5Tq3v2a2e3WntQcWSisVOz/NQ0GnbHW8Pcg2cx6sdsunantOxO809yIWE9c51p4Mh9sy7Bzin8vIGuN9G713b9Uw6/7ZX5i8TtihYphUm3jTL/I1Izc1rXu7vTrpEYlwWpZpg15UblQR+f9nmcLtJxUlLTjYUyMFKd7veA7Yj2TwevxTE1tYrzmUzhsFlQE1N504QEfYt+YmE3PjY67KAZhxs3EPQqUSDLzRevYDbM/Sc+h0Af1lxfhoulPvpI+mOgXOVlFRmR7/0n4xuMV4CjScIbNA8TkFRjUc3syzPzqeLQ2028vHFO6/uNuvej63ai/Pt+LtvfWV9bR1artW1Xlin1sg6s5h1bf1m/WH9WYkqP1d+qfy6gd6+teV8aZWeyu/AEBhAPE=</latexit>
slide-6
SLIDE 6

hpcgarage.org/pp20

5

PA = LU

L = unit lower triangular U = upper triangular P = permutation (pivoting)

slide-7
SLIDE 7

hpcgarage.org/pp20

6

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

MPI processes (2D process grid; 4 cores / process)

Teraflop/s

(32x procs → 2x speedup)

Baseline: SuperLU_DIST

  • X. Li & J. Demmel (ACM TOMS ’03)

“2D” algorithm (strong scaling)

slide-8
SLIDE 8

hpcgarage.org/pp20

7

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

MPI processes (2D process grid; 4 cores / process)

Teraflop/s

(32x procs → 2x speedup)

Example:


(Best configuration shown)

Px × Py = 96

<latexit sha1_base64="FvmfGaFZLK4N8dl/k8PLliSOBOU=">AK4HiclVbdb+NEPcdFzjM1xVekHjxERW1KASv7TjxA1LFcRLSdC1vR5xrlo7k8Q6f4T15trc4nfeEI/wn/HfMGvny4lTFUutRrszv5nf7O5v4k3DIOW6/u+Dh+8qr373uP31Q8+/OjT54cfHqZJjPmw4WfhAm78mgKYRDBQ94CFdTBjTyQnjhvX4m91+8AZYGSXzO51MYRHQcB6PApxyXrg8e/X2oXaSgjZKYa2nwFjTb0qZcVd0Ybvwkimg8FO4QRpeUZX0yEC7E6YxBRPlE1Enm3qZT6kNW9u+xBAuIniNetowWcbldUY5C263nF4Z24I5qdrD+HmrEUyCpAYDLNeth3xA+ZOe8BkZFaq2B0x6m9lLvDXTHaofx+Mf0543rCsb2y3wH3qhjDiR6JuZC4LxhN+vKcriHM+AU6LPpaBhVtsyZ7uhnUjGO8JK7b2hE2qY2TlPg1FN1sEliO7MZxPAjasah3JhLm3V2cQnd8kp1tx8n86EriZsHn2ShwtV4zT7Djb0ysJNWEA9wYz7wB7hsZ5EMH+4pYe9y1vhXhHjVWYW1VWXPSrMtjObdcKt2vhPr3N9pWXu7y8P9L8bqRf74/0NivR82AcxAJ+iyljdP41ghckNZdjZ9JF4EvtO82xVcwx3PC9flLXm6ZOHJtoaFiEtG0LMNsGY5Gmnr+1U8+V/Kvd31Qa7rDxJ9FEHM/pGnaJ/qUDwRlPBDyWyWAlb2mo6hj2ZMsYSByMlk2iGuDFEHWaGF+epmhKBRms4jDz3zw9zek4tVe/0ZH3UGIoinMw6xXyQazUKNJ5pUZG0YMPB5OEeD+izAWjV/QvGxcdRtZTGD1nqJ0Mw8+ZubDAIpXiXKIrVgW6sTSB8A1xGM9g85xGNgnCOQkFnIcfjTkdLW1UPNdTLSfleKguO/NgQ1jcSZ5cfNM0IMqWCkl2FVJ1TwEPi4HM0Z0CoxyvVj5ButNM9FjFaNlNXLhXJO2vkw72veUCUgq7tEQe0fjdbUhFl6paWSCOIlmfHItluKpBWXjfu7wyoET4X9N3EfB85p15yW3BbLGWk8N3GuGwDcYz7WcZH7K+ZVP8yfQ9YHG2o/4vrUpDYFz0I7k9oyFifw50cRkx6ocLPi7Y0MNvHCGI5WNvUzoTcOydcdstxr4am2DrG2HWLptPAp2GaDtJwGaberwFhyE6/QTKdjLQAMx3DszsI2dUvaCKYR3WjgasupAJM6tYQqIskSoYh1jIbVadhWRWzCaDxe8+q01wsopMWcsmBLIMsKjEMJKa3GrZRATeHMExuVnCObphLZp2CTIFWdC+HM0nD0O2GbVbAjRnMV2C2teqSTdpLigsz52nb2PKO/FNRYZcyqu03Lo0mwW79YtRPeoXUKo+VL5QvlSOFKG3lRPlJ6SkXil9Tal/Vvq3pqf+of6p/lW4PnywiPlMKX3qP/8BeoDc7w=</latexit><latexit sha1_base64="FvmfGaFZLK4N8dl/k8PLliSOBOU=">AK4HiclVbdb+NEPcdFzjM1xVekHjxERW1KASv7TjxA1LFcRLSdC1vR5xrlo7k8Q6f4T15trc4nfeEI/wn/HfMGvny4lTFUutRrszv5nf7O5v4k3DIOW6/u+Dh+8qr373uP31Q8+/OjT54cfHqZJjPmw4WfhAm78mgKYRDBQ94CFdTBjTyQnjhvX4m91+8AZYGSXzO51MYRHQcB6PApxyXrg8e/X2oXaSgjZKYa2nwFjTb0qZcVd0Ybvwkimg8FO4QRpeUZX0yEC7E6YxBRPlE1Enm3qZT6kNW9u+xBAuIniNetowWcbldUY5C263nF4Z24I5qdrD+HmrEUyCpAYDLNeth3xA+ZOe8BkZFaq2B0x6m9lLvDXTHaofx+Mf0543rCsb2y3wH3qhjDiR6JuZC4LxhN+vKcriHM+AU6LPpaBhVtsyZ7uhnUjGO8JK7b2hE2qY2TlPg1FN1sEliO7MZxPAjasah3JhLm3V2cQnd8kp1tx8n86EriZsHn2ShwtV4zT7Djb0ysJNWEA9wYz7wB7hsZ5EMH+4pYe9y1vhXhHjVWYW1VWXPSrMtjObdcKt2vhPr3N9pWXu7y8P9L8bqRf74/0NivR82AcxAJ+iyljdP41ghckNZdjZ9JF4EvtO82xVcwx3PC9flLXm6ZOHJtoaFiEtG0LMNsGY5Gmnr+1U8+V/Kvd31Qa7rDxJ9FEHM/pGnaJ/qUDwRlPBDyWyWAlb2mo6hj2ZMsYSByMlk2iGuDFEHWaGF+epmhKBRms4jDz3zw9zek4tVe/0ZH3UGIoinMw6xXyQazUKNJ5pUZG0YMPB5OEeD+izAWjV/QvGxcdRtZTGD1nqJ0Mw8+ZubDAIpXiXKIrVgW6sTSB8A1xGM9g85xGNgnCOQkFnIcfjTkdLW1UPNdTLSfleKguO/NgQ1jcSZ5cfNM0IMqWCkl2FVJ1TwEPi4HM0Z0CoxyvVj5ButNM9FjFaNlNXLhXJO2vkw72veUCUgq7tEQe0fjdbUhFl6paWSCOIlmfHItluKpBWXjfu7wyoET4X9N3EfB85p15yW3BbLGWk8N3GuGwDcYz7WcZH7K+ZVP8yfQ9YHG2o/4vrUpDYFz0I7k9oyFifw50cRkx6ocLPi7Y0MNvHCGI5WNvUzoTcOydcdstxr4am2DrG2HWLptPAp2GaDtJwGaberwFhyE6/QTKdjLQAMx3DszsI2dUvaCKYR3WjgasupAJM6tYQqIskSoYh1jIbVadhWRWzCaDxe8+q01wsopMWcsmBLIMsKjEMJKa3GrZRATeHMExuVnCObphLZp2CTIFWdC+HM0nD0O2GbVbAjRnMV2C2teqSTdpLigsz52nb2PKO/FNRYZcyqu03Lo0mwW79YtRPeoXUKo+VL5QvlSOFKG3lRPlJ6SkXil9Tal/Vvq3pqf+of6p/lW4PnywiPlMKX3qP/8BeoDc7w=</latexit><latexit sha1_base64="FvmfGaFZLK4N8dl/k8PLliSOBOU=">AK4HiclVbdb+NEPcdFzjM1xVekHjxERW1KASv7TjxA1LFcRLSdC1vR5xrlo7k8Q6f4T15trc4nfeEI/wn/HfMGvny4lTFUutRrszv5nf7O5v4k3DIOW6/u+Dh+8qr373uP31Q8+/OjT54cfHqZJjPmw4WfhAm78mgKYRDBQ94CFdTBjTyQnjhvX4m91+8AZYGSXzO51MYRHQcB6PApxyXrg8e/X2oXaSgjZKYa2nwFjTb0qZcVd0Ybvwkimg8FO4QRpeUZX0yEC7E6YxBRPlE1Enm3qZT6kNW9u+xBAuIniNetowWcbldUY5C263nF4Z24I5qdrD+HmrEUyCpAYDLNeth3xA+ZOe8BkZFaq2B0x6m9lLvDXTHaofx+Mf0543rCsb2y3wH3qhjDiR6JuZC4LxhN+vKcriHM+AU6LPpaBhVtsyZ7uhnUjGO8JK7b2hE2qY2TlPg1FN1sEliO7MZxPAjasah3JhLm3V2cQnd8kp1tx8n86EriZsHn2ShwtV4zT7Djb0ysJNWEA9wYz7wB7hsZ5EMH+4pYe9y1vhXhHjVWYW1VWXPSrMtjObdcKt2vhPr3N9pWXu7y8P9L8bqRf74/0NivR82AcxAJ+iyljdP41ghckNZdjZ9JF4EvtO82xVcwx3PC9flLXm6ZOHJtoaFiEtG0LMNsGY5Gmnr+1U8+V/Kvd31Qa7rDxJ9FEHM/pGnaJ/qUDwRlPBDyWyWAlb2mo6hj2ZMsYSByMlk2iGuDFEHWaGF+epmhKBRms4jDz3zw9zek4tVe/0ZH3UGIoinMw6xXyQazUKNJ5pUZG0YMPB5OEeD+izAWjV/QvGxcdRtZTGD1nqJ0Mw8+ZubDAIpXiXKIrVgW6sTSB8A1xGM9g85xGNgnCOQkFnIcfjTkdLW1UPNdTLSfleKguO/NgQ1jcSZ5cfNM0IMqWCkl2FVJ1TwEPi4HM0Z0CoxyvVj5ButNM9FjFaNlNXLhXJO2vkw72veUCUgq7tEQe0fjdbUhFl6paWSCOIlmfHItluKpBWXjfu7wyoET4X9N3EfB85p15yW3BbLGWk8N3GuGwDcYz7WcZH7K+ZVP8yfQ9YHG2o/4vrUpDYFz0I7k9oyFifw50cRkx6ocLPi7Y0MNvHCGI5WNvUzoTcOydcdstxr4am2DrG2HWLptPAp2GaDtJwGaberwFhyE6/QTKdjLQAMx3DszsI2dUvaCKYR3WjgasupAJM6tYQqIskSoYh1jIbVadhWRWzCaDxe8+q01wsopMWcsmBLIMsKjEMJKa3GrZRATeHMExuVnCObphLZp2CTIFWdC+HM0nD0O2GbVbAjRnMV2C2teqSTdpLigsz52nb2PKO/FNRYZcyqu03Lo0mwW79YtRPeoXUKo+VL5QvlSOFKG3lRPlJ6SkXil9Tal/Vvq3pqf+of6p/lW4PnywiPlMKX3qP/8BeoDc7w=</latexit><latexit sha1_base64="gQJtegFK7Xec6ZaECn/FHx6O7z8=">AK4HiclVZLb9tGEGbSqE3ZV9we9nUcGEXqsqXKPFQIGjcohdXKmI7D1ExltRQIsKHulzFVra891b02P6z/pvOknpRogyXgI3B7sw383ufiNvGoUZ17R/791/70Hj/Q8efqh+9PEn3726ODzydMR8u/DRK2QuPZhCFCVzwkEfwYsqAxl4Ez703T+X+87fAsjBNzvl8CsOYjpMwCH3Kcenq4MHfR+QiAxKkCSdZ+A6IbZEpV1U3gWs/jWOajIQ7guCSsnygD4ULSTZjEFM+EYd67t5kU+pDXvXvsxQLiJ8hXr6MFkm+5XVGOQtvtpxeG9tuCOZnaw/hFqxFGoRIDEZ5P9+O+BFzZ31gMjKvVOwGjPpbmUv8NZMd6j+E419SXjQsHxjbLXAfuxE/FgcGrnLwvGEn+zpCuKcT4DTso9VYOGW7Knu2G9GMZ7wsqtPWGT+hZuU8j0csXgdXIXgLnk5CN6lqn58Lc26sziM+v09OtOPk/CwRupmyevxbHyxXjND/J9/RKQk0YwJ3BzFvAnqJxHsawv7ilx13LWyHeUmMd5laVNRf9RVs57aT0u1KuI9v8n3lFS4v740vx3p1d2R3uUVeh6Mw0TAbwljM6/QfCSJHE5diZbBL4k3xPHVjHaMP36tGh1jI13bF1goal6x0bDcsw24ZD9JZWfIfK4utfHTRa7ij1ZzEk3I9olg10bcqHgjIe+pFkNsAK3tDxzBAM6FYwlAUZHJyhCsj1EFWamGxuhkhaJxl89hDz+Iwt/fkYt3eYMaD7lCEyXTGIfHLRMEsIjwlUpHJKGTg82iOBvVZiLUSf0LxsXHUbWSxo9Y5qcjMIvmbmwiKR4VyiK1YFurE0gegtcRjPYPOeAxmE0R6Ggs4jcWfB0lbVI4J6OaneCw/VZWcebAiLOymSi29bBsT5UiH1XYVU3VPAw2Igc/SmwCjHq1VMkN40F31WM1p2E5fuNUkH6TDfW+5hJTCLi1RDR/d5tS0aWq1haIo0jWJ8diFa5uUJbedy6vCigR/tf0XQ8m3lnXnpTMlusFeTwnca4IfANJnNSkCxOubjyWfEej7QhPyE75tMaQScAzmW2zMWpfLnRAuTnahysODvjg018KIZjlQ29nKhtQzL1hyz027iq7UNfW07uqXZRhufgm029bT1DudOjCWXicrNPpWgsAwzEcu7uwTc2SNoIRXTOauNp2asCkTi2hykh9iVDGOkbT6jZtqyY2ZTQZr3l1O2sulq7pbeRSAFmGvqjEMJCY1m7aRg3cHKIovV7BOZphLpl1SzIlWtm9As7Um4ZmN2zBm7MYL4Cs61Vl2y9s6S4MAueto0t78o/FRV2KaNkv3FptHTs1q/G4ZP+QmsfKl8qXynHiq50lCfKz0pfuVD8htL4uvFdQ1M9Q/1T/Wv0vX+vUXMF0rlU/5D4Li3Jc=</latexit>

Baseline: SuperLU_DIST

  • X. Li & J. Demmel (ACM TOMS ’03)
slide-9
SLIDE 9

hpcgarage.org/pp20

8

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

MPI processes (2D process grid; 4 cores / process)

Teraflop/s

(32x procs → 2x speedup)

Baseline: SuperLU_DIST

  • X. Li & J. Demmel (ACM TOMS ’03)

“2D” algorithm (strong scaling)

slide-10
SLIDE 10

hpcgarage.org/pp20

9

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

A C B

slide-11
SLIDE 11

hpcgarage.org/pp20

10

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

C B A

slide-12
SLIDE 12

hpcgarage.org/pp20

11

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

A C B N × N matrices P processes = ⇒ Time for flops ∝ N 3 P

<latexit sha1_base64="PKdVoGH4rXZtyhjkzUfnqBDQ=">AI7niclVdb+NEFPW2LAQDyxYeRmoWnWRN/LYjhM/gFYsIF62Ddq2u1KcrcbOLF2/MHMeNtg/Dd4QzCX+LfcMeO0yR1JYhU6XbmnM/5p7rIGexkKb5z4O9/fcev9B70P9o48/efTp4PLkVW8JBehBnL+OuACMrilF7IWDL6OueUJAGjr4K3z9X9q3eUizhLz+Uyp9OEzNM4ikMi4ejqYO+vI3QhKIqyVCIR/0qR6Bc6rqf0uswSxKSzkp/RqNLwqsJnpY+TUXBaULkojzElX8jchLSat/zDNIHkJfFWLtNqx+sFkTy+2XF6Y+26AVkoqnLt4tdVl1kUQ2F0Vo2rXcQPEFuMKVfIaitjP+Ik3Inc8N9Wcqf07+L5aSbrhlUTa7cF/pc+o5E8KQ+tyufxfCGf3NMV4DlfUEmaPm4Tl35zpXp6F3aW0Pk9sObqHtiG6MyDwkrz6oVUPcDOo/Tkv6SEs7J8utKPz5Gp8iXcUKFMpIguylRovoWUlEh31ceTe/a2xz+oUK018iPExhwB+3HudAB6PGUcSyXCDwA0wuM9S8y+kbe/0eOnR5tpHQ1eNDs2+b2HMxAsPBeOiC4Vj2wPIQ7pv171Bb/cZXBw/7/iwLi4SmMmREiAk2czktCZdxyNTbFILCK70lczoBMyVQ6rSsh6tCR3Aya1JVyqhPNxElSYRYJgF4qm6K3Tt12HU3KWQ0mpZxmheSpmETKCoYgiYofaJZzGko2RIMEvIYckXhgkB3JKhY3woTMi7CbEbtemg3LjhlSspbJZbrkdw4W1D2jkqF5nRzdiKSxGwJY0MKJuFJRNTaun6EQD2L7VkLYNbubIeNMfMXdfDyad+iSdXqBd/Vi+5/T+GxOFUxznLKiQSp1/vkLK/KMe9YNHcDN+4dQSe3Qaf3iPR5Q6lkrqyRhi/+YbSt9JYZ4Kwl1R+aklu03Wtzcb7P6e3TagY/tcuXgFeFsEL0GBT2eqsLu6qbMQJWk+XqC6yfuV65EUtgbOQkhT9CPsW5YRKSk6UdcFZ5n6uPQh2BNdrRn4Cm1s54AVsGD5PKhKs285runZw4EBqnUtfGt72DFdawBScG0DzwD4dZDy7TtdstjdyVgSWZ3nuaGXbpqNsIEPYtAw4HXgdZOq70VI1SNwyNFjPMpyR4Tod2IyTdH5b12h4W4uDTyAWmoix8KrTCwLCjMHhmt10C0pY9n1ms4zLbutbNQU07A13avpbGxYpmu4dgfdnNPlmsx1l1y8bAtcWXWdboutHyk/nTYsO0aRfcbl1Yf23rZ+vw2Xi1a3vaF9pX2omGtaH2TPtJG2sXWrj/aN/Z/2b/217e+73R+/PxnXvwQrzub16/39L0S7EA0=</latexit>
slide-13
SLIDE 13

hpcgarage.org/pp20

12

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

C B A

2D process grid

Px

<latexit sha1_base64="WG6DdXhEk7L/X3JoACMUjTvSY=">AKzHiclVbtGEGVSu03ZW5y+FEgfmBoG7IVuCRFiW9G4xZ9caQituNWVIwlNZSI8KIul7GV7T62/9h/6Ed0l9SNEmW4BGwMZmfOzJndPSt/Gkc5NYx/Hj3+aG/40+efKp+9vkX3719ODZVZ4VJIDLIszcu3jHOIohUsa0RiupwRw4sfwxn/3Uq6/eQ8kj7L0gs6mMEzwOI3CKMBUuG4O9v460i5z0MIspVoefQDNsbUpVUvhdsgSxKcjpg3gvAKEz5AQ+ZBmhcEkwn7Bx7y6f4gB4Pb5PMtFA8lrg8U2S/lG1DmJLrbCHprboYJsCBfRTCvZM2yMBLEYMT7fDPjJ1E7wORmbzWsRcSHGxUrvBXTLao/xiNX2W0HBgfmJsj8F54MYT0mB2a3CPReEJPdkxF4FxMgOJqjnVg5lVLcqbab0ExjvSqUdaZPmHNl5gGPW4/PEemYvhYtJREZNo0OcWTtndQ7JxW12tpEn/+chE4sZmfG37HjhMc/4Cd8xKwk1IQAPBrPuAXspjIsogd3NLSIe2t4S8Z4emzA3umw46Nd1sK3TrlVhN8x7cd3tVeG/PZwpNn9SL8/HOkDr9HzYRylDP5IMSF49r0Ar0iqAm+05r95emi0LAO5DtKEYSPUcYRhm1bdDXUMsrv8PQbpfz6Nwf7LW+UBUCKQ1inOcDZEzpkGFCoyCWLIocRBfv8BgGwkxAvmQlY1z7Uh4RkLzSKV7pXc9g+Ekz2eJLyLjdtck86mtUFBw+6QRem0oJAGVaGwiDWaVJ9tVFEIKDxTBg4IJHoVQsmWFwsKjRarZUJYpIH2QiscpBrCwRiKdQ1imy5eWu+CcTvgcpsAut7GuIkimdCFHARU7G1ebiwVfVIE9o4qZ8BXyjJlvaviYg3KYuzH1omJHyhmhbDVXvDMRmEZA1elMgmIpjVL4WvSlnfdLwjGwXrsIbig5WRYe7m0FKUVcWqzM0P/0dKneUkEbGxTPjuxPoF1uKZHsYp+cHt1QInwv17aecLrwj/3s7uK2dxXkhN3MhELzKNROtNKkuUul0c+L69ALwCcaj+Lu6xNcQyUgnYslwsSZ/KnQ0sUO1HlIyJ+Y6zdfD8uxPNJxj5nRsu0HcO1Om1d3FrHRCvbRbhmG1xFRxLR21XR51OExjJbtMlmuV27TmA6Zqu053blmFLW4BpyDB14W27DWBSkxZQVSZaIFS5rqnbXd2xG3IzgtPxile3s+JiIwO1BZcSyDbRvBPTFMSMtu6YDXAziOPsdgnGqa1YNatyFRo1fRKOAvpuHojtUANyYwW4I59nJKDuosKM7NkqfjiJF35Z8qFHYho9pu48psITGtX83D034ltcoT5bnynXKsIKWjnCq/KH3lUgn2/t1/tv98/1v1lUpVpvIq9PGjec7XSu1T/4PbYHWwA=</latexit><latexit sha1_base64="WG6DdXhEk7L/X3JoACMUjTvSY=">AKzHiclVbtGEGVSu03ZW5y+FEgfmBoG7IVuCRFiW9G4xZ9caQituNWVIwlNZSI8KIul7GV7T62/9h/6Ed0l9SNEmW4BGwMZmfOzJndPSt/Gkc5NYx/Hj3+aG/40+efKp+9vkX3719ODZVZ4VJIDLIszcu3jHOIohUsa0RiupwRw4sfwxn/3Uq6/eQ8kj7L0gs6mMEzwOI3CKMBUuG4O9v460i5z0MIspVoefQDNsbUpVUvhdsgSxKcjpg3gvAKEz5AQ+ZBmhcEkwn7Bx7y6f4gB4Pb5PMtFA8lrg8U2S/lG1DmJLrbCHprboYJsCBfRTCvZM2yMBLEYMT7fDPjJ1E7wORmbzWsRcSHGxUrvBXTLao/xiNX2W0HBgfmJsj8F54MYT0mB2a3CPReEJPdkxF4FxMgOJqjnVg5lVLcqbab0ExjvSqUdaZPmHNl5gGPW4/PEemYvhYtJREZNo0OcWTtndQ7JxW12tpEn/+chE4sZmfG37HjhMc/4Cd8xKwk1IQAPBrPuAXspjIsogd3NLSIe2t4S8Z4emzA3umw46Nd1sK3TrlVhN8x7cd3tVeG/PZwpNn9SL8/HOkDr9HzYRylDP5IMSF49r0Ar0iqAm+05r95emi0LAO5DtKEYSPUcYRhm1bdDXUMsrv8PQbpfz6Nwf7LW+UBUCKQ1inOcDZEzpkGFCoyCWLIocRBfv8BgGwkxAvmQlY1z7Uh4RkLzSKV7pXc9g+Ekz2eJLyLjdtck86mtUFBw+6QRem0oJAGVaGwiDWaVJ9tVFEIKDxTBg4IJHoVQsmWFwsKjRarZUJYpIH2QiscpBrCwRiKdQ1imy5eWu+CcTvgcpsAut7GuIkimdCFHARU7G1ebiwVfVIE9o4qZ8BXyjJlvaviYg3KYuzH1omJHyhmhbDVXvDMRmEZA1elMgmIpjVL4WvSlnfdLwjGwXrsIbig5WRYe7m0FKUVcWqzM0P/0dKneUkEbGxTPjuxPoF1uKZHsYp+cHt1QInwv17aecLrwj/3s7uK2dxXkhN3MhELzKNROtNKkuUul0c+L69ALwCcaj+Lu6xNcQyUgnYslwsSZ/KnQ0sUO1HlIyJ+Y6zdfD8uxPNJxj5nRsu0HcO1Om1d3FrHRCvbRbhmG1xFRxLR21XR51OExjJbtMlmuV27TmA6Zqu053blmFLW4BpyDB14W27DWBSkxZQVSZaIFS5rqnbXd2xG3IzgtPxile3s+JiIwO1BZcSyDbRvBPTFMSMtu6YDXAziOPsdgnGqa1YNatyFRo1fRKOAvpuHojtUANyYwW4I59nJKDuosKM7NkqfjiJF35Z8qFHYho9pu48psITGtX83D034ltcoT5bnynXKsIKWjnCq/KH3lUgn2/t1/tv98/1v1lUpVpvIq9PGjec7XSu1T/4PbYHWwA=</latexit><latexit sha1_base64="WG6DdXhEk7L/X3JoACMUjTvSY=">AKzHiclVbtGEGVSu03ZW5y+FEgfmBoG7IVuCRFiW9G4xZ9caQituNWVIwlNZSI8KIul7GV7T62/9h/6Ed0l9SNEmW4BGwMZmfOzJndPSt/Gkc5NYx/Hj3+aG/40+efKp+9vkX3719ODZVZ4VJIDLIszcu3jHOIohUsa0RiupwRw4sfwxn/3Uq6/eQ8kj7L0gs6mMEzwOI3CKMBUuG4O9v460i5z0MIspVoefQDNsbUpVUvhdsgSxKcjpg3gvAKEz5AQ+ZBmhcEkwn7Bx7y6f4gB4Pb5PMtFA8lrg8U2S/lG1DmJLrbCHprboYJsCBfRTCvZM2yMBLEYMT7fDPjJ1E7wORmbzWsRcSHGxUrvBXTLao/xiNX2W0HBgfmJsj8F54MYT0mB2a3CPReEJPdkxF4FxMgOJqjnVg5lVLcqbab0ExjvSqUdaZPmHNl5gGPW4/PEemYvhYtJREZNo0OcWTtndQ7JxW12tpEn/+chE4sZmfG37HjhMc/4Cd8xKwk1IQAPBrPuAXspjIsogd3NLSIe2t4S8Z4emzA3umw46Nd1sK3TrlVhN8x7cd3tVeG/PZwpNn9SL8/HOkDr9HzYRylDP5IMSF49r0Ar0iqAm+05r95emi0LAO5DtKEYSPUcYRhm1bdDXUMsrv8PQbpfz6Nwf7LW+UBUCKQ1inOcDZEzpkGFCoyCWLIocRBfv8BgGwkxAvmQlY1z7Uh4RkLzSKV7pXc9g+Ekz2eJLyLjdtck86mtUFBw+6QRem0oJAGVaGwiDWaVJ9tVFEIKDxTBg4IJHoVQsmWFwsKjRarZUJYpIH2QiscpBrCwRiKdQ1imy5eWu+CcTvgcpsAut7GuIkimdCFHARU7G1ebiwVfVIE9o4qZ8BXyjJlvaviYg3KYuzH1omJHyhmhbDVXvDMRmEZA1elMgmIpjVL4WvSlnfdLwjGwXrsIbig5WRYe7m0FKUVcWqzM0P/0dKneUkEbGxTPjuxPoF1uKZHsYp+cHt1QInwv17aecLrwj/3s7uK2dxXkhN3MhELzKNROtNKkuUul0c+L69ALwCcaj+Lu6xNcQyUgnYslwsSZ/KnQ0sUO1HlIyJ+Y6zdfD8uxPNJxj5nRsu0HcO1Om1d3FrHRCvbRbhmG1xFRxLR21XR51OExjJbtMlmuV27TmA6Zqu053blmFLW4BpyDB14W27DWBSkxZQVSZaIFS5rqnbXd2xG3IzgtPxile3s+JiIwO1BZcSyDbRvBPTFMSMtu6YDXAziOPsdgnGqa1YNatyFRo1fRKOAvpuHojtUANyYwW4I59nJKDuosKM7NkqfjiJF35Z8qFHYho9pu48psITGtX83D034ltcoT5bnynXKsIKWjnCq/KH3lUgn2/t1/tv98/1v1lUpVpvIq9PGjec7XSu1T/4PbYHWwA=</latexit><latexit sha1_base64="67koZSjCEUPgzwv0Sce0U10tIw=">AKzHiclVbtGEGVSu03YW5w+pg9MDQN2wQjcJUWJb0HjFn1xpCK241ZUjCU1lIjwoiyXsZUtH9t/7D/0I7pL6kaJMlwCNgazM2fmzO6elTeNwowZxj8PHn62t/5F48eq19+9fU3z45eHqZpTn14cJPo5ReSDKEzgoUsgqspBRJ7Ebz13r+S628/As3CNDlnsykMYzJOwiD0CROu64O9v460iwy0IE2YloWfQLMtbcpU1U3gxk/jmCQj7o4guCS0GKAhdyHJcgoxYRN+iAr3NpsSH4p6fJ+moH4jcArFtk8KTaizgij4e1G0Du8GSbA/GwVwd2SNU+DUBCDUdEvNjN+FrWzPlCZWdQ6dgNK/I3KFf6KyRb1n8Lx65SVAysGeHME7nM3goAd80NcuDQcT9jJjqkInPMJMFLNsQ7M3WpJznQ7rRfDeEdatbQjbdKcIzv3ScR7xTyxntlL4HwS0lHT6FDBzZ2zOoP4/CY93ciT/7OAi8WUzop3/HjhwafFSbFjVhJqQgHuDWbeAfZKGOdhDLubW0Tct70l4h09NmFudNlw0K/qYFunXavCrn7/LbY1V4Z8v9kWZ3I/1xf6RPRY2eB+Mw4fAhIZS2Y8CvCKpCrzRmv/6yaHRMg3k2EgThoVQxaGhc02djTUMsrvUJl/euD/ZY7Sv08hoT5EcmyATKmbMgJZaEfSRZ5BqKL92QMA2EmJIZsyMvGC+1IeEZC82ile6V3PYOTOMtmsSciy43bXJPOprVBzoLukIfJNGeQ+FWhI80lmpSfbVRSMFn0UwYxKeh6FXzJ0RcLCY0Wq2V8SOa+ekIzHKQawsUIinUNYp8uXlrvglEH4HJbArexqQOIxmQhRIHjGxtVmwsFX1SBPaOKmfAU8oyZb2r4mIOymL8xctDHGxUEO0rYaqewpisyjIGr0pUMLEMSpfi9604H3a8IxsF67CG4oOVkWHu+5tBSlFXFq8zND/dHWp3lJBGxsUz47sTz6BdbimR7GKvnd7dUCJ8L9e2nCm9w789LbitncV5ITdzIWC9xlYTLTSpLlLpdHPiuvQM8Hkmi/iLusTUkEjIF2LJdzGqXyp0NLFDtR5SMifmOs3XwvysXzScdewY0WtmzDMTtXdxaG6OV7SDLsHFbXAXb1FHb0VGn0wRG05tkiWY6XWsOgB3s2N25bRqWtAWYhgysC2/baQCTmrSAqjLRAqHKdbBudXbashNKUnGK17dzoqLhQzUFlxKIAujeScYC2JGW7dxA9wMoi9WcI5BjYXzLoVmQqtml4JZyIdG7Zumw1wYwqzJZhtLadko86C4twsedq2GHlX/qlCYRcyqu02LnELiWn9hg9f9uda+0h5pvygHCtI6SgvlV+VvnKh+Hv/7j/df7b/vfpaZSpXiyr04YN5zndK7VP/g9149Zo</latexit>

Py

<latexit sha1_base64="TI6uYuDHtUQuBZbgEpXBGrRTc=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KqNFXwjdb8N08PjZlINdBmjBshDqOMGzTapuhlpG+R2efqOUX/mYL/ljbKgSClQYzfICMKR0yTGgUxLKLIgdRxTs8hoEwU5xAPmRl4Vw7Ep6R0DxS6V7pXUcwnOT5LPFZLlxm2vS2bQ2KGjYHbIonRYU0qBKFBaxRjNq82igENJ4JAwckErVqwQSLi0WFRqu1NEFM8iAbgVUOcm2BQCyFutYiW27em8C8XugEk1gfU9DnETxTIgCLmIqtjYPF7aqHmlCGyf1M+ALJdnS/jUR8SZlcvZDy4SEL9Qbauh6p2B2CwCMkdvCgRTcYzK16I35axPGp6R7cRVeEPSwSrpcNe9rSiliEuLlQj9T0+X6i0VtLFA8ezI+uQTWKdrehSr6AeXVyeUDP/rpZ0DXhf+uZ/dVZ3NfWVz4k4mYoF5NEpnWtlkucvlkc/LK9ALAKfaz+Iua1McA6WgHcvlgsSZ/OnQEslOVPmIiN8YazfjwvxfJKxz5nRMm3HcK1OWxe31jHRynaRbThmW1wFx9JR29VRp9NERrLbdMlmuV17TmC6put057Zl2NIWZBoyTF1424DmdSkBVWFRAuGCuaut3VHbsBmxGcjld9dTurXmxkoLbopSyTSvxDRFY0Zbd8wGuhnEcXa7pHMN01p01q2aqdiq6ZV0FtJNw9Edq4FuTGC2JHPs5ZQc1Fm0ODfLPh1HjLwr/1ShsAsZ1XYbV2YLiWn9ah6e9iupVZ4oz5XvlGMFKR3lVPlF6SuXSrD37/6z/ef736qvVKoylVehjx/NMV8rtU/9+z9zctbB</latexit><latexit sha1_base64="TI6uYuDHtUQuBZbgEpXBGrRTc=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KqNFXwjdb8N08PjZlINdBmjBshDqOMGzTapuhlpG+R2efqOUX/mYL/ljbKgSClQYzfICMKR0yTGgUxLKLIgdRxTs8hoEwU5xAPmRl4Vw7Ep6R0DxS6V7pXUcwnOT5LPFZLlxm2vS2bQ2KGjYHbIonRYU0qBKFBaxRjNq82igENJ4JAwckErVqwQSLi0WFRqu1NEFM8iAbgVUOcm2BQCyFutYiW27em8C8XugEk1gfU9DnETxTIgCLmIqtjYPF7aqHmlCGyf1M+ALJdnS/jUR8SZlcvZDy4SEL9Qbauh6p2B2CwCMkdvCgRTcYzK16I35axPGp6R7cRVeEPSwSrpcNe9rSiliEuLlQj9T0+X6i0VtLFA8ezI+uQTWKdrehSr6AeXVyeUDP/rpZ0DXhf+uZ/dVZ3NfWVz4k4mYoF5NEpnWtlkucvlkc/LK9ALAKfaz+Iua1McA6WgHcvlgsSZ/OnQEslOVPmIiN8YazfjwvxfJKxz5nRMm3HcK1OWxe31jHRynaRbThmW1wFx9JR29VRp9NERrLbdMlmuV17TmC6put057Zl2NIWZBoyTF1424DmdSkBVWFRAuGCuaut3VHbsBmxGcjld9dTurXmxkoLbopSyTSvxDRFY0Zbd8wGuhnEcXa7pHMN01p01q2aqdiq6ZV0FtJNw9Edq4FuTGC2JHPs5ZQc1Fm0ODfLPh1HjLwr/1ShsAsZ1XYbV2YLiWn9ah6e9iupVZ4oz5XvlGMFKR3lVPlF6SuXSrD37/6z/ef736qvVKoylVehjx/NMV8rtU/9+z9zctbB</latexit><latexit sha1_base64="TI6uYuDHtUQuBZbgEpXBGrRTc=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KqNFXwjdb8N08PjZlINdBmjBshDqOMGzTapuhlpG+R2efqOUX/mYL/ljbKgSClQYzfICMKR0yTGgUxLKLIgdRxTs8hoEwU5xAPmRl4Vw7Ep6R0DxS6V7pXUcwnOT5LPFZLlxm2vS2bQ2KGjYHbIonRYU0qBKFBaxRjNq82igENJ4JAwckErVqwQSLi0WFRqu1NEFM8iAbgVUOcm2BQCyFutYiW27em8C8XugEk1gfU9DnETxTIgCLmIqtjYPF7aqHmlCGyf1M+ALJdnS/jUR8SZlcvZDy4SEL9Qbauh6p2B2CwCMkdvCgRTcYzK16I35axPGp6R7cRVeEPSwSrpcNe9rSiliEuLlQj9T0+X6i0VtLFA8ezI+uQTWKdrehSr6AeXVyeUDP/rpZ0DXhf+uZ/dVZ3NfWVz4k4mYoF5NEpnWtlkucvlkc/LK9ALAKfaz+Iua1McA6WgHcvlgsSZ/OnQEslOVPmIiN8YazfjwvxfJKxz5nRMm3HcK1OWxe31jHRynaRbThmW1wFx9JR29VRp9NERrLbdMlmuV17TmC6put057Zl2NIWZBoyTF1424DmdSkBVWFRAuGCuaut3VHbsBmxGcjld9dTurXmxkoLbopSyTSvxDRFY0Zbd8wGuhnEcXa7pHMN01p01q2aqdiq6ZV0FtJNw9Edq4FuTGC2JHPs5ZQc1Fm0ODfLPh1HjLwr/1ShsAsZ1XYbV2YLiWn9ah6e9iupVZ4oz5XvlGMFKR3lVPlF6SuXSrD37/6z/ef736qvVKoylVehjx/NMV8rtU/9+z9zctbB</latexit><latexit sha1_base64="eWRVzGyNH4pGjk/J5/uy4TlOZu8=">AKzHiclVZb9s2Fa7ZGu1W9M9dg/qgDJoBoiJcvW7Fmw15Se2iSZrPcgJKPbKG6uBTVxOX0uP3H/Yf9iJGSb7LlIBOQ4ODwfN+5kPxobxqFGTOMfx48/Gxv/MvHj1Wv/zq62+fXLw9DJLc+rDhZ9GKb3ySAZRmMAFC1kEV1MKJPYieOu9fyX34EmoVpcs5mUxjGZJyEQegTJlzXB3t/HWkXGWhBmjAtCz+BZlvalKmqm8CNn8YxSUbcHUFwSWgxQEPuQpLlFGLCJvwQFe5tNiU+FPX4Pk1FAfEbwVcs0DwpNqLOCKPh7UbQO7wZJsj8bBXB3bJrngahaAxGRb/YRPwscmd9oBJZ1Cp2A0r8jcwV/6qTrdZ/CsevU1YOrBjgzRG4z90IAnbMD3Hh0nA8YSc7piJ4zifASDXHOjF3qyU5021YL4bxDli1tAM2acbIyn0S8V4xB9aRvQTOJyEdNY0OFdzcOasziM9v0tMNnPyfBVwspnRWvOPHCw8+LU6KHbOSVBMKcG8y8w6yV8I4D2PYXdwi4r7lLRnvqLGJc6PKhoN+VSfbOu1aFXbN3e3xa7ypDf780u5vpj/szfSpq7XkwDhMOHxJCKZn9KMir0lTBN1rzXz85NFqmgRwbacKwEOrYwrCw2caOhlpG+R0q869/fbDfckepn8eQMD8iWTZAxpQNOaEs9CPZRZ6BqOI9GcNAmAmJIRvysvBCOxKekdA8Wule6V1HcBJn2Sz2RGS5cZtr0tm0NshZ0B3yMJnmDBK/ShTkcZSTaqvNgop+CyaCYP4NBS1av6EiIvFhEartTR+RDM/HYFZDnJtgUIkhbrWIl9u3pvAtFHYBJNYX1PAxKH0UyIAskjJrY2Cxa2qh5pQhsn9TPgCSXZ0v41EXEnZXL+oUhLhZqiLbVUHVPQWwWBZmjNwVKmDhG5WvRmxa8Txueke3EVXhD0sEq6XDXva0opYhLi5cI/U9Xl+otFbSxQPHsyPrkE1ina3oUq+h7l1cnlAz/6WdA97k3pmX3ladzX1lc+JOxmKBuyxMZlrZLnL5ZHPyivQ84Ek2i/iLmtTEgFjoB3L5ZxGqfzp0BLJTlT5iIjfGs34ty8XzSsVdwo4Ut23DMTlsXt9bGaGU7yDJs3BZXwTZ1HZ01Ok0kdH0JlmymU7XmhNgBzt2d26bhiVtQaYhA+vC23YayKQmLagqJFowVFgH61ZXt60GbEpJMl71e2serGQgdqil5LIwmheCcaiMaOt27iBbgZRlN4s6RwDm4vOulUzFVs1vZLORDo2bN02G+jGFGZLMtaTslGnUWLc7Ps07bFyLvyTxUKu5BRbdxiVtITOs3fPiyP9faR8oz5QflWEFKR3mp/Kr0lQvF3/t3/+n+s/3v1dcqU7laVKEPH8wx3ym1T/37P3vU1mk=</latexit>

P = Px · Py

<latexit sha1_base64="NnDcTxvijbShEbZoOdSytYPMIMI=">AK43iclVZb+NEFPZeAou5beEFiRcvUaUWhcgzdpz4AaliC+KlJGjbnfjbDV2jhNrfQnj8bZwb+AN8Qj/D+DTN2bk6cqlhKdDJznfOd8bznbizMEiZrv/74OGjx40PnzykfrxJ59+9vnTgy8u0ySjHlx4SZjQK5ekEAYxXLCAhXA1o0AiN4SX7tvncv/lO6BpkMTnbD6DUQmceAHmFi6frg8d+H2kUKmp/ETEuD96BZpjZjqurEcOMlUTiMXfG4F8Smg/RiDsQpxmFiLApb6LcuU1nxIO86j+giSgeiHw8mU0j/MtrzPCaHC75fQGb7sJMC9de3CnYM0TPxDEYJwP8u2IH0XudABURuaVih2fEm8rc4m/ZrJD/Ydg8kvCioblQ7zdAueZE4LPjngT5w4NJlN2vKcrAud8CoyUfawCc6fckj3dDetHMNkTVm7tCZvWx8jKPRLyfr4IrEb2YzifBnRc1zqUc2Nvr84gOr9JTrfi5Hfqc7GZ0Hn+h8tV/Bpfpzv6ZWEmlKAe4MZd4A9F8Z5EMH+4pYe9y1vhXhHjXWYW1XWvOhXVbCdt10r3a658+w231de4fLq/kjzu5Fe3x/pfV6h58IkiDn8FhNKyfxbAV54at8vQq40xsnbPHrlSrSjDfcr5829bahI9tCmjBMhLqWMExsdLCtobZePM2Tr5TiGVwfNrOPGyCGLmhSRNh0ifsREnlAVeKMlKYji3pIJDIUZkwjSES/45NqhWBkLKaSlHBarmxGcRGk6j1zhWZzn9p5crNsbZszvjXgQzIGsVcm8rNQY4kmRVkbBxQ8Fs6FQTwaiFo1b0rEfWNCutVKGi+kqZeMwSj6u7FBIZT6XaHIV2e6sTaF8B0wGU1h86h9EgXhXGgFyUImTjz1l7aqHmpCMqfV8MVArMzEja0xZkWyfl3bQxRvhRJtCuSqnMK4rAoyBz9GVDCxNtVDJH+LOcDWjNdhOX7jVJh+uko3XuYSU2i4tXkS0fndaUtSlsNYWKaRrE9Oxipc3awsve9dXhVQIvyvAbwIeJG5Z25yWzJbrBXkxFWNxAZ3WBDPtYJkcrFK58WV6DvAYm1n8QV12YkBMZAO5LbGQ0T+Y+iLZIdq3K2iL8eG4LghpmYqnTi5lxvY9PSbaPbaYlba2G0tm1k6hbuiKtgGS3UsVuo260Do8lNvEIz7J65AMA2tq3ewjZ0U9oCTEM6bonVjl0DJqVqCVGoiVCGWvjltlrWZNbEJPFnz6nXEyko47gUgCZGC0qwVgQ0zstC9fAzSEMk5sVnK1jY8msV5Ip0cruFXAGamHdalGDdyEwnwFZpmrLlmou6S4MAueliVa3pMfVSjsUka1/cYlbiPRrV9x82RQSq3yRPla+UY5UpDSVU6Un5WBcqF4jUeN4wZuGCqof6h/qn+Vrg8fLGK+VCqP+s9/Mq7eiQ=</latexit><latexit sha1_base64="NnDcTxvijbShEbZoOdSytYPMIMI=">AK43iclVZb+NEFPZeAou5beEFiRcvUaUWhcgzdpz4AaliC+KlJGjbnfjbDV2jhNrfQnj8bZwb+AN8Qj/D+DTN2bk6cqlhKdDJznfOd8bznbizMEiZrv/74OGjx40PnzykfrxJ59+9vnTgy8u0ySjHlx4SZjQK5ekEAYxXLCAhXA1o0AiN4SX7tvncv/lO6BpkMTnbD6DUQmceAHmFi6frg8d+H2kUKmp/ETEuD96BZpjZjqurEcOMlUTiMXfG4F8Smg/RiDsQpxmFiLApb6LcuU1nxIO86j+giSgeiHw8mU0j/MtrzPCaHC75fQGb7sJMC9de3CnYM0TPxDEYJwP8u2IH0XudABURuaVih2fEm8rc4m/ZrJD/Ydg8kvCioblQ7zdAueZE4LPjngT5w4NJlN2vKcrAud8CoyUfawCc6fckj3dDetHMNkTVm7tCZvWx8jKPRLyfr4IrEb2YzifBnRc1zqUc2Nvr84gOr9JTrfi5Hfqc7GZ0Hn+h8tV/Bpfpzv6ZWEmlKAe4MZd4A9F8Z5EMH+4pYe9y1vhXhHjXWYW1XWvOhXVbCdt10r3a658+w231de4fLq/kjzu5Fe3x/pfV6h58IkiDn8FhNKyfxbAV54at8vQq40xsnbPHrlSrSjDfcr5829bahI9tCmjBMhLqWMExsdLCtobZePM2Tr5TiGVwfNrOPGyCGLmhSRNh0ifsREnlAVeKMlKYji3pIJDIUZkwjSES/45NqhWBkLKaSlHBarmxGcRGk6j1zhWZzn9p5crNsbZszvjXgQzIGsVcm8rNQY4kmRVkbBxQ8Fs6FQTwaiFo1b0rEfWNCutVKGi+kqZeMwSj6u7FBIZT6XaHIV2e6sTaF8B0wGU1h86h9EgXhXGgFyUImTjz1l7aqHmpCMqfV8MVArMzEja0xZkWyfl3bQxRvhRJtCuSqnMK4rAoyBz9GVDCxNtVDJH+LOcDWjNdhOX7jVJh+uko3XuYSU2i4tXkS0fndaUtSlsNYWKaRrE9Oxipc3awsve9dXhVQIvyvAbwIeJG5Z25yWzJbrBXkxFWNxAZ3WBDPtYJkcrFK58WV6DvAYm1n8QV12YkBMZAO5LbGQ0T+Y+iLZIdq3K2iL8eG4LghpmYqnTi5lxvY9PSbaPbaYlba2G0tm1k6hbuiKtgGS3UsVuo260Do8lNvEIz7J65AMA2tq3ewjZ0U9oCTEM6bonVjl0DJqVqCVGoiVCGWvjltlrWZNbEJPFnz6nXEyko47gUgCZGC0qwVgQ0zstC9fAzSEMk5sVnK1jY8msV5Ip0cruFXAGamHdalGDdyEwnwFZpmrLlmou6S4MAueliVa3pMfVSjsUka1/cYlbiPRrV9x82RQSq3yRPla+UY5UpDSVU6Un5WBcqF4jUeN4wZuGCqof6h/qn+Vrg8fLGK+VCqP+s9/Mq7eiQ=</latexit><latexit sha1_base64="NnDcTxvijbShEbZoOdSytYPMIMI=">AK43iclVZb+NEFPZeAou5beEFiRcvUaUWhcgzdpz4AaliC+KlJGjbnfjbDV2jhNrfQnj8bZwb+AN8Qj/D+DTN2bk6cqlhKdDJznfOd8bznbizMEiZrv/74OGjx40PnzykfrxJ59+9vnTgy8u0ySjHlx4SZjQK5ekEAYxXLCAhXA1o0AiN4SX7tvncv/lO6BpkMTnbD6DUQmceAHmFi6frg8d+H2kUKmp/ETEuD96BZpjZjqurEcOMlUTiMXfG4F8Smg/RiDsQpxmFiLApb6LcuU1nxIO86j+giSgeiHw8mU0j/MtrzPCaHC75fQGb7sJMC9de3CnYM0TPxDEYJwP8u2IH0XudABURuaVih2fEm8rc4m/ZrJD/Ydg8kvCioblQ7zdAueZE4LPjngT5w4NJlN2vKcrAud8CoyUfawCc6fckj3dDetHMNkTVm7tCZvWx8jKPRLyfr4IrEb2YzifBnRc1zqUc2Nvr84gOr9JTrfi5Hfqc7GZ0Hn+h8tV/Bpfpzv6ZWEmlKAe4MZd4A9F8Z5EMH+4pYe9y1vhXhHjXWYW1XWvOhXVbCdt10r3a658+w231de4fLq/kjzu5Fe3x/pfV6h58IkiDn8FhNKyfxbAV54at8vQq40xsnbPHrlSrSjDfcr5829bahI9tCmjBMhLqWMExsdLCtobZePM2Tr5TiGVwfNrOPGyCGLmhSRNh0ifsREnlAVeKMlKYji3pIJDIUZkwjSES/45NqhWBkLKaSlHBarmxGcRGk6j1zhWZzn9p5crNsbZszvjXgQzIGsVcm8rNQY4kmRVkbBxQ8Fs6FQTwaiFo1b0rEfWNCutVKGi+kqZeMwSj6u7FBIZT6XaHIV2e6sTaF8B0wGU1h86h9EgXhXGgFyUImTjz1l7aqHmpCMqfV8MVArMzEja0xZkWyfl3bQxRvhRJtCuSqnMK4rAoyBz9GVDCxNtVDJH+LOcDWjNdhOX7jVJh+uko3XuYSU2i4tXkS0fndaUtSlsNYWKaRrE9Oxipc3awsve9dXhVQIvyvAbwIeJG5Z25yWzJbrBXkxFWNxAZ3WBDPtYJkcrFK58WV6DvAYm1n8QV12YkBMZAO5LbGQ0T+Y+iLZIdq3K2iL8eG4LghpmYqnTi5lxvY9PSbaPbaYlba2G0tm1k6hbuiKtgGS3UsVuo260Do8lNvEIz7J65AMA2tq3ewjZ0U9oCTEM6bonVjl0DJqVqCVGoiVCGWvjltlrWZNbEJPFnz6nXEyko47gUgCZGC0qwVgQ0zstC9fAzSEMk5sVnK1jY8msV5Ip0cruFXAGamHdalGDdyEwnwFZpmrLlmou6S4MAueliVa3pMfVSjsUka1/cYlbiPRrV9x82RQSq3yRPla+UY5UpDSVU6Un5WBcqF4jUeN4wZuGCqof6h/qn+Vrg8fLGK+VCqP+s9/Mq7eiQ=</latexit><latexit sha1_base64="Yge7AkATwK/OXcdFHz+poaw2gtc=">AK43iclVZb+NEFPZeAou5beGRFy9VpRaFyDN2nPgBacUWxEtJ0LbdLnG2GjvHibW+hPF42+zgX8Ab4hF+GP+Gdu5OHGqYinRycw53znfGc934s7DIGW6/u+Dh48etz748MlH6sefPrZ508PvrhMk4x6cOElYUKvXJCGMRwQIWwtWcAoncEF65b1/I/VfvgKZBEp+zxRzGEZnGgR94hIml64PHfx9pFylofhIzLQ3eg2aZ2pypqhPDjZdEYkn3JmAf0loPkJj7kCcZhQiwmb8EOXObTonHuR1/yFNRAHRS4GXL6N5nG95nRFGg9stpzd4202AenagzsFa574gSAGk3yYb0f8IHKnQ6AyMq9V7PiUeFuZS/w1kx3q3wfTnxNWNCwf4e0WOM+cEHx2zA9x7tBgOmMne7oicM5nwEjZxzowd8ot2dPdsE0z1h5daesFlzjKzcIyEf5FVgPXIQw/ksoJOm1qGcG3t7dQbR+U1yuhUnv1Ofi82ELvI3/Hi5gk/zk3xPryTUjALcG8y4A+yFM6DCPYXt/S4b3krxDtqbMLcqrLhRb+qg+287Vrpds2dZ7f5vIKl9f3R1rcjfTr/ZHe5zV6LkyDmMNvMaGUL4R4IWn9l0VcqU53iRh1a/Xqkgz2XC/fnqodwd2RbShGEi1LOEYWKji20NdfTiOVSqZ3h90Oo4k8TLIoiZF5I0HSF9zsacUBZ4oSXpSCKe0umMBJmTCJIx7zgk2tHYmUipJCWclisbkZwEqXpInKFZ3Ge23tysWlvlDG/P+ZBPM8YxF6ZyM9CjSWaFGVtElDwWLgQBvFoIGrVvBkR940J6VZrabyQpl4yAaPo78YGhVDqd40iX53pxtoMwnfAZDSFzaP2SRSEC6EVJAuZOPHUX9qeqQJyZzVXw1XCMzOSNjQFmdWJOfdjBE+VIk0a5Iqs4piMOiIHM5kAJE29XMUQG85wPacN02U1cujckHa2Tjvd5xJSaru0eBHR/t1pS1GXwtpYoJhGsj45GetwTbOy9L53eXVAifC/BnAV8DJz9zktmRWrRXkxFWNxAZ3WBAvtIJkcrFK58WV2DgAYm1H8UV1+YkBMZAO5bGQ0T+Y+iI5KdqHK2iL8eG4LghpmYqnTq5lzvYNPSbaPXbYtba2G0tm1k6hbuiqtgGW3Utduo12sCo8lNvEIz7L5ZAWAb21a/sg3dlLYA05CO2K1azeASalaQpWRaIlQxtq4bfbltkQm1AST9e8+r01FxPpqCu4FEAmRlUlGAtierdt4Qa4BYRhcrOCs3VsLJn1SzIlWtm9As5AbaxbctogJtSWKzALHPVJQv1lhQrs+BpWaLlflRhcIuZVTb1ziDhLd+gUfPh9WvtE+Ur5WjlWkNJTnis/KUPlQvFaj1onLdwyVFD/UP9U/ypdHz6oYr5Uao/6z387EN4x</latexit>
slide-14
SLIDE 14

hpcgarage.org/pp20

13

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

√ P × √ P process grid

<latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="7HflRxMGCU/K4LYwc4ZbiRPiVdo=">AIpniclVXdj9tEHcDhWC+evDIy8LpqisykXfjOPFbRQHx0l5Qe9dKcXqsnUli1V/dXfcuGP97/A/8D7zCM7N2cvk4nwQrRZrMzvxmfrMz4yCPI6ls+897nfev/Bh92PzI8/+fSzx8cfXEhs0KEcB5mcSZeBVxCHKVwriIVw6tcAE+CGF4Gb57o+5fvQMgoS1+oVQ7ThC/SaB6FXKHq8qhzeULOJZB5lioio9+AuA7JlWn6KVyFWZLwdFb6M5hfcFN6LT0IZWFgISrZXlMK/9a5jyEat9+LDJMIHmOeNXGu0yrA6unXIno+sDoNTs0Q7BQbi38mnSZzSPkBbNqfGj/I0aWYxDar9rL158LHh7EbdC3PG4R/z5aPMtUXa5qwg4L4H/txzBXp+Uxq3wRLZbq0R01QZwXS1C8qeI+cOk3V7qit93OEljc4dZc3eG2bPfRmYc8Ls+qtaPpB7CI0hLeplwIvq2Mh8+JL58K9SmPsRXUQLyUJkE2XVJcvwHUpKFiGaYBmD8LdTlg2O717ep51KCgkPp0EXBYf0B8wjt2fU5NtZnfHl0v+fPsrBIFVhzKWcUDtX05ILFYWxrmohAev7hi9gmLKMbFpWXdFRU5QM8NuFk1H19pdj5InUq6SAC1HeThnVa23U0KNR9NyjNCwVp2ASaFzFRGdFzRWaRgFDFKxR4KCLMlYRLjv2mcPrMvTBhLGSYzaBft9vOhYBYj+AexfKmXZ0S4jfgdLeAnZfc6TKF7hg/MiVtjcr6RTfOEYN8v97skwC65NdU7DeIv6+Dldz0GSbXpdHq703/B8DHEqBjnOUguMIZrfAWV6VY9GyIG4Hbsxbgk62Qad3jNeTBlIPqJbK2sP63bf0ZOrpaE0QF4rOTy+3fbi2dY/+f09gE1wv/aoWuH50XwFKesYbW1eQuy2b8cDLTFalJ1q9ct7ysR+AsBJ6Sn3BRkpzHoBSQU31diDjTH4UeBntk6gWBX4+dtRrEBa5GsQiq0u4x7W9/nBg4dS6jG5ljzq2ywY4Cm7fogPosNhG5jIrtIbtL43ctYAzGOeO1rLfdvRMoIRajMLtQOvBUwv/A1U40k3CI2vxyxnZLlOi28meLrY8hoNt1wcatMBcqmBHEbXmTCGxOyB5bIWuBXEcXZ1A+fZrL9hNmrINGhN9Wq4PrWY7VpuvwVuIWB1A+Y6N1Vy6XBDcS3WPF0XSz7SPxM37GaNkruFC9ajWK1f2PHj8XrXdo2vjG+MU4MaQ+Ox8bMxNs6NsPNH56/O351/uqfdZ93z7svGtHNv7fOlsXe6v/4L1L5ZA=</latexit>

C B A

slide-15
SLIDE 15

hpcgarage.org/pp20

14

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

√ P × √ P process grid

<latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="7HflRxMGCU/K4LYwc4ZbiRPiVdo=">AIpniclVXdj9tEHcDhWC+evDIy8LpqisykXfjOPFbRQHx0l5Qe9dKcXqsnUli1V/dXfcuGP97/A/8D7zCM7N2cvk4nwQrRZrMzvxmfrMz4yCPI6ls+897nfev/Bh92PzI8/+fSzx8cfXEhs0KEcB5mcSZeBVxCHKVwriIVw6tcAE+CGF4Gb57o+5fvQMgoS1+oVQ7ThC/SaB6FXKHq8qhzeULOJZB5lioio9+AuA7JlWn6KVyFWZLwdFb6M5hfcFN6LT0IZWFgISrZXlMK/9a5jyEat9+LDJMIHmOeNXGu0yrA6unXIno+sDoNTs0Q7BQbi38mnSZzSPkBbNqfGj/I0aWYxDar9rL158LHh7EbdC3PG4R/z5aPMtUXa5qwg4L4H/txzBXp+Uxq3wRLZbq0R01QZwXS1C8qeI+cOk3V7qit93OEljc4dZc3eG2bPfRmYc8Ls+qtaPpB7CI0hLeplwIvq2Mh8+JL58K9SmPsRXUQLyUJkE2XVJcvwHUpKFiGaYBmD8LdTlg2O717ep51KCgkPp0EXBYf0B8wjt2fU5NtZnfHl0v+fPsrBIFVhzKWcUDtX05ILFYWxrmohAev7hi9gmLKMbFpWXdFRU5QM8NuFk1H19pdj5InUq6SAC1HeThnVa23U0KNR9NyjNCwVp2ASaFzFRGdFzRWaRgFDFKxR4KCLMlYRLjv2mcPrMvTBhLGSYzaBft9vOhYBYj+AexfKmXZ0S4jfgdLeAnZfc6TKF7hg/MiVtjcr6RTfOEYN8v97skwC65NdU7DeIv6+Dldz0GSbXpdHq703/B8DHEqBjnOUguMIZrfAWV6VY9GyIG4Hbsxbgk62Qad3jNeTBlIPqJbK2sP63bf0ZOrpaE0QF4rOTy+3fbi2dY/+f09gE1wv/aoWuH50XwFKesYbW1eQuy2b8cDLTFalJ1q9ct7ysR+AsBJ6Sn3BRkpzHoBSQU31diDjTH4UeBntk6gWBX4+dtRrEBa5GsQiq0u4x7W9/nBg4dS6jG5ljzq2ywY4Cm7fogPosNhG5jIrtIbtL43ctYAzGOeO1rLfdvRMoIRajMLtQOvBUwv/A1U40k3CI2vxyxnZLlOi28meLrY8hoNt1wcatMBcqmBHEbXmTCGxOyB5bIWuBXEcXZ1A+fZrL9hNmrINGhN9Wq4PrWY7VpuvwVuIWB1A+Y6N1Vy6XBDcS3WPF0XSz7SPxM37GaNkruFC9ajWK1f2PHj8XrXdo2vjG+MU4MaQ+Ox8bMxNs6NsPNH56/O351/uqfdZ93z7svGtHNv7fOlsXe6v/4L1L5ZA=</latexit>

Attained by Cannon’s algorithm (1969), for instance C B A Θ ✓N 2 P ◆ elems per proc = ⇒ Ω ✓√ P + N 2 √ P ◆ comm time

<latexit sha1_base64="gOg4wqzl8XMgf0O8jQ8qkNwe14=">AJFXiclVbj9tEFHY3FIK5deGRl4Foqy2YyDN2nPitoB4aRPU7rZSHFZj5ySx6ltnxt0Nxr+DX8Mb4hGe+TfM2M51vRKMZOnozPm+c5lzjv0sCrkwzX/unXTeuf/ue939Q8+/OjTx6cfnrJ05wFcBGkUcpe+ZRDFCZwIUIRwauMAY39CF76r5+o+5dvgfEwTV6IdQazmC6TcBEGVEjV1enJX2fogNapIlAPwFkGOjTOi6l8B1kMYxTeaFN4fFJWXlFM8KDxKeM4ipWBU9XHo3PKMBlIf2E5bKAOLnkq/coItn5ZHVUypYeHNotA/9mRwj5GXA94yr/It0EcoUYV5Oju2/l0x8AkzhyoPQvQWjwVEINfsupVs1+DZcPktFVblySo5r4X3hRbAQ50WPlB4Llyvx6I7ySJ4XKxC0LughceHV6q4t2HjGJZ3wOqrO2CrdoyKPKBRMS4boO75sAyTAt4klDG6/qrUEXqItuch2gZ/VF3kxX56UyBQSpQBQ5lSe15F4IWx7GbgDUEVa+HxN0xsyo6+Rm1vsm9Sbp2o3JAIY1VYkDnuwr160DP7loldByMp2BgPHSnYxBoQF+G+WZ2e1pzJ1en9vjdPgzyGRAQR5XyKzUzMCspEGETKQc5BvuFruoSpFBMaA58VeV6Exq5nJ4WD1AlXYfUdCY83XsS0tVa358p5Rtd9NcLEazIkyXEAS1I4WeYREitQYo3nIBDRWgo0YKGMFQUrKusn5LDrB26CiPEgnYNVtfTeBYNITfxBisW2Yfd0K4jeglBoBvudtaBxGK1lU9E8EuqxFhtZ18+QfMfVYSf68uVvLZG9JvRWlfPimz6BuNxME749Tbr3HcjHYqB8jGWzUZE2u2OclcWEteyj245r8xan053T2R0j/KSmVEtASUWFMH71DX9agJbA5RLS8WndukhXdt2ra3/c3iHhIrhf63sBvA895/KEasza3RVcldFPXueCJM1qpKsXrlqeV6NwDgAmqAf5DJGY1ACEDn6jpnUar+QX3p7JGulpD8We2tbj/K5aizpV8WZp/Yjulaw4Ehp9YheCe72DYdMpCj4FgGHrgGHg7byFh6nWzZLHdkNwTEJa4zamTLtJUsyRA2iSG1A7eFTP1UNlQ1Em8YaqxLDHtkOHYLNmU0We7yGg13udjYxAOZS0VkE9xEQohMzBwYDmhW0MUpdbOtck1iazUZ1MzVZXr6KzsEFMx3CsFrolg/WzLG3VXLwcJNiI1Z5Oo4s+Uh9utywmzWK7hYuSR9bfIT6T2eNLu2q32ufamda1gbao+1H7WJdqEFnUFn2pl3oPtb9/fuH90/a9OTew3mM+3gdP/+F7FpH5I=</latexit>
slide-16
SLIDE 16

hpcgarage.org/pp20

15

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

A C B √ P × √ P process grid

<latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="Yzl4WXUEXifeZkbR4+OjUONuaw=">AIpniclVLj+NEPYGFoJ57cAFiUtDNKtZCK34zjxbcQC4rI7Qbszs1IcQtupJNb6td3tnQnGf4/wH/gCmeq7bzHI0FLkSrV/V1V9rMoFNI0/3zQeufdh+93/5A/Cjz/59NHJZ1cizXkAl0EapfyVzwREYQKXMpQRvMo4sNiP4Np/VTdX78FLsI0eSlXGUxitkjCeRgwiarpSWt6Si4FkHmaSCLC34A4NsmkrnsJ3ARpHLNkVngzmF8xXo7pPAgETmHmMl0aGldysyFkB5aD/iKSYQv0C8cuNdJOWR1TMmeXh7ZPSLdWyGYIHYWXgV6SKdh8gLZuXo2P4HjCxGwJVfeZCvN+csOIpbo+943CH+Xbh4nsqXOXYOi6A95UXwVyeFR2r9Hi4WMon9QEcV4uQbK6iofAhVdfqYredbuIYXGPW31j9uy2UdlHrCouCjXjrnwyJMCniTM7Z6ptSf/yYeOINl5v6E+GMYhjZeyntwXJ8B8IQRY8nGEagPF3UNHbPbM6nrUIKCTenAQcG2en3LJbRrVqdz/oVWndH05GHXm6VBHkMig4gJMaZmJicF4zIMIlXVXADW9zVbwBjFhGFik6LqipKcomaG3czrjq60+x4Fi4VYxT5aqjqI4zulbLob53I+nBRhkuUSkqAONM8jIlOi5orMQg6BjFYosICHmCsJlgz7TeL06QdhgoiLIJ1Br2q3vQsOkRrBA4rFtpn2dEuI3oJU3hz2X3O4jBa4YOzPJLY3GK+kX9lGDfLw+7xMcuTPVew3iLavgxbdC+Jy0+n0bqfr3veAj8VBxbjIgDOJM1rtgYusLEa8YUHcDVybNwQd74JO7hmvpzWkGlAlFZWH8btnqMlU09GYIC4UlZ9abodwTeutv7P6R0CKoT/tUPXDi9y/xlOWc1sravITYt6/HAykxWpSFavXLW8qEbgIgCWkB9xUZKMRSAlkDN1nfMoVR+FLgZ7oqsFgV+PvbXqRzmuRr7wy8LsWrZjur1B38CpdSy6k1qm47Vx1FwegbtuwYdDJrAeHqTbNF67tBeA1iu5TrDtdwzbSUjGKGmZaC27zaAqYW/gao96Qah9nUtwx4ajt3gm3KWLHa8hoMdF5uatI9cKiDboutMLAuJmX3DsRrgVhBF6c0WzjWt3obZsCZTo9XVq+B61LBMx3B6DXALDqstmGNvq+TQwYbiWqx4Og6WfKh+Om7YzRol9wtXVpditX62OuejetVqbe1L7WvtTKPaQDvXftJG2qUWtP5o/dX6u/VP+6z9vH3Zvq5NWw/WPp9rB6f967/MUPm8</latexit><latexit sha1_base64="7HflRxMGCU/K4LYwc4ZbiRPiVdo=">AIpniclVXdj9tEHcDhWC+evDIy8LpqisykXfjOPFbRQHx0l5Qe9dKcXqsnUli1V/dXfcuGP97/A/8D7zCM7N2cvk4nwQrRZrMzvxmfrMz4yCPI6ls+897nfev/Bh92PzI8/+fSzx8cfXEhs0KEcB5mcSZeBVxCHKVwriIVw6tcAE+CGF4Gb57o+5fvQMgoS1+oVQ7ThC/SaB6FXKHq8qhzeULOJZB5lioio9+AuA7JlWn6KVyFWZLwdFb6M5hfcFN6LT0IZWFgISrZXlMK/9a5jyEat9+LDJMIHmOeNXGu0yrA6unXIno+sDoNTs0Q7BQbi38mnSZzSPkBbNqfGj/I0aWYxDar9rL158LHh7EbdC3PG4R/z5aPMtUXa5qwg4L4H/txzBXp+Uxq3wRLZbq0R01QZwXS1C8qeI+cOk3V7qit93OEljc4dZc3eG2bPfRmYc8Ls+qtaPpB7CI0hLeplwIvq2Mh8+JL58K9SmPsRXUQLyUJkE2XVJcvwHUpKFiGaYBmD8LdTlg2O717ep51KCgkPp0EXBYf0B8wjt2fU5NtZnfHl0v+fPsrBIFVhzKWcUDtX05ILFYWxrmohAev7hi9gmLKMbFpWXdFRU5QM8NuFk1H19pdj5InUq6SAC1HeThnVa23U0KNR9NyjNCwVp2ASaFzFRGdFzRWaRgFDFKxR4KCLMlYRLjv2mcPrMvTBhLGSYzaBft9vOhYBYj+AexfKmXZ0S4jfgdLeAnZfc6TKF7hg/MiVtjcr6RTfOEYN8v97skwC65NdU7DeIv6+Dldz0GSbXpdHq703/B8DHEqBjnOUguMIZrfAWV6VY9GyIG4Hbsxbgk62Qad3jNeTBlIPqJbK2sP63bf0ZOrpaE0QF4rOTy+3fbi2dY/+f09gE1wv/aoWuH50XwFKesYbW1eQuy2b8cDLTFalJ1q9ct7ysR+AsBJ6Sn3BRkpzHoBSQU31diDjTH4UeBntk6gWBX4+dtRrEBa5GsQiq0u4x7W9/nBg4dS6jG5ljzq2ywY4Cm7fogPosNhG5jIrtIbtL43ctYAzGOeO1rLfdvRMoIRajMLtQOvBUwv/A1U40k3CI2vxyxnZLlOi28meLrY8hoNt1wcatMBcqmBHEbXmTCGxOyB5bIWuBXEcXZ1A+fZrL9hNmrINGhN9Wq4PrWY7VpuvwVuIWB1A+Y6N1Vy6XBDcS3WPF0XSz7SPxM37GaNkruFC9ajWK1f2PHj8XrXdo2vjG+MU4MaQ+Ox8bMxNs6NsPNH56/O351/uqfdZ93z7svGtHNv7fOlsXe6v/4L1L5ZA=</latexit>

Θ ✓N 2 P ◆ elems per proc = ⇒ Ω ✓√ P + N 2 √ P ◆ comm time

<latexit sha1_base64="gOg4wqzl8XMgf0O8jQ8qkNwe14=">AJFXiclVbj9tEFHY3FIK5deGRl4Foqy2YyDN2nPitoB4aRPU7rZSHFZj5ySx6ltnxt0Nxr+DX8Mb4hGe+TfM2M51vRKMZOnozPm+c5lzjv0sCrkwzX/unXTeuf/ue939Q8+/OjTx6cfnrJ05wFcBGkUcpe+ZRDFCZwIUIRwauMAY39CF76r5+o+5dvgfEwTV6IdQazmC6TcBEGVEjV1enJX2fogNapIlAPwFkGOjTOi6l8B1kMYxTeaFN4fFJWXlFM8KDxKeM4ipWBU9XHo3PKMBlIf2E5bKAOLnkq/coItn5ZHVUypYeHNotA/9mRwj5GXA94yr/It0EcoUYV5Oju2/l0x8AkzhyoPQvQWjwVEINfsupVs1+DZcPktFVblySo5r4X3hRbAQ50WPlB4Llyvx6I7ySJ4XKxC0LughceHV6q4t2HjGJZ3wOqrO2CrdoyKPKBRMS4boO75sAyTAt4klDG6/qrUEXqItuch2gZ/VF3kxX56UyBQSpQBQ5lSe15F4IWx7GbgDUEVa+HxN0xsyo6+Rm1vsm9Sbp2o3JAIY1VYkDnuwr160DP7loldByMp2BgPHSnYxBoQF+G+WZ2e1pzJ1en9vjdPgzyGRAQR5XyKzUzMCspEGETKQc5BvuFruoSpFBMaA58VeV6Exq5nJ4WD1AlXYfUdCY83XsS0tVa358p5Rtd9NcLEazIkyXEAS1I4WeYREitQYo3nIBDRWgo0YKGMFQUrKusn5LDrB26CiPEgnYNVtfTeBYNITfxBisW2Yfd0K4jeglBoBvudtaBxGK1lU9E8EuqxFhtZ18+QfMfVYSf68uVvLZG9JvRWlfPimz6BuNxME749Tbr3HcjHYqB8jGWzUZE2u2OclcWEteyj245r8xan053T2R0j/KSmVEtASUWFMH71DX9agJbA5RLS8WndukhXdt2ra3/c3iHhIrhf63sBvA895/KEasza3RVcldFPXueCJM1qpKsXrlqeV6NwDgAmqAf5DJGY1ACEDn6jpnUar+QX3p7JGulpD8We2tbj/K5aizpV8WZp/Yjulaw4Ehp9YheCe72DYdMpCj4FgGHrgGHg7byFh6nWzZLHdkNwTEJa4zamTLtJUsyRA2iSG1A7eFTP1UNlQ1Em8YaqxLDHtkOHYLNmU0We7yGg13udjYxAOZS0VkE9xEQohMzBwYDmhW0MUpdbOtck1iazUZ1MzVZXr6KzsEFMx3CsFrolg/WzLG3VXLwcJNiI1Z5Oo4s+Uh9utywmzWK7hYuSR9bfIT6T2eNLu2q32ufamda1gbao+1H7WJdqEFnUFn2pl3oPtb9/fuH90/a9OTew3mM+3gdP/+F7FpH5I=</latexit>
slide-17
SLIDE 17

hpcgarage.org/pp20

16

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

Px

<latexit sha1_base64="WG6DdXhEk7L/X3JoACMUjTvSY=">AKzHiclVbtGEGVSu03ZW5y+FEgfmBoG7IVuCRFiW9G4xZ9caQituNWVIwlNZSI8KIul7GV7T62/9h/6Ed0l9SNEmW4BGwMZmfOzJndPSt/Gkc5NYx/Hj3+aG/40+efKp+9vkX3719ODZVZ4VJIDLIszcu3jHOIohUsa0RiupwRw4sfwxn/3Uq6/eQ8kj7L0gs6mMEzwOI3CKMBUuG4O9v460i5z0MIspVoefQDNsbUpVUvhdsgSxKcjpg3gvAKEz5AQ+ZBmhcEkwn7Bx7y6f4gB4Pb5PMtFA8lrg8U2S/lG1DmJLrbCHprboYJsCBfRTCvZM2yMBLEYMT7fDPjJ1E7wORmbzWsRcSHGxUrvBXTLao/xiNX2W0HBgfmJsj8F54MYT0mB2a3CPReEJPdkxF4FxMgOJqjnVg5lVLcqbab0ExjvSqUdaZPmHNl5gGPW4/PEemYvhYtJREZNo0OcWTtndQ7JxW12tpEn/+chE4sZmfG37HjhMc/4Cd8xKwk1IQAPBrPuAXspjIsogd3NLSIe2t4S8Z4emzA3umw46Nd1sK3TrlVhN8x7cd3tVeG/PZwpNn9SL8/HOkDr9HzYRylDP5IMSF49r0Ar0iqAm+05r95emi0LAO5DtKEYSPUcYRhm1bdDXUMsrv8PQbpfz6Nwf7LW+UBUCKQ1inOcDZEzpkGFCoyCWLIocRBfv8BgGwkxAvmQlY1z7Uh4RkLzSKV7pXc9g+Ekz2eJLyLjdtck86mtUFBw+6QRem0oJAGVaGwiDWaVJ9tVFEIKDxTBg4IJHoVQsmWFwsKjRarZUJYpIH2QiscpBrCwRiKdQ1imy5eWu+CcTvgcpsAut7GuIkimdCFHARU7G1ebiwVfVIE9o4qZ8BXyjJlvaviYg3KYuzH1omJHyhmhbDVXvDMRmEZA1elMgmIpjVL4WvSlnfdLwjGwXrsIbig5WRYe7m0FKUVcWqzM0P/0dKneUkEbGxTPjuxPoF1uKZHsYp+cHt1QInwv17aecLrwj/3s7uK2dxXkhN3MhELzKNROtNKkuUul0c+L69ALwCcaj+Lu6xNcQyUgnYslwsSZ/KnQ0sUO1HlIyJ+Y6zdfD8uxPNJxj5nRsu0HcO1Om1d3FrHRCvbRbhmG1xFRxLR21XR51OExjJbtMlmuV27TmA6Zqu053blmFLW4BpyDB14W27DWBSkxZQVSZaIFS5rqnbXd2xG3IzgtPxile3s+JiIwO1BZcSyDbRvBPTFMSMtu6YDXAziOPsdgnGqa1YNatyFRo1fRKOAvpuHojtUANyYwW4I59nJKDuosKM7NkqfjiJF35Z8qFHYho9pu48psITGtX83D034ltcoT5bnynXKsIKWjnCq/KH3lUgn2/t1/tv98/1v1lUpVpvIq9PGjec7XSu1T/4PbYHWwA=</latexit><latexit sha1_base64="WG6DdXhEk7L/X3JoACMUjTvSY=">AKzHiclVbtGEGVSu03ZW5y+FEgfmBoG7IVuCRFiW9G4xZ9caQituNWVIwlNZSI8KIul7GV7T62/9h/6Ed0l9SNEmW4BGwMZmfOzJndPSt/Gkc5NYx/Hj3+aG/40+efKp+9vkX3719ODZVZ4VJIDLIszcu3jHOIohUsa0RiupwRw4sfwxn/3Uq6/eQ8kj7L0gs6mMEzwOI3CKMBUuG4O9v460i5z0MIspVoefQDNsbUpVUvhdsgSxKcjpg3gvAKEz5AQ+ZBmhcEkwn7Bx7y6f4gB4Pb5PMtFA8lrg8U2S/lG1DmJLrbCHprboYJsCBfRTCvZM2yMBLEYMT7fDPjJ1E7wORmbzWsRcSHGxUrvBXTLao/xiNX2W0HBgfmJsj8F54MYT0mB2a3CPReEJPdkxF4FxMgOJqjnVg5lVLcqbab0ExjvSqUdaZPmHNl5gGPW4/PEemYvhYtJREZNo0OcWTtndQ7JxW12tpEn/+chE4sZmfG37HjhMc/4Cd8xKwk1IQAPBrPuAXspjIsogd3NLSIe2t4S8Z4emzA3umw46Nd1sK3TrlVhN8x7cd3tVeG/PZwpNn9SL8/HOkDr9HzYRylDP5IMSF49r0Ar0iqAm+05r95emi0LAO5DtKEYSPUcYRhm1bdDXUMsrv8PQbpfz6Nwf7LW+UBUCKQ1inOcDZEzpkGFCoyCWLIocRBfv8BgGwkxAvmQlY1z7Uh4RkLzSKV7pXc9g+Ekz2eJLyLjdtck86mtUFBw+6QRem0oJAGVaGwiDWaVJ9tVFEIKDxTBg4IJHoVQsmWFwsKjRarZUJYpIH2QiscpBrCwRiKdQ1imy5eWu+CcTvgcpsAut7GuIkimdCFHARU7G1ebiwVfVIE9o4qZ8BXyjJlvaviYg3KYuzH1omJHyhmhbDVXvDMRmEZA1elMgmIpjVL4WvSlnfdLwjGwXrsIbig5WRYe7m0FKUVcWqzM0P/0dKneUkEbGxTPjuxPoF1uKZHsYp+cHt1QInwv17aecLrwj/3s7uK2dxXkhN3MhELzKNROtNKkuUul0c+L69ALwCcaj+Lu6xNcQyUgnYslwsSZ/KnQ0sUO1HlIyJ+Y6zdfD8uxPNJxj5nRsu0HcO1Om1d3FrHRCvbRbhmG1xFRxLR21XR51OExjJbtMlmuV27TmA6Zqu053blmFLW4BpyDB14W27DWBSkxZQVSZaIFS5rqnbXd2xG3IzgtPxile3s+JiIwO1BZcSyDbRvBPTFMSMtu6YDXAziOPsdgnGqa1YNatyFRo1fRKOAvpuHojtUANyYwW4I59nJKDuosKM7NkqfjiJF35Z8qFHYho9pu48psITGtX83D034ltcoT5bnynXKsIKWjnCq/KH3lUgn2/t1/tv98/1v1lUpVpvIq9PGjec7XSu1T/4PbYHWwA=</latexit><latexit sha1_base64="WG6DdXhEk7L/X3JoACMUjTvSY=">AKzHiclVbtGEGVSu03ZW5y+FEgfmBoG7IVuCRFiW9G4xZ9caQituNWVIwlNZSI8KIul7GV7T62/9h/6Ed0l9SNEmW4BGwMZmfOzJndPSt/Gkc5NYx/Hj3+aG/40+efKp+9vkX3719ODZVZ4VJIDLIszcu3jHOIohUsa0RiupwRw4sfwxn/3Uq6/eQ8kj7L0gs6mMEzwOI3CKMBUuG4O9v460i5z0MIspVoefQDNsbUpVUvhdsgSxKcjpg3gvAKEz5AQ+ZBmhcEkwn7Bx7y6f4gB4Pb5PMtFA8lrg8U2S/lG1DmJLrbCHprboYJsCBfRTCvZM2yMBLEYMT7fDPjJ1E7wORmbzWsRcSHGxUrvBXTLao/xiNX2W0HBgfmJsj8F54MYT0mB2a3CPReEJPdkxF4FxMgOJqjnVg5lVLcqbab0ExjvSqUdaZPmHNl5gGPW4/PEemYvhYtJREZNo0OcWTtndQ7JxW12tpEn/+chE4sZmfG37HjhMc/4Cd8xKwk1IQAPBrPuAXspjIsogd3NLSIe2t4S8Z4emzA3umw46Nd1sK3TrlVhN8x7cd3tVeG/PZwpNn9SL8/HOkDr9HzYRylDP5IMSF49r0Ar0iqAm+05r95emi0LAO5DtKEYSPUcYRhm1bdDXUMsrv8PQbpfz6Nwf7LW+UBUCKQ1inOcDZEzpkGFCoyCWLIocRBfv8BgGwkxAvmQlY1z7Uh4RkLzSKV7pXc9g+Ekz2eJLyLjdtck86mtUFBw+6QRem0oJAGVaGwiDWaVJ9tVFEIKDxTBg4IJHoVQsmWFwsKjRarZUJYpIH2QiscpBrCwRiKdQ1imy5eWu+CcTvgcpsAut7GuIkimdCFHARU7G1ebiwVfVIE9o4qZ8BXyjJlvaviYg3KYuzH1omJHyhmhbDVXvDMRmEZA1elMgmIpjVL4WvSlnfdLwjGwXrsIbig5WRYe7m0FKUVcWqzM0P/0dKneUkEbGxTPjuxPoF1uKZHsYp+cHt1QInwv17aecLrwj/3s7uK2dxXkhN3MhELzKNROtNKkuUul0c+L69ALwCcaj+Lu6xNcQyUgnYslwsSZ/KnQ0sUO1HlIyJ+Y6zdfD8uxPNJxj5nRsu0HcO1Om1d3FrHRCvbRbhmG1xFRxLR21XR51OExjJbtMlmuV27TmA6Zqu053blmFLW4BpyDB14W27DWBSkxZQVSZaIFS5rqnbXd2xG3IzgtPxile3s+JiIwO1BZcSyDbRvBPTFMSMtu6YDXAziOPsdgnGqa1YNatyFRo1fRKOAvpuHojtUANyYwW4I59nJKDuosKM7NkqfjiJF35Z8qFHYho9pu48psITGtX83D034ltcoT5bnynXKsIKWjnCq/KH3lUgn2/t1/tv98/1v1lUpVpvIq9PGjec7XSu1T/4PbYHWwA=</latexit><latexit sha1_base64="67koZSjCEUPgzwv0Sce0U10tIw=">AKzHiclVbtGEGVSu03YW5w+pg9MDQN2wQjcJUWJb0HjFn1xpCK241ZUjCU1lIjwoiyXsZUtH9t/7D/0I7pL6kaJMlwCNgazM2fmzO6elTeNwowZxj8PHn62t/5F48eq19+9fU3z45eHqZpTn14cJPo5ReSDKEzgoUsgqspBRJ7Ebz13r+S628/As3CNDlnsykMYzJOwiD0CROu64O9v460iwy0IE2YloWfQLMtbcpU1U3gxk/jmCQj7o4guCS0GKAhdyHJcgoxYRN+iAr3NpsSH4p6fJ+moH4jcArFtk8KTaizgij4e1G0Du8GSbA/GwVwd2SNU+DUBCDUdEvNjN+FrWzPlCZWdQ6dgNK/I3KFf6KyRb1n8Lx65SVAysGeHME7nM3goAd80NcuDQcT9jJjqkInPMJMFLNsQ7M3WpJznQ7rRfDeEdatbQjbdKcIzv3ScR7xTyxntlL4HwS0lHT6FDBzZ2zOoP4/CY93ciT/7OAi8WUzop3/HjhwafFSbFjVhJqQgHuDWbeAfZKGOdhDLubW0Tct70l4h09NmFudNlw0K/qYFunXavCrn7/LbY1V4Z8v9kWZ3I/1xf6RPRY2eB+Mw4fAhIZS2Y8CvCKpCrzRmv/6yaHRMg3k2EgThoVQxaGhc02djTUMsrvUJl/euD/ZY7Sv08hoT5EcmyATKmbMgJZaEfSRZ5BqKL92QMA2EmJIZsyMvGC+1IeEZC82ile6V3PYOTOMtmsSciy43bXJPOprVBzoLukIfJNGeQ+FWhI80lmpSfbVRSMFn0UwYxKeh6FXzJ0RcLCY0Wq2V8SOa+ekIzHKQawsUIinUNYp8uXlrvglEH4HJbArexqQOIxmQhRIHjGxtVmwsFX1SBPaOKmfAU8oyZb2r4mIOymL8xctDHGxUEO0rYaqewpisyjIGr0pUMLEMSpfi9604H3a8IxsF67CG4oOVkWHu+5tBSlFXFq8zND/dHWp3lJBGxsUz47sTz6BdbimR7GKvnd7dUCJ8L9e2nCm9w789LbitncV5ITdzIWC9xlYTLTSpLlLpdHPiuvQM8Hkmi/iLusTUkEjIF2LJdzGqXyp0NLFDtR5SMifmOs3XwvysXzScdewY0WtmzDMTtXdxaG6OV7SDLsHFbXAXb1FHb0VGn0wRG05tkiWY6XWsOgB3s2N25bRqWtAWYhgysC2/baQCTmrSAqjLRAqHKdbBudXbashNKUnGK17dzoqLhQzUFlxKIAujeScYC2JGW7dxA9wMoi9WcI5BjYXzLoVmQqtml4JZyIdG7Zumw1wYwqzJZhtLadko86C4twsedq2GHlX/qlCYRcyqu02LnELiWn9hg9f9uda+0h5pvygHCtI6SgvlV+VvnKh+Hv/7j/df7b/vfpaZSpXiyr04YN5zndK7VP/g9149Zo</latexit>

Py

<latexit sha1_base64="TI6uYuDHtUQuBZbgEpXBGrRTc=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KqNFXwjdb8N08PjZlINdBmjBshDqOMGzTapuhlpG+R2efqOUX/mYL/ljbKgSClQYzfICMKR0yTGgUxLKLIgdRxTs8hoEwU5xAPmRl4Vw7Ep6R0DxS6V7pXUcwnOT5LPFZLlxm2vS2bQ2KGjYHbIonRYU0qBKFBaxRjNq82igENJ4JAwckErVqwQSLi0WFRqu1NEFM8iAbgVUOcm2BQCyFutYiW27em8C8XugEk1gfU9DnETxTIgCLmIqtjYPF7aqHmlCGyf1M+ALJdnS/jUR8SZlcvZDy4SEL9Qbauh6p2B2CwCMkdvCgRTcYzK16I35axPGp6R7cRVeEPSwSrpcNe9rSiliEuLlQj9T0+X6i0VtLFA8ezI+uQTWKdrehSr6AeXVyeUDP/rpZ0DXhf+uZ/dVZ3NfWVz4k4mYoF5NEpnWtlkucvlkc/LK9ALAKfaz+Iua1McA6WgHcvlgsSZ/OnQEslOVPmIiN8YazfjwvxfJKxz5nRMm3HcK1OWxe31jHRynaRbThmW1wFx9JR29VRp9NERrLbdMlmuV17TmC6put057Zl2NIWZBoyTF1424DmdSkBVWFRAuGCuaut3VHbsBmxGcjld9dTurXmxkoLbopSyTSvxDRFY0Zbd8wGuhnEcXa7pHMN01p01q2aqdiq6ZV0FtJNw9Edq4FuTGC2JHPs5ZQc1Fm0ODfLPh1HjLwr/1ShsAsZ1XYbV2YLiWn9ah6e9iupVZ4oz5XvlGMFKR3lVPlF6SuXSrD37/6z/ef736qvVKoylVehjx/NMV8rtU/9+z9zctbB</latexit><latexit sha1_base64="TI6uYuDHtUQuBZbgEpXBGrRTc=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KqNFXwjdb8N08PjZlINdBmjBshDqOMGzTapuhlpG+R2efqOUX/mYL/ljbKgSClQYzfICMKR0yTGgUxLKLIgdRxTs8hoEwU5xAPmRl4Vw7Ep6R0DxS6V7pXUcwnOT5LPFZLlxm2vS2bQ2KGjYHbIonRYU0qBKFBaxRjNq82igENJ4JAwckErVqwQSLi0WFRqu1NEFM8iAbgVUOcm2BQCyFutYiW27em8C8XugEk1gfU9DnETxTIgCLmIqtjYPF7aqHmlCGyf1M+ALJdnS/jUR8SZlcvZDy4SEL9Qbauh6p2B2CwCMkdvCgRTcYzK16I35axPGp6R7cRVeEPSwSrpcNe9rSiliEuLlQj9T0+X6i0VtLFA8ezI+uQTWKdrehSr6AeXVyeUDP/rpZ0DXhf+uZ/dVZ3NfWVz4k4mYoF5NEpnWtlkucvlkc/LK9ALAKfaz+Iua1McA6WgHcvlgsSZ/OnQEslOVPmIiN8YazfjwvxfJKxz5nRMm3HcK1OWxe31jHRynaRbThmW1wFx9JR29VRp9NERrLbdMlmuV17TmC6put057Zl2NIWZBoyTF1424DmdSkBVWFRAuGCuaut3VHbsBmxGcjld9dTurXmxkoLbopSyTSvxDRFY0Zbd8wGuhnEcXa7pHMN01p01q2aqdiq6ZV0FtJNw9Edq4FuTGC2JHPs5ZQc1Fm0ODfLPh1HjLwr/1ShsAsZ1XYbV2YLiWn9ah6e9iupVZ4oz5XvlGMFKR3lVPlF6SuXSrD37/6z/ef736qvVKoylVehjx/NMV8rtU/9+z9zctbB</latexit><latexit sha1_base64="TI6uYuDHtUQuBZbgEpXBGrRTc=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KqNFXwjdb8N08PjZlINdBmjBshDqOMGzTapuhlpG+R2efqOUX/mYL/ljbKgSClQYzfICMKR0yTGgUxLKLIgdRxTs8hoEwU5xAPmRl4Vw7Ep6R0DxS6V7pXUcwnOT5LPFZLlxm2vS2bQ2KGjYHbIonRYU0qBKFBaxRjNq82igENJ4JAwckErVqwQSLi0WFRqu1NEFM8iAbgVUOcm2BQCyFutYiW27em8C8XugEk1gfU9DnETxTIgCLmIqtjYPF7aqHmlCGyf1M+ALJdnS/jUR8SZlcvZDy4SEL9Qbauh6p2B2CwCMkdvCgRTcYzK16I35axPGp6R7cRVeEPSwSrpcNe9rSiliEuLlQj9T0+X6i0VtLFA8ezI+uQTWKdrehSr6AeXVyeUDP/rpZ0DXhf+uZ/dVZ3NfWVz4k4mYoF5NEpnWtlkucvlkc/LK9ALAKfaz+Iua1McA6WgHcvlgsSZ/OnQEslOVPmIiN8YazfjwvxfJKxz5nRMm3HcK1OWxe31jHRynaRbThmW1wFx9JR29VRp9NERrLbdMlmuV17TmC6put057Zl2NIWZBoyTF1424DmdSkBVWFRAuGCuaut3VHbsBmxGcjld9dTurXmxkoLbopSyTSvxDRFY0Zbd8wGuhnEcXa7pHMN01p01q2aqdiq6ZV0FtJNw9Edq4FuTGC2JHPs5ZQc1Fm0ODfLPh1HjLwr/1ShsAsZ1XYbV2YLiWn9ah6e9iupVZ4oz5XvlGMFKR3lVPlF6SuXSrD37/6z/ef736qvVKoylVehjx/NMV8rtU/9+z9zctbB</latexit><latexit sha1_base64="eWRVzGyNH4pGjk/J5/uy4TlOZu8=">AKzHiclVZb9s2Fa7ZGu1W9M9dg/qgDJoBoiJcvW7Fmw15Se2iSZrPcgJKPbKG6uBTVxOX0uP3H/Yf9iJGSb7LlIBOQ4ODwfN+5kPxobxqFGTOMfx48/Gxv/MvHj1Wv/zq62+fXLw9DJLc+rDhZ9GKb3ySAZRmMAFC1kEV1MKJPYieOu9fyX34EmoVpcs5mUxjGZJyEQegTJlzXB3t/HWkXGWhBmjAtCz+BZlvalKmqm8CNn8YxSUbcHUFwSWgxQEPuQpLlFGLCJvwQFe5tNiU+FPX4Pk1FAfEbwVcs0DwpNqLOCKPh7UbQO7wZJsj8bBXB3bJrngahaAxGRb/YRPwscmd9oBJZ1Cp2A0r8jcwV/6qTrdZ/CsevU1YOrBjgzRG4z90IAnbMD3Hh0nA8YSc7piJ4zifASDXHOjF3qyU5021YL4bxDli1tAM2acbIyn0S8V4xB9aRvQTOJyEdNY0OFdzcOasziM9v0tMNnPyfBVwspnRWvOPHCw8+LU6KHbOSVBMKcG8y8w6yV8I4D2PYXdwi4r7lLRnvqLGJc6PKhoN+VSfbOu1aFXbN3e3xa7ypDf780u5vpj/szfSpq7XkwDhMOHxJCKZn9KMir0lTBN1rzXz85NFqmgRwbacKwEOrYwrCw2caOhlpG+R0q869/fbDfckepn8eQMD8iWTZAxpQNOaEs9CPZRZ6BqOI9GcNAmAmJIRvysvBCOxKekdA8Wule6V1HcBJn2Sz2RGS5cZtr0tm0NshZ0B3yMJnmDBK/ShTkcZSTaqvNgop+CyaCYP4NBS1av6EiIvFhEartTR+RDM/HYFZDnJtgUIkhbrWIl9u3pvAtFHYBJNYX1PAxKH0UyIAskjJrY2Cxa2qh5pQhsn9TPgCSXZ0v41EXEnZXL+oUhLhZqiLbVUHVPQWwWBZmjNwVKmDhG5WvRmxa8Txueke3EVXhD0sEq6XDXva0opYhLi5cI/U9Xl+otFbSxQPHsyPrkE1ina3oUq+h7l1cnlAz/6WdA97k3pmX3ladzX1lc+JOxmKBuyxMZlrZLnL5ZHPyivQ84Ek2i/iLmtTEgFjoB3L5ZxGqfzp0BLJTlT5iIjfGs34ty8XzSsVdwo4Ut23DMTlsXt9bGaGU7yDJs3BZXwTZ1HZ01Ok0kdH0JlmymU7XmhNgBzt2d26bhiVtQaYhA+vC23YayKQmLagqJFowVFgH61ZXt60GbEpJMl71e2serGQgdqil5LIwmheCcaiMaOt27iBbgZRlN4s6RwDm4vOulUzFVs1vZLORDo2bN02G+jGFGZLMtaTslGnUWLc7Ps07bFyLvyTxUKu5BRbdxiVtITOs3fPiyP9faR8oz5QflWEFKR3mp/Kr0lQvF3/t3/+n+s/3v1dcqU7laVKEPH8wx3ym1T/37P3vU1mk=</latexit>

Pz

<latexit sha1_base64="x3CpLtuBt8rV6IkF1CjXilHRWKU=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KUBV8ozX/zdNDo2UZyHWQJgwboY4jDNu02qaroZRfoen3yjl17852G95oywoEkhpEOM8HyBjSocMExoFseyiyEFU8Q6PYSDMFCeQD1lZONeOhGckNI9Uuld61xEMJ3k+S3wRW7c5p0Nq0NChp2hyxKpwWFNKgShUWs0UyT6quNIgIBjWfCwAGJRK1aMHiYlGh0WotTRCTPMhGYJWDXFsgEuhrXIlpu35ptA/B6oRBNY39MQJ1E8E6KAi5iKrc3Dha2qR5rQxkn9DPhCSba0f01EvEmZnP3QMiHhCzVE2qoemcgNouAzNGbAsFUHKPytehNOeuThmdkO3EV3pB0sEo63HVvK0op4tJiJUL/09OleksFbSxQPDuyPvkE1umaHsUq+sHl1Qklw/96aeA14V/7md3VWdzX9mcuJOJWGAejdKZVjZ7nJ5PyCvQCwKn2s7jL2hTHQClox3K5IHEmfzq0RLITVT4i4jfG2s340I8n2Tsc2a0TNsxXKvT1sWtdUy0sl1kG47ZFlfBsXTUdnXU6TSRkew2XbJZbteE5iu6TrduW0ZtrQFmYMUxfetAJjVpQVUh0YKhwrqmbnd1x27AZgSn41Vf3c6qFxsZqC16KYlsE80rMU3RmNHWHbOBbgZxnN0u6VzDtBadatmKrZqeiWdhXTcHTHaqAbE5gtyRx7OSUHdRYtzs2yT8cRI+/KP1Uo7EJGtd3GldlCYlq/moen/UpqlSfKc+U75VhBSkc5VX5R+sqlEuz9u/9s/n+t+orlapM5VXo40dzNdK7VP/g95Y9bC</latexit><latexit sha1_base64="x3CpLtuBt8rV6IkF1CjXilHRWKU=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KUBV8ozX/zdNDo2UZyHWQJgwboY4jDNu02qaroZRfoen3yjl17852G95oywoEkhpEOM8HyBjSocMExoFseyiyEFU8Q6PYSDMFCeQD1lZONeOhGckNI9Uuld61xEMJ3k+S3wRW7c5p0Nq0NChp2hyxKpwWFNKgShUWs0UyT6quNIgIBjWfCwAGJRK1aMHiYlGh0WotTRCTPMhGYJWDXFsgEuhrXIlpu35ptA/B6oRBNY39MQJ1E8E6KAi5iKrc3Dha2qR5rQxkn9DPhCSba0f01EvEmZnP3QMiHhCzVE2qoemcgNouAzNGbAsFUHKPytehNOeuThmdkO3EV3pB0sEo63HVvK0op4tJiJUL/09OleksFbSxQPDuyPvkE1umaHsUq+sHl1Qklw/96aeA14V/7md3VWdzX9mcuJOJWGAejdKZVjZ7nJ5PyCvQCwKn2s7jL2hTHQClox3K5IHEmfzq0RLITVT4i4jfG2s340I8n2Tsc2a0TNsxXKvT1sWtdUy0sl1kG47ZFlfBsXTUdnXU6TSRkew2XbJZbteE5iu6TrduW0ZtrQFmYMUxfetAJjVpQVUh0YKhwrqmbnd1x27AZgSn41Vf3c6qFxsZqC16KYlsE80rMU3RmNHWHbOBbgZxnN0u6VzDtBadatmKrZqeiWdhXTcHTHaqAbE5gtyRx7OSUHdRYtzs2yT8cRI+/KP1Uo7EJGtd3GldlCYlq/moen/UpqlSfKc+U75VhBSkc5VX5R+sqlEuz9u/9s/n+t+orlapM5VXo40dzNdK7VP/g95Y9bC</latexit><latexit sha1_base64="x3CpLtuBt8rV6IkF1CjXilHRWKU=">AKzHiclVZb9s2Fa7ZOu0W9O9DOge1AUBkEzREmWrbdgzYa9pPbQJM1muQElH9lCdfEoqonL8XH7j/sP+xEjJd9ky0EmIMHB4fm+cyH50f40jnJqGP8evzR3v7Hnz5VP3s8y+/OrpwbOrPCtIAJdBFmfk2sc5xFEKlzSiMVxPCeDEj+GN/+6lXH/zHkgeZekFnU1hmOBxGoVRgKlw3Rzs/XWkXeaghVlKtTz6AJpja1Oql4Kt0GWJDgdMW8E4RUmfICGzIM0LwgkmE7YIeLeXT7FAfB6fJ9koDkteDjCzRL+UbUOaYkutsIemtuhgmyIF9FMK/smVhJBqDEe/zTcRPInfeByKRvFaxFxIcbGSu+FedbLX+YzR+ldFyYHxgbo7Ae+HFENJjdmhyj0TjCT3ZMRXBczEBiqs51omZVy3JmW7DegmMd8CqpR2wSTNGVh7gmPX4HFhH9lK4mERk1DQ6xJm1c1bnkFzcZmcbOPk/D5lYzMiMv2XHC495xk/4jlJqgkBeDCZdQ/ZS2FcRAnsLm4R8dDyloz31NjEuVFlw0G/rpNtnXatCrth3os7vqu8MuS3hzPN7mf6/eFMH3itPR/GUcrgjxQTgmfC/KUBV8ozX/zdNDo2UZyHWQJgwboY4jDNu02qaroZRfoen3yjl17852G95oywoEkhpEOM8HyBjSocMExoFseyiyEFU8Q6PYSDMFCeQD1lZONeOhGckNI9Uuld61xEMJ3k+S3wRW7c5p0Nq0NChp2hyxKpwWFNKgShUWs0UyT6quNIgIBjWfCwAGJRK1aMHiYlGh0WotTRCTPMhGYJWDXFsgEuhrXIlpu35ptA/B6oRBNY39MQJ1E8E6KAi5iKrc3Dha2qR5rQxkn9DPhCSba0f01EvEmZnP3QMiHhCzVE2qoemcgNouAzNGbAsFUHKPytehNOeuThmdkO3EV3pB0sEo63HVvK0op4tJiJUL/09OleksFbSxQPDuyPvkE1umaHsUq+sHl1Qklw/96aeA14V/7md3VWdzX9mcuJOJWGAejdKZVjZ7nJ5PyCvQCwKn2s7jL2hTHQClox3K5IHEmfzq0RLITVT4i4jfG2s340I8n2Tsc2a0TNsxXKvT1sWtdUy0sl1kG47ZFlfBsXTUdnXU6TSRkew2XbJZbteE5iu6TrduW0ZtrQFmYMUxfetAJjVpQVUh0YKhwrqmbnd1x27AZgSn41Vf3c6qFxsZqC16KYlsE80rMU3RmNHWHbOBbgZxnN0u6VzDtBadatmKrZqeiWdhXTcHTHaqAbE5gtyRx7OSUHdRYtzs2yT8cRI+/KP1Uo7EJGtd3GldlCYlq/moen/UpqlSfKc+U75VhBSkc5VX5R+sqlEuz9u/9s/n+t+orlapM5VXo40dzNdK7VP/g95Y9bC</latexit><latexit sha1_base64="aUvjreQZVDNMykNHMg3+56i4q0=">AKzHiclVZb9s2Fa7ZGu1W9M9dg/qgDJoBoiJcvW7Fmw15Se2iSZrPcgJKPbKG6uBTVxOX0uP3H/Yf9iJGSb7LlIBOQ4ODwfN+5kPxobxqFGTOMfx48/Gxv/MvHj1Wv/zq62+fXLw9DJLc+rDhZ9GKb3ySAZRmMAFC1kEV1MKJPYieOu9fyX34EmoVpcs5mUxjGZJyEQegTJlzXB3t/HWkXGWhBmjAtCz+BZlvalKmqm8CNn8YxSUbcHUFwSWgxQEPuQpLlFGLCJvwQFe5tNiU+FPX4Pk1FAfEbwVcs0DwpNqLOCKPh7UbQO7wZJsj8bBXB3bJrngahaAxGRb/YRPwscmd9oBJZ1Cp2A0r8jcwV/6qTrdZ/CsevU1YOrBjgzRG4z90IAnbMD3Hh0nA8YSc7piJ4zifASDXHOjF3qyU5021YL4bxDli1tAM2acbIyn0S8V4xB9aRvQTOJyEdNY0OFdzcOasziM9v0tMNnPyfBVwspnRWvOPHCw8+LU6KHbOSVBMKcG8y8w6yV8I4D2PYXdwi4r7lLRnvqLGJc6PKhoN+VSfbOu1aFXbN3e3xa7ypDf780u5vpj/szfSpq7XkwDhMOHxJCKZn9KMgrQlXwjdb8108OjZpIMdGmjAshDq2MCxstrGjoZRfofK/OtfH+y3FHq5zEkzI9Ilg2QMWVDTigL/Uh2kWcgqnhPxjAQZkJiyIa8LzQjoRnJDSPVrpXetcRnMRZNos9EVlu3OadDatDXIWdIc8TKY5g8SvEgV5pLFUk+qrjUIKPotmwiA+DUWtmj8h4mIxodFqLY0f0cxPR2CWg1xboBJoa61yJebt+abQPQRmERTWN/TgMRhNBOiQPKIia3NgoWtqkea0MZJ/Qx4Qkm2tH9NRNxJmZy/aGIi4Uaom01VN1TEJtFQeboTYESJo5R+Vr0pgXv04ZnZDtxFd6QdLBKOtx1bytKeLS4iVC/9PVpXpLBW0sUDw7sj75BNbpmh7FKvre5dUJcP/emngDe5d+alt1Vnc1/ZnLiTsVjgLguTmVY2We5yeSz8gr0fCJ9ou4y9qURMAYaMdyOadRKn86tESyE1U+IuI3xtrN96JcPJ907BXcaGHLNhyz09bFrbUxWtkOsgwbt8VsE0dtR0dTpNZDS9SZsptO15gTYwY7dndumYUlbkGnIwLrwtp0GMqlJC6oKiRYMFdbButXVbasBm1KSjFd9dTurXixkoLbopSyMJpXgrFozGjrNm6gm0EUpTdLOsfA5qKzbtVMxVZNr6QzkY4NW7fNBroxhdmSzLaWU7JRZ9Hi3Cz7tG0x8q78U4XCLmRU21c4hYS0/oNH7sz7X2kfJM+UE5VpDSUV4qvyp95ULx9/7df7r/bP979bXKVK4WVejDB3PMd0rtU/+D4HF1mo=</latexit>

3D process grid

P = Px · Py · Pz

<latexit sha1_base64="fLdzPoZASyb3YuIkNw+x5A3Uj7w=">AMLniclVZbj9tEFHYLu5SESwsvSLxMWa20C27k8S3xA9KWLoiHLgnqpt02TlcTZ5JY9SWMJ91NB/8VfgO/BokHxCs/gzN2bk7sZbGU6HjmfN+c73jmnBlMAz/hmvbnbvb+3/8G9D2v1jz7+5NP7Dz57nsQz5tGuFwcxuxiQhAZ+RLvc5wG9mDJKwkFAXwzePJHzL95SlvhxdM7nU9oPyTjyR75HOAxdPtj7RB1E4pGcR4r+jyDbRlNdqbkSvDgMSTQU7pCOnhOW9nBfuDRKZoyGhE/EAU7d62RKPJoW/TshgDCZ8CXLtEiSre8zghn/vW02t92w3IvGTtIdxMtYhHPgijw7STbiO+h7WTDmUSmRYidkeMeFsr5/xrJTvSv/PHP8U8S1ja07dT4D50AzriR+JAT13mjyf8uCIrwHM+oZzkeSwSCzefkjndhbVDOq6A5VMVsEk5RkbukUC0wWwiGxH9Hzis2FZ6nAqjMpcndHw/Co+3cLJ/2QkYDJm8/S1OFqO6KfpcVqRK0k1YZTemsy4gewJGOd+SKuDW3rcNrwV4w0xlnFuRVmy0S+KZDu7HeVul8J9eJ1WhZe5vLw90/xmple3Z3qXVsp7zBnxoU6Ni2yPAZaEJAgoc8NBfC1WblUxPYWXGyIawyeJUvR0m1eiKjm7t+Ls/hdnzR3QsR8J+ktEGCPzr9MaWmQHfbswLpDrDWO+eHtZeHtVgxCG/DL+wdaw9CwY2MEholx0wbD1A1LdxBuaNlzcPKFkj0dqOhX7jD2ZiGNuBeQJOlhbcr7gjDue4GUPUsoBPuGjGkPzIiENOmLTGuKDmFkCM2A5Q0hG91ECBImyTwcgGe2o7fn5GDZXG/GR62+8KPpjNPIyxcazQLEYyTbEhr6jHo8mINBPOZDrMibEKg4HJpXrbCMF7DEi4fUyPK9McFoIDtYQaJYfe2NsQkN3lIu0YxuboIRCf1gDtWSzAIOuyEZLe1a7RB05gUN80ASuxOU9yoru4kW1w8aug0TJdtAu+2iZp7SuFjMSrXaE8pIx2XtZG29NUdFhJf91dOHcvWbS3XrRfVdByStndpCUyhPqrq8q2JltLaYDQj2V8m5QpCu7LeTetw6vSCgZ/tcVZAF4NhucwUHNlS3GMnFwkrMT7HI/mqNMZPaVsy2fZEeg7VESoR/g+KMpCSjnFB3J6RkLYnmnasBixzXZXeHytVEsBsEM7hVsPEiF1tBNW3OMpqXCqbV1vLYdbGq2bsFRsA0VW46Km80yMhZfRSs2w2mZCwLd0R27tbANzZQ2kCGs6SqMWk4JmSzWS6ociZcMOdbRVbOl2mYJNmYkGq91tZprLSbWsAVaMiJTx4tIdB2EaZq6yV0cxoE8dWKztF0Y6mslYvJ2fLsZXQGVnXNVm2jhA4K9HxFZpurLNm4uZS4MDOdtg0pb8lfORdpVwim5bdsvWmaWH5ZmlWq5XVX0mlqdgBmbpTg1K9rMeo2niuNzCk/Wf94KST12zlnvKl8pVypGClqZwoPyodpat4+3v73+yb+1b9/of9b/qf+eud+8sMJ8rhaf+z78aSF60</latexit><latexit sha1_base64="fLdzPoZASyb3YuIkNw+x5A3Uj7w=">AMLniclVZbj9tEFHYLu5SESwsvSLxMWa20C27k8S3xA9KWLoiHLgnqpt02TlcTZ5JY9SWMJ91NB/8VfgO/BokHxCs/gzN2bk7sZbGU6HjmfN+c73jmnBlMAz/hmvbnbvb+3/8G9D2v1jz7+5NP7Dz57nsQz5tGuFwcxuxiQhAZ+RLvc5wG9mDJKwkFAXwzePJHzL95SlvhxdM7nU9oPyTjyR75HOAxdPtj7RB1E4pGcR4r+jyDbRlNdqbkSvDgMSTQU7pCOnhOW9nBfuDRKZoyGhE/EAU7d62RKPJoW/TshgDCZ8CXLtEiSre8zghn/vW02t92w3IvGTtIdxMtYhHPgijw7STbiO+h7WTDmUSmRYidkeMeFsr5/xrJTvSv/PHP8U8S1ja07dT4D50AzriR+JAT13mjyf8uCIrwHM+oZzkeSwSCzefkjndhbVDOq6A5VMVsEk5RkbukUC0wWwiGxH9Hzis2FZ6nAqjMpcndHw/Co+3cLJ/2QkYDJm8/S1OFqO6KfpcVqRK0k1YZTemsy4gewJGOd+SKuDW3rcNrwV4w0xlnFuRVmy0S+KZDu7HeVul8J9eJ1WhZe5vLw90/xmple3Z3qXVsp7zBnxoU6Ni2yPAZaEJAgoc8NBfC1WblUxPYWXGyIawyeJUvR0m1eiKjm7t+Ls/hdnzR3QsR8J+ktEGCPzr9MaWmQHfbswLpDrDWO+eHtZeHtVgxCG/DL+wdaw9CwY2MEholx0wbD1A1LdxBuaNlzcPKFkj0dqOhX7jD2ZiGNuBeQJOlhbcr7gjDue4GUPUsoBPuGjGkPzIiENOmLTGuKDmFkCM2A5Q0hG91ECBImyTwcgGe2o7fn5GDZXG/GR62+8KPpjNPIyxcazQLEYyTbEhr6jHo8mINBPOZDrMibEKg4HJpXrbCMF7DEi4fUyPK9McFoIDtYQaJYfe2NsQkN3lIu0YxuboIRCf1gDtWSzAIOuyEZLe1a7RB05gUN80ASuxOU9yoru4kW1w8aug0TJdtAu+2iZp7SuFjMSrXaE8pIx2XtZG29NUdFhJf91dOHcvWbS3XrRfVdByStndpCUyhPqrq8q2JltLaYDQj2V8m5QpCu7LeTetw6vSCgZ/tcVZAF4NhucwUHNlS3GMnFwkrMT7HI/mqNMZPaVsy2fZEeg7VESoR/g+KMpCSjnFB3J6RkLYnmnasBixzXZXeHytVEsBsEM7hVsPEiF1tBNW3OMpqXCqbV1vLYdbGq2bsFRsA0VW46Km80yMhZfRSs2w2mZCwLd0R27tbANzZQ2kCGs6SqMWk4JmSzWS6ociZcMOdbRVbOl2mYJNmYkGq91tZprLSbWsAVaMiJTx4tIdB2EaZq6yV0cxoE8dWKztF0Y6mslYvJ2fLsZXQGVnXNVm2jhA4K9HxFZpurLNm4uZS4MDOdtg0pb8lfORdpVwim5bdsvWmaWH5ZmlWq5XVX0mlqdgBmbpTg1K9rMeo2niuNzCk/Wf94KST12zlnvKl8pVypGClqZwoPyodpat4+3v73+yb+1b9/of9b/qf+eud+8sMJ8rhaf+z78aSF60</latexit><latexit sha1_base64="fLdzPoZASyb3YuIkNw+x5A3Uj7w=">AMLniclVZbj9tEFHYLu5SESwsvSLxMWa20C27k8S3xA9KWLoiHLgnqpt02TlcTZ5JY9SWMJ91NB/8VfgO/BokHxCs/gzN2bk7sZbGU6HjmfN+c73jmnBlMAz/hmvbnbvb+3/8G9D2v1jz7+5NP7Dz57nsQz5tGuFwcxuxiQhAZ+RLvc5wG9mDJKwkFAXwzePJHzL95SlvhxdM7nU9oPyTjyR75HOAxdPtj7RB1E4pGcR4r+jyDbRlNdqbkSvDgMSTQU7pCOnhOW9nBfuDRKZoyGhE/EAU7d62RKPJoW/TshgDCZ8CXLtEiSre8zghn/vW02t92w3IvGTtIdxMtYhHPgijw7STbiO+h7WTDmUSmRYidkeMeFsr5/xrJTvSv/PHP8U8S1ja07dT4D50AzriR+JAT13mjyf8uCIrwHM+oZzkeSwSCzefkjndhbVDOq6A5VMVsEk5RkbukUC0wWwiGxH9Hzis2FZ6nAqjMpcndHw/Co+3cLJ/2QkYDJm8/S1OFqO6KfpcVqRK0k1YZTemsy4gewJGOd+SKuDW3rcNrwV4w0xlnFuRVmy0S+KZDu7HeVul8J9eJ1WhZe5vLw90/xmple3Z3qXVsp7zBnxoU6Ni2yPAZaEJAgoc8NBfC1WblUxPYWXGyIawyeJUvR0m1eiKjm7t+Ls/hdnzR3QsR8J+ktEGCPzr9MaWmQHfbswLpDrDWO+eHtZeHtVgxCG/DL+wdaw9CwY2MEholx0wbD1A1LdxBuaNlzcPKFkj0dqOhX7jD2ZiGNuBeQJOlhbcr7gjDue4GUPUsoBPuGjGkPzIiENOmLTGuKDmFkCM2A5Q0hG91ECBImyTwcgGe2o7fn5GDZXG/GR62+8KPpjNPIyxcazQLEYyTbEhr6jHo8mINBPOZDrMibEKg4HJpXrbCMF7DEi4fUyPK9McFoIDtYQaJYfe2NsQkN3lIu0YxuboIRCf1gDtWSzAIOuyEZLe1a7RB05gUN80ASuxOU9yoru4kW1w8aug0TJdtAu+2iZp7SuFjMSrXaE8pIx2XtZG29NUdFhJf91dOHcvWbS3XrRfVdByStndpCUyhPqrq8q2JltLaYDQj2V8m5QpCu7LeTetw6vSCgZ/tcVZAF4NhucwUHNlS3GMnFwkrMT7HI/mqNMZPaVsy2fZEeg7VESoR/g+KMpCSjnFB3J6RkLYnmnasBixzXZXeHytVEsBsEM7hVsPEiF1tBNW3OMpqXCqbV1vLYdbGq2bsFRsA0VW46Km80yMhZfRSs2w2mZCwLd0R27tbANzZQ2kCGs6SqMWk4JmSzWS6ociZcMOdbRVbOl2mYJNmYkGq91tZprLSbWsAVaMiJTx4tIdB2EaZq6yV0cxoE8dWKztF0Y6mslYvJ2fLsZXQGVnXNVm2jhA4K9HxFZpurLNm4uZS4MDOdtg0pb8lfORdpVwim5bdsvWmaWH5ZmlWq5XVX0mlqdgBmbpTg1K9rMeo2niuNzCk/Wf94KST12zlnvKl8pVypGClqZwoPyodpat4+3v73+yb+1b9/of9b/qf+eud+8sMJ8rhaf+z78aSF60</latexit><latexit sha1_base64="zpKypmSGyKw35Kh8v3bvenI83U=">AMLniclVZbj9tEFHYLuxSHSwuPvLisVtoFE3l8S/yA1NIF8dAlQd2028bpauJMEqu+hPGku+ngv8Jv4Ncg8YB45WdwxnYuTuwlWEp0PHO+b853PHPODGeBnzBN+/PO3fePzj84N6HcuOjz/59P6Dz54n8Zx6pOfFQUwvhzghgR+RHvNZQC5nlOBwGJAXwzdPxPyLt4QmfhxdsMWMDEI8ifyx72EGQ1cPDn47VnoJUcZxJTEf0cU21RmTJbdiFx7cRjiaMTdERk/xzTtowF3SZTMKQkxm/IjlLo3yQx7JC37d2kMAYTPgC9donmUbnmdY0b9my2n1/q2G5B5ydqDu5lqHo9EZGaTfdRnwPaydQgUyLUXsjin2tlbO+dKdqR/509+ilmWsLSvb6fAfegGZMxO+JGeutSfTNlpTVaA52JKGM7zWCbmbj4lcroL64RkUgPLp2pg02qMiNzDAe+kBbCM7ETkYurTUVXqUMqN2lydk/DiOj7bwon/ZMxhMqaL9DU/WY7oZ+lpWpMrQTWlhOxNZtxC9gSMCz8k9cEtPfYNb8V4S4xVnFtRVmz0yzLZzm5Xcrcr7j68SevCy1xe7s+0uJ3p1f5M79JaeY8ZxT7UqUmZ7THAkhAHAaFuOIxv+MqtLqan8HJLRBP4JFGqPN3mFahazt5enL3/4pTdIZn4ESe/RJhSvPgqlZUiO8q3hXGpuN4oZsXby9LbKxlCG3Ar+4faU1DQ46NFDBMhFo2GKZuWLqjoKaWPUdS8XShol+7o9ibhyRiXoCTpI+0GRtwTJnvBUL2PCEQ7Bs8IX0wIxySZMAzralyDCMjaAY0bwjZ6CaC4zBJFuEQPLMdvT0nBqvm+nM2bg+4H83mjERevtB4HigsVkRbUkY+JR4LFmBgj/oQq+JNMVQcBs1Li3jBTx4hExsnxvTFASiA5WkshX3tjbEqCt4QJNCWbm2CMQz9YQLXE84DBbkjGS1uWjxVoGtPyphlCid1pihvV1Z1mi/NvmjoJ02WbQLtQnbPCHwsSsQanRmhmMHOy9poZ5byLq3or7sL5+4Vi/bXiw7qClpOKbqbsHiGUH91VdHWRGupDBD6sYhP3A3KdFW3hdx7/DKhILhf1BCsCz+fAcDmqurBjLxMFJzk6wy/xoWQis6+cbfkOwIdj+BI+QGOvzLDAWGMKCdiek6DWNypmrDYqSy6K1y+NorFMJjDvYJOhinXmrpa47RslQ4tbaO1raDTM3WLTgKtqEiy1FRq1VFRuPraMVmOG2zINAd3bHbhW1oprCBTEGarsKo5VSQiWK9pMqRaMmQYx1dNduqbVZgY4qjyVpXu7XWYiINWaAlIzJ1VESi6yBMs1Rbr6BbkCIr1d0jqYbS2XtXEzOlmcvozOQqmu2ahsVdFCgFysy21xlyUatpcTCzHTaNqS8LX7VXGSVcoFsWXb1lumhcSbpVntdlZ/BZWmIgdk6o4MpXpZj5V647neRJD2n/WjR92iaN+TvpC+lE4kJLWkR9KPUlfqSd7hweHXh+ah1fi98Ufjr8bfuevdOwXmc6n0NP75FwmSXlw=</latexit>
slide-18
SLIDE 18

hpcgarage.org/pp20

17

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

A C B Idea: Use a 3-D process grid and replicate

Dekel et al. (1981); Agarwal et al. (1995); + more

P

1 3 × P 1 3 × P 1 3 process grid

Θ ✓N 2 P

2 3

◆ elems per proc (replicate) = ⇒ Memory(3D) = Memory(2D) × P

1 3

CommTime(3D) ≈ CommTime(2D) P

1 3

<latexit sha1_base64="l2DmyEASPJ5hi4h/Xz2TlDJMimM=">ALYXiclVZLb9tGEGbSqk3oPpz01ly2NRzYhSqQS4qSDgWCxi16cawithNAlI0VNZKI8NXlKrbK8tBf02v7c3ruH+ksH5IoUYZDwMZoZ+ab587sKPLcWGjavw8efvRx45NPHz1W9z7/Isv958vYzDOXfgwgm9kL8dsRg8N4AL4QoP3kYcmD/y4M3o3UvJf/MeOyGwblYRD02TRwJ67DB5dP2l8fUguYiCTMBAkdn8HYpkEqpqB3DjhL7PgnFij2FyXg60IeJDUE85+AzMUsO9NS+jSPmQFqV7/MQHfBfI15aiev0g2pUya4e1sVWle9opsayHTilXBiZwlIwomLMcI47aebGj8hVtwHLjXTivP2hDNnw4kcfxXUVhZ+dKevQpHlLh3QzWzY39geTMRckBTm7vTmTjekSDEOZ+BYHlKq8CJnbNkerfVznyY7lDLWTvUZvU60nOHeclZWihWNc8COJ+5fFyXOj1NjJ25OgX/CY82dCT/+NJgsyQL9Kr5Kg8oSfpcbojVxJqxgHuDWbcAfYSiXPXh93OlRL3dW+JeIePdZgbXqr2CKZukMBvAeOcLb5L1edk+T0neW9erZWE2AIh4w/k+KPwNiERMiCOyZS78tDesFW25+5LclWwaNYE6RIY5H0jEfDMBDnigFMhw0c15iRv23XRwl0FslpckPpOygu2LZxKuWgtgsQiduSRHERum38LCugAVdFeB6/0BrGZres3SChKnrHQsJkxpt2iN6S8u+A6X4+jhNW/Y4dOY+BMLxWBwPdC0Sw4Rx4TqebJx5DFjud2wKAyQDhpENk2yIpeQT8Y4iHk+jLPTdY2E+XG8EcombXQJk8e1vEGczHpDhM3iOYCAic3NJl7RIRErgQydjk4wlsgwRzuoq/EmTHMmcDFoVbMOB6PnXAMRtaxawOntwelRCT5X1ZO5uB9x6E1Oawfo0mzHe9BY4nNvcElielLSqHhJswFn12o1wpm0tpLVxZs8y48n3LQp+Ws5lfXsuq/YJYLE4SBtn2LlMhMUeOovSpM9rdtu24Vy8xuhgZXS4a4LkHKdSCrJNJp/2E25R2Rb1jqIC1D6J/dyFa5uU+fS93avCigRPmj9Fwqv56NTHAp5ZMVZFtx1k8LvNrBgmRBZlXOWj7OrsCZAywgP+NeJxHzQAgR5I9514o3zMtNHasynWGD5+1V8DIm+OM4tNRmgtalpaz+i0m3hrLaqv6J5uahZt41WwjKbe7jX1TqcOjIc3wRLN6HXNAoD2aM/qFrShmZJGMKJrtImn7V4NmHyflFC5pl4i5Lo92jS7Tcus0Q05C6aruLqdVSymrultjCUDMqleEIpBqa1mxatgVuA54U3S7ieRo0ysm4eTI6WZy+DM/Qm1aymZdTATkslmCWucySpXfKEAsyi9OyMOVd+afihC3HKNlNXNKWbrTor/TgRb+YtY+UZ8q3ypGiKx3lhfKL0lcuFKfxZ+Ovxt+Nf9T/9h7v7e89zUfPih0vlIq396z/wEqfnP</latexit>
slide-19
SLIDE 19

hpcgarage.org/pp20

18

Communication-avoiding idea


For matrix multiplication, C += A⋅B, on P processors

A C B Trades more memory for less communication P

1 3 × P 1 3 × P 1 3 process grid

Θ ✓N 2 P

2 3

◆ elems per proc (replicate) = ⇒ Memory(3D) = Memory(2D) × P

1 3

CommTime(3D) ≈ CommTime(2D) P

1 3

<latexit sha1_base64="l2DmyEASPJ5hi4h/Xz2TlDJMimM=">ALYXiclVZLb9tGEGbSqk3oPpz01ly2NRzYhSqQS4qSDgWCxi16cawithNAlI0VNZKI8NXlKrbK8tBf02v7c3ruH+ksH5IoUYZDwMZoZ+ab587sKPLcWGjavw8efvRx45NPHz1W9z7/Isv958vYzDOXfgwgm9kL8dsRg8N4AL4QoP3kYcmD/y4M3o3UvJf/MeOyGwblYRD02TRwJ67DB5dP2l8fUguYiCTMBAkdn8HYpkEqpqB3DjhL7PgnFij2FyXg60IeJDUE85+AzMUsO9NS+jSPmQFqV7/MQHfBfI15aiev0g2pUya4e1sVWle9opsayHTilXBiZwlIwomLMcI47aebGj8hVtwHLjXTivP2hDNnw4kcfxXUVhZ+dKevQpHlLh3QzWzY39geTMRckBTm7vTmTjekSDEOZ+BYHlKq8CJnbNkerfVznyY7lDLWTvUZvU60nOHeclZWihWNc8COJ+5fFyXOj1NjJ25OgX/CY82dCT/+NJgsyQL9Kr5Kg8oSfpcbojVxJqxgHuDWbcAfYSiXPXh93OlRL3dW+JeIePdZgbXqr2CKZukMBvAeOcLb5L1edk+T0neW9erZWE2AIh4w/k+KPwNiERMiCOyZS78tDesFW25+5LclWwaNYE6RIY5H0jEfDMBDnigFMhw0c15iRv23XRwl0FslpckPpOygu2LZxKuWgtgsQiduSRHERum38LCugAVdFeB6/0BrGZres3SChKnrHQsJkxpt2iN6S8u+A6X4+jhNW/Y4dOY+BMLxWBwPdC0Sw4Rx4TqebJx5DFjud2wKAyQDhpENk2yIpeQT8Y4iHk+jLPTdY2E+XG8EcombXQJk8e1vEGczHpDhM3iOYCAic3NJl7RIRErgQydjk4wlsgwRzuoq/EmTHMmcDFoVbMOB6PnXAMRtaxawOntwelRCT5X1ZO5uB9x6E1Oawfo0mzHe9BY4nNvcElielLSqHhJswFn12o1wpm0tpLVxZs8y48n3LQp+Ws5lfXsuq/YJYLE4SBtn2LlMhMUeOovSpM9rdtu24Vy8xuhgZXS4a4LkHKdSCrJNJp/2E25R2Rb1jqIC1D6J/dyFa5uU+fS93avCigRPmj9Fwqv56NTHAp5ZMVZFtx1k8LvNrBgmRBZlXOWj7OrsCZAywgP+NeJxHzQAgR5I9514o3zMtNHasynWGD5+1V8DIm+OM4tNRmgtalpaz+i0m3hrLaqv6J5uahZt41WwjKbe7jX1TqcOjIc3wRLN6HXNAoD2aM/qFrShmZJGMKJrtImn7V4NmHyflFC5pl4i5Lo92jS7Tcus0Q05C6aruLqdVSymrultjCUDMqleEIpBqa1mxatgVuA54U3S7ieRo0ysm4eTI6WZy+DM/Qm1aymZdTATkslmCWucySpXfKEAsyi9OyMOVd+afihC3HKNlNXNKWbrTor/TgRb+YtY+UZ8q3ypGiKx3lhfKL0lcuFKfxZ+Ovxt+Nf9T/9h7v7e89zUfPih0vlIq396z/wEqfnP</latexit>
slide-20
SLIDE 20

hpcgarage.org/pp20

19

Our result: Extend to sparse LU

All known “3D-LU” algorithms† are for dense LU. They reduce communication volume but increase latency. For sparse LU, we can reduce both the latency and bandwidth for “planar” problems asymptotically, and achieve constant-factor reductions for “non-planar” ones.

There are other memory-for-communication techniques,‡ including multifrontal methods. We claim better slightly better asymptotic memory and process scalability. See our papers!

† Ashcraft (1991); Irony & Toledo (2002); Solomonik & Demmel (2011) ‡ Hulbert & Zmijewski (1991); Gupta et al. (1997)

slide-21
SLIDE 21

hpcgarage.org/pp20

20

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

MPI processes (2D process grid; 4 cores / process)

Teraflop/s

(32x procs → 2x speedup)

Our result: Extend to sparse LU

Example:


(Best configuration shown)

Px × Py = 96

<latexit sha1_base64="FvmfGaFZLK4N8dl/k8PLliSOBOU=">AK4HiclVbdb+NEPcdFzjM1xVekHjxERW1KASv7TjxA1LFcRLSdC1vR5xrlo7k8Q6f4T15trc4nfeEI/wn/HfMGvny4lTFUutRrszv5nf7O5v4k3DIOW6/u+Dh+8qr373uP31Q8+/OjT54cfHqZJjPmw4WfhAm78mgKYRDBQ94CFdTBjTyQnjhvX4m91+8AZYGSXzO51MYRHQcB6PApxyXrg8e/X2oXaSgjZKYa2nwFjTb0qZcVd0Ybvwkimg8FO4QRpeUZX0yEC7E6YxBRPlE1Enm3qZT6kNW9u+xBAuIniNetowWcbldUY5C263nF4Z24I5qdrD+HmrEUyCpAYDLNeth3xA+ZOe8BkZFaq2B0x6m9lLvDXTHaofx+Mf0543rCsb2y3wH3qhjDiR6JuZC4LxhN+vKcriHM+AU6LPpaBhVtsyZ7uhnUjGO8JK7b2hE2qY2TlPg1FN1sEliO7MZxPAjasah3JhLm3V2cQnd8kp1tx8n86EriZsHn2ShwtV4zT7Djb0ysJNWEA9wYz7wB7hsZ5EMH+4pYe9y1vhXhHjVWYW1VWXPSrMtjObdcKt2vhPr3N9pWXu7y8P9L8bqRf74/0NivR82AcxAJ+iyljdP41ghckNZdjZ9JF4EvtO82xVcwx3PC9flLXm6ZOHJtoaFiEtG0LMNsGY5Gmnr+1U8+V/Kvd31Qa7rDxJ9FEHM/pGnaJ/qUDwRlPBDyWyWAlb2mo6hj2ZMsYSByMlk2iGuDFEHWaGF+epmhKBRms4jDz3zw9zek4tVe/0ZH3UGIoinMw6xXyQazUKNJ5pUZG0YMPB5OEeD+izAWjV/QvGxcdRtZTGD1nqJ0Mw8+ZubDAIpXiXKIrVgW6sTSB8A1xGM9g85xGNgnCOQkFnIcfjTkdLW1UPNdTLSfleKguO/NgQ1jcSZ5cfNM0IMqWCkl2FVJ1TwEPi4HM0Z0CoxyvVj5ButNM9FjFaNlNXLhXJO2vkw72veUCUgq7tEQe0fjdbUhFl6paWSCOIlmfHItluKpBWXjfu7wyoET4X9N3EfB85p15yW3BbLGWk8N3GuGwDcYz7WcZH7K+ZVP8yfQ9YHG2o/4vrUpDYFz0I7k9oyFifw50cRkx6ocLPi7Y0MNvHCGI5WNvUzoTcOydcdstxr4am2DrG2HWLptPAp2GaDtJwGaberwFhyE6/QTKdjLQAMx3DszsI2dUvaCKYR3WjgasupAJM6tYQqIskSoYh1jIbVadhWRWzCaDxe8+q01wsopMWcsmBLIMsKjEMJKa3GrZRATeHMExuVnCObphLZp2CTIFWdC+HM0nD0O2GbVbAjRnMV2C2teqSTdpLigsz52nb2PKO/FNRYZcyqu03Lo0mwW79YtRPeoXUKo+VL5QvlSOFKG3lRPlJ6SkXil9Tal/Vvq3pqf+of6p/lW4PnywiPlMKX3qP/8BeoDc7w=</latexit><latexit sha1_base64="FvmfGaFZLK4N8dl/k8PLliSOBOU=">AK4HiclVbdb+NEPcdFzjM1xVekHjxERW1KASv7TjxA1LFcRLSdC1vR5xrlo7k8Q6f4T15trc4nfeEI/wn/HfMGvny4lTFUutRrszv5nf7O5v4k3DIOW6/u+Dh+8qr373uP31Q8+/OjT54cfHqZJjPmw4WfhAm78mgKYRDBQ94CFdTBjTyQnjhvX4m91+8AZYGSXzO51MYRHQcB6PApxyXrg8e/X2oXaSgjZKYa2nwFjTb0qZcVd0Ybvwkimg8FO4QRpeUZX0yEC7E6YxBRPlE1Enm3qZT6kNW9u+xBAuIniNetowWcbldUY5C263nF4Z24I5qdrD+HmrEUyCpAYDLNeth3xA+ZOe8BkZFaq2B0x6m9lLvDXTHaofx+Mf0543rCsb2y3wH3qhjDiR6JuZC4LxhN+vKcriHM+AU6LPpaBhVtsyZ7uhnUjGO8JK7b2hE2qY2TlPg1FN1sEliO7MZxPAjasah3JhLm3V2cQnd8kp1tx8n86EriZsHn2ShwtV4zT7Djb0ysJNWEA9wYz7wB7hsZ5EMH+4pYe9y1vhXhHjVWYW1VWXPSrMtjObdcKt2vhPr3N9pWXu7y8P9L8bqRf74/0NivR82AcxAJ+iyljdP41ghckNZdjZ9JF4EvtO82xVcwx3PC9flLXm6ZOHJtoaFiEtG0LMNsGY5Gmnr+1U8+V/Kvd31Qa7rDxJ9FEHM/pGnaJ/qUDwRlPBDyWyWAlb2mo6hj2ZMsYSByMlk2iGuDFEHWaGF+epmhKBRms4jDz3zw9zek4tVe/0ZH3UGIoinMw6xXyQazUKNJ5pUZG0YMPB5OEeD+izAWjV/QvGxcdRtZTGD1nqJ0Mw8+ZubDAIpXiXKIrVgW6sTSB8A1xGM9g85xGNgnCOQkFnIcfjTkdLW1UPNdTLSfleKguO/NgQ1jcSZ5cfNM0IMqWCkl2FVJ1TwEPi4HM0Z0CoxyvVj5ButNM9FjFaNlNXLhXJO2vkw72veUCUgq7tEQe0fjdbUhFl6paWSCOIlmfHItluKpBWXjfu7wyoET4X9N3EfB85p15yW3BbLGWk8N3GuGwDcYz7WcZH7K+ZVP8yfQ9YHG2o/4vrUpDYFz0I7k9oyFifw50cRkx6ocLPi7Y0MNvHCGI5WNvUzoTcOydcdstxr4am2DrG2HWLptPAp2GaDtJwGaberwFhyE6/QTKdjLQAMx3DszsI2dUvaCKYR3WjgasupAJM6tYQqIskSoYh1jIbVadhWRWzCaDxe8+q01wsopMWcsmBLIMsKjEMJKa3GrZRATeHMExuVnCObphLZp2CTIFWdC+HM0nD0O2GbVbAjRnMV2C2teqSTdpLigsz52nb2PKO/FNRYZcyqu03Lo0mwW79YtRPeoXUKo+VL5QvlSOFKG3lRPlJ6SkXil9Tal/Vvq3pqf+of6p/lW4PnywiPlMKX3qP/8BeoDc7w=</latexit><latexit sha1_base64="FvmfGaFZLK4N8dl/k8PLliSOBOU=">AK4HiclVbdb+NEPcdFzjM1xVekHjxERW1KASv7TjxA1LFcRLSdC1vR5xrlo7k8Q6f4T15trc4nfeEI/wn/HfMGvny4lTFUutRrszv5nf7O5v4k3DIOW6/u+Dh+8qr373uP31Q8+/OjT54cfHqZJjPmw4WfhAm78mgKYRDBQ94CFdTBjTyQnjhvX4m91+8AZYGSXzO51MYRHQcB6PApxyXrg8e/X2oXaSgjZKYa2nwFjTb0qZcVd0Ybvwkimg8FO4QRpeUZX0yEC7E6YxBRPlE1Enm3qZT6kNW9u+xBAuIniNetowWcbldUY5C263nF4Z24I5qdrD+HmrEUyCpAYDLNeth3xA+ZOe8BkZFaq2B0x6m9lLvDXTHaofx+Mf0543rCsb2y3wH3qhjDiR6JuZC4LxhN+vKcriHM+AU6LPpaBhVtsyZ7uhnUjGO8JK7b2hE2qY2TlPg1FN1sEliO7MZxPAjasah3JhLm3V2cQnd8kp1tx8n86EriZsHn2ShwtV4zT7Djb0ysJNWEA9wYz7wB7hsZ5EMH+4pYe9y1vhXhHjVWYW1VWXPSrMtjObdcKt2vhPr3N9pWXu7y8P9L8bqRf74/0NivR82AcxAJ+iyljdP41ghckNZdjZ9JF4EvtO82xVcwx3PC9flLXm6ZOHJtoaFiEtG0LMNsGY5Gmnr+1U8+V/Kvd31Qa7rDxJ9FEHM/pGnaJ/qUDwRlPBDyWyWAlb2mo6hj2ZMsYSByMlk2iGuDFEHWaGF+epmhKBRms4jDz3zw9zek4tVe/0ZH3UGIoinMw6xXyQazUKNJ5pUZG0YMPB5OEeD+izAWjV/QvGxcdRtZTGD1nqJ0Mw8+ZubDAIpXiXKIrVgW6sTSB8A1xGM9g85xGNgnCOQkFnIcfjTkdLW1UPNdTLSfleKguO/NgQ1jcSZ5cfNM0IMqWCkl2FVJ1TwEPi4HM0Z0CoxyvVj5ButNM9FjFaNlNXLhXJO2vkw72veUCUgq7tEQe0fjdbUhFl6paWSCOIlmfHItluKpBWXjfu7wyoET4X9N3EfB85p15yW3BbLGWk8N3GuGwDcYz7WcZH7K+ZVP8yfQ9YHG2o/4vrUpDYFz0I7k9oyFifw50cRkx6ocLPi7Y0MNvHCGI5WNvUzoTcOydcdstxr4am2DrG2HWLptPAp2GaDtJwGaberwFhyE6/QTKdjLQAMx3DszsI2dUvaCKYR3WjgasupAJM6tYQqIskSoYh1jIbVadhWRWzCaDxe8+q01wsopMWcsmBLIMsKjEMJKa3GrZRATeHMExuVnCObphLZp2CTIFWdC+HM0nD0O2GbVbAjRnMV2C2teqSTdpLigsz52nb2PKO/FNRYZcyqu03Lo0mwW79YtRPeoXUKo+VL5QvlSOFKG3lRPlJ6SkXil9Tal/Vvq3pqf+of6p/lW4PnywiPlMKX3qP/8BeoDc7w=</latexit><latexit sha1_base64="gQJtegFK7Xec6ZaECn/FHx6O7z8=">AK4HiclVZLb9tGEGbSqE3ZV9we9nUcGEXqsqXKPFQIGjcohdXKmI7D1ExltRQIsKHulzFVra891b02P6z/pvOknpRogyXgI3B7sw383ufiNvGoUZ17R/791/70Hj/Q8efqh+9PEn3726ODzydMR8u/DRK2QuPZhCFCVzwkEfwYsqAxl4Ez703T+X+87fAsjBNzvl8CsOYjpMwCH3Kcenq4MHfR+QiAxKkCSdZ+A6IbZEpV1U3gWs/jWOajIQ7guCSsnygD4ULSTZjEFM+EYd67t5kU+pDXvXvsxQLiJ8hXr6MFkm+5XVGOQtvtpxeG9tuCOZnaw/hFqxFGoRIDEZ5P9+O+BFzZ31gMjKvVOwGjPpbmUv8NZMd6j+E419SXjQsHxjbLXAfuxE/FgcGrnLwvGEn+zpCuKcT4DTso9VYOGW7Knu2G9GMZ7wsqtPWGT+hZuU8j0csXgdXIXgLnk5CN6lqn58Lc26sziM+v09OtOPk/CwRupmyevxbHyxXjND/J9/RKQk0YwJ3BzFvAnqJxHsawv7ilx13LWyHeUmMd5laVNRf9RVs57aT0u1KuI9v8n3lFS4v740vx3p1d2R3uUVeh6Mw0TAbwljM6/QfCSJHE5diZbBL4k3xPHVjHaMP36tGh1jI13bF1goal6x0bDcsw24ZD9JZWfIfK4utfHTRa7ij1ZzEk3I9olg10bcqHgjIe+pFkNsAK3tDxzBAM6FYwlAUZHJyhCsj1EFWamGxuhkhaJxl89hDz+Iwt/fkYt3eYMaD7lCEyXTGIfHLRMEsIjwlUpHJKGTg82iOBvVZiLUSf0LxsXHUbWSxo9Y5qcjMIvmbmwiKR4VyiK1YFurE0gegtcRjPYPOeAxmE0R6Ggs4jcWfB0lbVI4J6OaneCw/VZWcebAiLOymSi29bBsT5UiH1XYVU3VPAw2Igc/SmwCjHq1VMkN40F31WM1p2E5fuNUkH6TDfW+5hJTCLi1RDR/d5tS0aWq1haIo0jWJ8diFa5uUJbedy6vCigR/tf0XQ8m3lnXnpTMlusFeTwnca4IfANJnNSkCxOubjyWfEej7QhPyE75tMaQScAzmW2zMWpfLnRAuTnahysODvjg018KIZjlQ29nKhtQzL1hyz027iq7UNfW07uqXZRhufgm029bT1DudOjCWXicrNPpWgsAwzEcu7uwTc2SNoIRXTOauNp2asCkTi2hykh9iVDGOkbT6jZtqyY2ZTQZr3l1O2sulq7pbeRSAFmGvqjEMJCY1m7aRg3cHKIovV7BOZphLpl1SzIlWtm9As7Um4ZmN2zBm7MYL4Cs61Vl2y9s6S4MAueto0t78o/FRV2KaNkv3FptHTs1q/G4ZP+QmsfKl8qXynHiq50lCfKz0pfuVD8htL4uvFdQ1M9Q/1T/Wv0vX+vUXMF0rlU/5D4Li3Jc=</latexit>
slide-22
SLIDE 22

hpcgarage.org/pp20

21

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

Teraflop/s

(32x procs → 2x speedup)

MPI processes (2D process grid; 4 cores / process)

Process grid length in the 3rd (“z”) axis

slide-23
SLIDE 23

hpcgarage.org/pp20

22

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

Teraflop/s

(32x procs → 2x speedup)

MPI processes (2D process grid; 4 cores / process)

Example:


(Best configuration shown for the 2D part)

Px × Py | {z }

=192

× Pz |{z}

=8

= 1,536

<latexit sha1_base64="+VkhkgmYU5VAnELUFtk3lIafS1g=">ALGniclVZb+NEFPYuG1jMbQsvSLxMqSq1yEQe23ESpJUqtiBeSoK27V7ibBk7J4lZX8J4vG128D/h1/CGeIQX/g0zdpzEiVMVS62OZs75zvmOj78Tdxb4CdP1f+/df+dB493Hr6vfvDhRx9/8mjv08skTqkHF14cxPS5SxI/AgumM8CeD6jQEI3gGfu6yfy/tkboIkfR+dsPoNhSCaRP/Y9wsTR1d6Dvw/RQJoHEcMJf5bQLaFZkxVnQiuvTgMSTizgjGl4RmAzkDkRJSiEkbMoPcObcJDPiQVb179NYFBA+FXhZGc2jbMPrjDq32w4vTI23QSYl6w8uJOz5vHYF8RglPWzYjvRO6kD1RGZpWKnTEl3kbmAn/FZIv6t/7kx5jlDcsGxmYLnH0ngDE74gdG5lB/MmXHO7oicM6nwEjRxyowd4or2dPtsF4Ikx1hxdWOsGl9jKzcIwHvZYvAamQvgvOpT0d1rcMZN3f26gzC8+v4dCNO/k/GXFzGdJ694kfliXGaHWc7eiWhphTgzmDmLWBPhHuh7C7uNLjruUtEW+psQ5zo8qaQX9eBduadlS4XFn/ybV7u8uLuSPbkV7eHeltVqHnwsSPOPwaEUrJ/CsBnkYjoK4YJSgJI4eJLiWorPqKP8ZdI1seb0W8lC6dD1GWHP2W6atiupGa1muHh3oTVPHXRsjYVgYt21hWIbZMroIN/X8OTj5XMmf/tVeo+mMYi8NIWJeQJkgPUZG3JCme8FsidpAoLTazKBgTAjIiob8rwNGToUJyOhoLRQ0fx0PYKTMEnmoSs8zHYvJOHdXeDlI07Q+5Hs5RB5BWJxmAWIyklqORT8FjwVwYxKO+qBV5UyI6xYTiq5U0XkATLx6Bmb+WtQsKgZT9CkW+HIW1sykEb4DJaArEzImoR/MhcSQNGBiUJxavqIRJKO61OlCt0aWuTrEmSM82T86+bBoRZqa14W1tV5xTEy6Igc/RmQAkTQ5nvnt4s431as5S2ExfuNUkHq6TDXSpQMqVIC2eR2i/OZrcBVKPawsUS0zWJxdqFa5uxRbedy6vCigR/tfeXgQ8Td0zN74pmC3OcnLiCw/FBRefZjRHOcn8Lecjn+SfQM8DEqHvhTKgGQmAMUBH8jqlQSx/iDRFsmNVriTxi2VNR9wgFcuYTtyM603DsvWu2W5p4qu1Dbyu9jSbaMlPgXb1HCrq+F2uw6MxtfREs3sdqwFgNE1unZnYZu6JW0BhrBuaOK01a0BkwpXQhWRuEQoYruGZnU026qJjSmJitenfaKi4V13BJciDLwItKDEMQ01uabdTAzSEI4uslXFc3zJZpyBToBXdy+FMrBm6rdlmDdyEwnwJZlvLtm4XVJcmDlP2xYt78g/VShsKaNot3FpNLHo1k/GwUm/kFrlofKF8qVypGClrZwoPyh95ULxGt80fm74jV/U39U/1D/VvwrX+/cWMZ8plUf95z+nhvSR</latexit><latexit sha1_base64="+VkhkgmYU5VAnELUFtk3lIafS1g=">ALGniclVZb+NEFPYuG1jMbQsvSLxMqSq1yEQe23ESpJUqtiBeSoK27V7ibBk7J4lZX8J4vG128D/h1/CGeIQX/g0zdpzEiVMVS62OZs75zvmOj78Tdxb4CdP1f+/df+dB493Hr6vfvDhRx9/8mjv08skTqkHF14cxPS5SxI/AgumM8CeD6jQEI3gGfu6yfy/tkboIkfR+dsPoNhSCaRP/Y9wsTR1d6Dvw/RQJoHEcMJf5bQLaFZkxVnQiuvTgMSTizgjGl4RmAzkDkRJSiEkbMoPcObcJDPiQVb179NYFBA+FXhZGc2jbMPrjDq32w4vTI23QSYl6w8uJOz5vHYF8RglPWzYjvRO6kD1RGZpWKnTEl3kbmAn/FZIv6t/7kx5jlDcsGxmYLnH0ngDE74gdG5lB/MmXHO7oicM6nwEjRxyowd4or2dPtsF4Ikx1hxdWOsGl9jKzcIwHvZYvAamQvgvOpT0d1rcMZN3f26gzC8+v4dCNO/k/GXFzGdJ694kfliXGaHWc7eiWhphTgzmDmLWBPhHuh7C7uNLjruUtEW+psQ5zo8qaQX9eBduadlS4XFn/ybV7u8uLuSPbkV7eHeltVqHnwsSPOPwaEUrJ/CsBnkYjoK4YJSgJI4eJLiWorPqKP8ZdI1seb0W8lC6dD1GWHP2W6atiupGa1muHh3oTVPHXRsjYVgYt21hWIbZMroIN/X8OTj5XMmf/tVeo+mMYi8NIWJeQJkgPUZG3JCme8FsidpAoLTazKBgTAjIiob8rwNGToUJyOhoLRQ0fx0PYKTMEnmoSs8zHYvJOHdXeDlI07Q+5Hs5RB5BWJxmAWIyklqORT8FjwVwYxKO+qBV5UyI6xYTiq5U0XkATLx6Bmb+WtQsKgZT9CkW+HIW1sykEb4DJaArEzImoR/MhcSQNGBiUJxavqIRJKO61OlCt0aWuTrEmSM82T86+bBoRZqa14W1tV5xTEy6Igc/RmQAkTQ5nvnt4s431as5S2ExfuNUkHq6TDXSpQMqVIC2eR2i/OZrcBVKPawsUS0zWJxdqFa5uxRbedy6vCigR/tfeXgQ8Td0zN74pmC3OcnLiCw/FBRefZjRHOcn8Lecjn+SfQM8DEqHvhTKgGQmAMUBH8jqlQSx/iDRFsmNVriTxi2VNR9wgFcuYTtyM603DsvWu2W5p4qu1Dbyu9jSbaMlPgXb1HCrq+F2uw6MxtfREs3sdqwFgNE1unZnYZu6JW0BhrBuaOK01a0BkwpXQhWRuEQoYruGZnU026qJjSmJitenfaKi4V13BJciDLwItKDEMQ01uabdTAzSEI4uslXFc3zJZpyBToBXdy+FMrBm6rdlmDdyEwnwJZlvLtm4XVJcmDlP2xYt78g/VShsKaNot3FpNLHo1k/GwUm/kFrlofKF8qVypGClrZwoPyh95ULxGt80fm74jV/U39U/1D/VvwrX+/cWMZ8plUf95z+nhvSR</latexit><latexit sha1_base64="+VkhkgmYU5VAnELUFtk3lIafS1g=">ALGniclVZb+NEFPYuG1jMbQsvSLxMqSq1yEQe23ESpJUqtiBeSoK27V7ibBk7J4lZX8J4vG128D/h1/CGeIQX/g0zdpzEiVMVS62OZs75zvmOj78Tdxb4CdP1f+/df+dB493Hr6vfvDhRx9/8mjv08skTqkHF14cxPS5SxI/AgumM8CeD6jQEI3gGfu6yfy/tkboIkfR+dsPoNhSCaRP/Y9wsTR1d6Dvw/RQJoHEcMJf5bQLaFZkxVnQiuvTgMSTizgjGl4RmAzkDkRJSiEkbMoPcObcJDPiQVb179NYFBA+FXhZGc2jbMPrjDq32w4vTI23QSYl6w8uJOz5vHYF8RglPWzYjvRO6kD1RGZpWKnTEl3kbmAn/FZIv6t/7kx5jlDcsGxmYLnH0ngDE74gdG5lB/MmXHO7oicM6nwEjRxyowd4or2dPtsF4Ikx1hxdWOsGl9jKzcIwHvZYvAamQvgvOpT0d1rcMZN3f26gzC8+v4dCNO/k/GXFzGdJ694kfliXGaHWc7eiWhphTgzmDmLWBPhHuh7C7uNLjruUtEW+psQ5zo8qaQX9eBduadlS4XFn/ybV7u8uLuSPbkV7eHeltVqHnwsSPOPwaEUrJ/CsBnkYjoK4YJSgJI4eJLiWorPqKP8ZdI1seb0W8lC6dD1GWHP2W6atiupGa1muHh3oTVPHXRsjYVgYt21hWIbZMroIN/X8OTj5XMmf/tVeo+mMYi8NIWJeQJkgPUZG3JCme8FsidpAoLTazKBgTAjIiob8rwNGToUJyOhoLRQ0fx0PYKTMEnmoSs8zHYvJOHdXeDlI07Q+5Hs5RB5BWJxmAWIyklqORT8FjwVwYxKO+qBV5UyI6xYTiq5U0XkATLx6Bmb+WtQsKgZT9CkW+HIW1sykEb4DJaArEzImoR/MhcSQNGBiUJxavqIRJKO61OlCt0aWuTrEmSM82T86+bBoRZqa14W1tV5xTEy6Igc/RmQAkTQ5nvnt4s431as5S2ExfuNUkHq6TDXSpQMqVIC2eR2i/OZrcBVKPawsUS0zWJxdqFa5uxRbedy6vCigR/tfeXgQ8Td0zN74pmC3OcnLiCw/FBRefZjRHOcn8Lecjn+SfQM8DEqHvhTKgGQmAMUBH8jqlQSx/iDRFsmNVriTxi2VNR9wgFcuYTtyM603DsvWu2W5p4qu1Dbyu9jSbaMlPgXb1HCrq+F2uw6MxtfREs3sdqwFgNE1unZnYZu6JW0BhrBuaOK01a0BkwpXQhWRuEQoYruGZnU026qJjSmJitenfaKi4V13BJciDLwItKDEMQ01uabdTAzSEI4uslXFc3zJZpyBToBXdy+FMrBm6rdlmDdyEwnwJZlvLtm4XVJcmDlP2xYt78g/VShsKaNot3FpNLHo1k/GwUm/kFrlofKF8qVypGClrZwoPyh95ULxGt80fm74jV/U39U/1D/VvwrX+/cWMZ8plUf95z+nhvSR</latexit><latexit sha1_base64="TiLhGlteRow/LG4viH4oBmBbmo=">ALGniclVbfb+NEPYdVzjMrys8rKlqtQiE3ltx4mRTjpxBfFSEnRt7g4V9bOJjHnH2G9vja3+D/hr+EN8Qgv/DfM2nESJ05VLUa7c58M94/E28WRikXNf/vXf/nQd738H31gw8/+viTR/ufXqZJxnx64Sdhwl54JKVhENMLHvCQvpgxSiIvpM+910/l/fM3lKVBEp/z+YwOIzKJg3HgEw5HV/sP/j5CFylF4yTmKA3eUmRbaMZV1Y3ptZ9EYlHwh3R8SVh+QAPhUvjNGM0InwqDnHu3qQz4tO87t9nCRQPQO8vIoWcb7hdUY4C242nF4Zm24A5qcrD+EWrEUyDoAYHeX9fDPiW8id9imTkXmtYnfMiL+RucRfMdmi/k0w+SHhRcPygbHZAvfADemYH4tDI3dZMJnykx1dAZzKeWk7GMdWLjlezpdlgvopMdYeXVjrBpc4ys3Ceh6OWLwHpkL6bn04CNmlqHc2Hu7NUZjc6vk9ONOPk/HQu4TNg8fyWOqxPjND/Jd/RKQk0ZpXcGM28BewrGeRDR3cVHnctb4l4S41NmBtVNgz6izrY1rSj0u1KuAc3+a7yCpef7o40vx3p5d2R3uY1eh6dBLGgv8aEMTL/EsCzeESZB6NEK8LI5dClFVX4nH2DHy5fFWxEvp0s3RY4Q196Bt2ipUN1rLcvXoUG+ZOnZsjMCwMO7YFiG2TYchFt68Rwqi6d/tb/XckeJn0U05n5I0nSA9RkfCsJ4IeyJ1lKgdNrMqEDMGMClQ1F0YcHcHJCBSUlSpanK5HCBKl6TzywLMYg807edh0N8j4uDsUQTzLOI39MtE4CxFPkNRyNAoY9Xk4B4P4LIBakT8l0CkOiq/W0vghS/1kRM3itaxdMBpK2a9RFMtRWDub0vAN5TKa0fUJGZMoCOcgMSQLOQxKOq5sVT1CoLT+kR5oEtbm2RNktxpkVx81TJolFfaire1VXVPKbwsRmWO3owywmEoi93Tm+WizxqW0nbi0r0h6WCVdLhLBUpIuRKkJYoI7TdXk7tA6nFjgbDEZH1yodbhmlZs6X3n8uqAEuF/7e1FwLPMO/OSm5LZ4qwgB194BcCPs14jgqSxVsuRj4tPoGeT0mMvgNlQDMSUs4pOpbXGQsT+UOkBclOVLmS4BfLmo54YQbLmE28XOgtw7J1x+y0NfhqbQOvbAdbum204VOwTQ23HQ13Ok1gLmOl2im07UWAIZjOHZ3YZu6JW0AQ1g3NDhtOw1gUuEqDISVwhlrGNoVlezrYbYhJF4suLV7ay4WFjHbeBSAFkGXlRiGEBMb2u20QA3p2GYXC/hHN0wK2bdkyJVnavgDOxZui2ZpsNcBNG50sw21p2ycadiuLCLHjaNrS8K/9UNhKRtFu49JoYejWj8bhk/5Cax8qnytfKMcKVjrKE+V7pa9cKP7e13s/7wV7v6i/q3+of6p/la737y1iPlNqj/rPf6/o9Dk=</latexit>
slide-24
SLIDE 24

hpcgarage.org/pp20

23

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

Teraflop/s

(32x procs → 2x speedup)

2D to 3D:
 → 23x speedup (24 x 32)

MPI processes (2D process grid; 4 cores / process)

slide-25
SLIDE 25

hpcgarage.org/pp20

24

24 48 96 192 384 768

2D-Grid

1 2 4 8 16 32

Pz

0.036 0.044 0.055 0.065 0.064 0.073 0.093 0.12 0.17 0.21 0.23 0.24 0.28 0.42 0.49 0.48 0.49 0.53 0.67 0.93 0.91 1.1 0.97 0.94 1.1 1.3 1.5 1.7 1.3 0.81 1.7 2 2 1.5

0.4 0.8 1.2 1.6 2.0

Teraflop/s

(32x procs → 2x speedup)

64x procs
 → 55x speedup

MPI processes (2D process grid; 4 cores / process)

slide-26
SLIDE 26

hpcgarage.org/pp20

25

14 15 13 8 9 10 11 12 1 2 3 4 5 6 7

S C1 C2

1 2 1 2 1 2 1 1 2 1 2 1 2 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1

(For experts) How? Partition elimination tree among 2-D slices of a 3-D process grid

slide-27
SLIDE 27

hpcgarage.org/uiuc20

26

PA = LU

L = unit lower triangular U = upper triangular P = permutation (pivoting)

slide-28
SLIDE 28

hpcgarage.org/uiuc20

27

L U

Done Active

“Right-looking”

slide-29
SLIDE 29

hpcgarage.org/uiuc20

28

At step k …

… the first k-1 (block) columns of L and rows of U are done.

L U

Done Active

slide-30
SLIDE 30

hpcgarage.org/uiuc20

29

At step k …

Diagonal factorization computes the diagonal (block) element.

L U

Done Active

slide-31
SLIDE 31

hpcgarage.org/uiuc20

30

At step k …

Panel factorization calculates the next (block) columns of L or rows of U.

L U

Done Active

slide-32
SLIDE 32

hpcgarage.org/uiuc20

31

At step k …

These new panels are used to update the trailing submatrix.

L U

Done Active

slide-33
SLIDE 33

hpcgarage.org/uiuc20

32

These new panels are used to update the trailing submatrix.

L U

Done Active

“Schur complement update”

slide-34
SLIDE 34

hpcgarage.org/uiuc20

33

Outer product:

L U

Done Active

“Schur complement update”

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
slide-35
SLIDE 35

hpcgarage.org/uiuc20

34

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • • •

L U

Done Active

slide-36
SLIDE 36

hpcgarage.org/uiuc20

35

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • •

L U

Done Active

slide-37
SLIDE 37

hpcgarage.org/uiuc20

36

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • • •

L U

Done Active

slide-38
SLIDE 38

hpcgarage.org/uiuc20

37

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • •

L U

Done Active

slide-39
SLIDE 39

hpcgarage.org/uiuc20

38

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • •

L U

Done Active

slide-40
SLIDE 40

hpcgarage.org/uiuc20

39

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • • •

L U

Done Active

slide-41
SLIDE 41

hpcgarage.org/uiuc20

40

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • • •
  • L

U

Done Active

slide-42
SLIDE 42

hpcgarage.org/uiuc20

41

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • • •
slide-43
SLIDE 43

hpcgarage.org/uiuc20

41

Atrailing ← Atrailing − Lnew · Unew

T

<latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="mDKfIpCHDTgKuf1zRLpWD7T8PIg=">AMOHiclVbdjtEFHYLXYoDtIUbJG6mrFbaRWnkcWwnvoEtXRAXRLUpN0SZ1cTZ5JY9U8YT7qbGr8Pz8CbcMcd4pYn4Mw4f07sJVhKdDxzvm/OdzxzgymvhdzTfvjzt3r938MH9D9XKRx9/8uDho09fxtGMubTrRn7ELgYkpr4X0i73uE8vpoySYODTV4M3z8T8q7eUxV4Udvh8SvsBGYfeyHMJh6GrR/d+O0LdmKJRFHIUe+8osgw05arqhPTajYKAhMPEGdLRS8LSHu4nDg3jGaMB4ZPkEKfOTwlLk3z/m0WQDBC+BLl+gkTLe8zgln3s2W06W+7QZkbrz2SBypOolGHgijw7SdbiO+g7XjNmUCmeYidkaMuFsrZ/xrJTvSv/XGP0ZcJizt6dspcB47Ph3x4+RQTx3mjSf8pCQrwNOZUE6yPOaJEyebEjndhbUCOi6BZVMlsEkxRkTuEj9pQtgHtkKaWfisWFR6nCa1EtzdU6DznV0toUT/EogcmIzdPL5Hg5op+lJ2lJrgTVhFG6N1n9FrJnYHS8gJYHt/TYN7wV4y0xFnFuRVmw0S/yZDu7HWVuV4nz+CYtC0+6vN6faX4708/7M71LS+U95Yx4UKfGebanAIsD4vuUOcEguklWbmUxPYeXWyIawycJU/R8m1egSjm7e3F2/4tTdQZ07IUJ/SUkjJH5V6mK0Fo5kqUCZqLrzdEnSGpCjuMOJKxXHZUCGa4QXT18FCr1TVsWxiBYWDcsMAw9Lqp2wjXNPkcn6uyKcNtf3aGUbuLKAhd30Sxz2sTXk/IYx7ri8SMIsphP2GjGkPzJAENO4nUnWKjmBkCG2BZa1Bjm4iEhLE8TwYgKfc29tzYrBorjfjo2Y/8cLpjNPQzRYazXzEIyQaFBp6jLrcn4NBXOZBrMidEKg9HNqYmlvG9VnsRkNal5nfmGDUF70sJzFZfeNsQn131Iu0IxubocRCTx/DnWTzHwO+yIeLW1VPULQPib57TOAYrvTHjfqrDORiydPajoN0mXDwLsNQ3XOKHwsRsUarSlhMelA21NU2TNivotLsLZ+4Fi/bWi/bLSltGKfqcsBKJqP7qVEWDE02mMEDozCI+cUvI0xXdGzLvcPLEwqG/3UZWQBezAbncGQzZYsxKQ7OtDzLDvfCOZIi5VeWz6WR6DlUhKi76EQoCnxKecUHYvpGfMjcbuqwWInquizcA3bKBsDfwY3DYepIlW0w1Ls+sNswqn1tLx2raxoVm6CUfBqlexaVdxo1FEBlUjXLHV7axINBt3baC7uGcIGMoQ1vQqjpl1AJsr2kipD4iVDhrX1qtGsWkYBNmIkHK91NRtrLQbWsAlaJGh40Ukug7CNLNq6QV0c+r70fWKztb0+lJZMxOTsWXZk3R1XNU1q2rVC+igVM9XZJaxypKFG0uJC1PqtCxIeVP8irnoKuUC2TCtpqU3DBOLN1Mzm01ZfwWVsU2yNRtFUr1sh6jcuOlXsOQ9p/0w9N2VrOV+8oXypfKsYKVhnKq/KC0la7iHjw4MA+Pvim8nvlz8pflb8z17t3FpjPlNxT+edfldFjKg=</latexit><latexit sha1_base64="qRhX7i7iXbHzD7lQyiM2ceoz5Yg=">AMOHiclVbNktEFYCWYIMJIEjlwlbW7VLOS6N/mxdICELxSGLTWdLFjerbE8tlXRjxmNs+sMeh+egTfhxo3iyhPQI/lPtrQYVdnVmunvm/5aM90zmAZ+wjXtjzt3v/3sEH9z9Uax9/MmDh48+fZXEM+bRrhcHMbsYkIQGfkS73OcBvZgySsJBQF8P3jyX86/fUpb4cXTO51PaD8k48ke+RzgMXT269sR6iYUjeKIo8R/R5FtoilXVTei14chiQaCndIR68IS3u4L1waJTNGQ8In4hCn7k0yJR5Ni/4dFkMA4UvgS5doEaVbXmeEM/9my+lS3YDMi9Zewg3Uy3ikQ/C6DtpNuIb2HtpEOZRKaFiN0RI97Wyjn/WsmO9G/8Q8xzxKW9vTtFLiP3YCO+LE41FOX+eMJP6nICvCcTygneR6LxMLNp2ROd2HtkI4rYPlUBWxSjpGReyQ7XQBLCLbET2f+GxYljqcCqMyV2c0PL+OT7dw8j8ZCZiM2Ty9FMfLEf0PUkrciWpJozSvcmMW8ieg3Huh7Q6uKXHvuGtG+JsYxzK8qSjX5RJNvZ7Sh3uxLu45u0KrzM5af9mea3M/28P9O7tFLeM86ID3VqXGR7BrAkJEFAmRsO4huxcquK6QW83BLRGD5JlKIX27wSVcnZ3Yuz+1+cqjugYz8S9JeIMEbmX6YqQmvlKCsVMBNfb4+QZkm5HrDmKMslstzFYIZbhBdPTzUGoaGHRsjMEyMmzYpm5YuoNwQ8ueQ2XxdKC2X7vD2JuFNOJeQJKkh7Up7wvCuO8FMgGzhELYb8iY9sCMSEiTvshUp+gIRobQFljeGrLRTYQgYZLMwF4Znt7e04Ols31ZnzU6gs/ms4jbx8odEsQDxGskGhoc+ox4M5GMRjPsSKvAmB2sOhjamFZbyAJV48pEaW+Y0JRgPZywoSxeq7b4xNaPCWcolmdHM7jEjoB3Oom2QWcNgXyWhpq+oRgvYxKW6fARTbnfa4UWfdSba4eNLQaZguGwbebRiqe0rhYzEq12hPKSMc9mDWUNvTVHRYSafdXTh3L1m0t160X1XackrZ56QlMkT9V7cuG5xsMqUBQmeW8clbQpGu7N6Qe+8dXpFQMvyvy8gC8HI2OIMjmytbjGXi4ExnZ9nlfjRHmcjsK2dbPsmOQNujJELfQSFAUxJQzik6ltMzFsTydtWAxU5U2WfhGrZRNgbBDG4YbDxIhdbQTVtzjKZVh1Nr63htO9jUbN2Co2AbdWw5dxslpFB1YhWbIbTMhcEuqM7dmthG5opbSBDWNPrMGo5JWSybC+pciReMuRYR6+brbptlmBjRqLxWlerudZiYg1boCUjMnW8iETXQZhm1W29hG5OgyC+XtE5m4slbVyMTlbnr2MzsB1XbPrtlFCB6V6viKzVWbNxcSlyYmU7bhpS35K+ci65SLpFNy27ZetO0sHyzNKvVyuqvpNLq2AGZuqNCqV7WY1RtvNIbGNL+o374tLMo2veVz5UvlGMFK03lqfK90lG6infw4MA6+Org69rvtT9rf9X+zl3v3lgPlMKT+2fwGFG2LS</latexit>
  • • • • • • • •
  • • • • • • • •

x x x x x x

  • x •

x x x x x

  • x

x • x x x x

  • x

x x • x x x

  • x

x x x • x x

  • x

x x x x • x

  • x

x x x x x •

slide-44
SLIDE 44

hpcgarage.org/uiuc20

42

  • • • • • • • •
  • • • • • • • •

x x x x x x

  • x •

x x x x x

  • x

x • x x x x

  • x

x x • x x x

  • x

x x x • x x

  • x

x x x x • x

  • x

x x x x x •

Fill-in

slide-45
SLIDE 45

hpcgarage.org/uiuc20

43

  • • • • • • • •
  • • • • • • • •

x x x x x x

  • x •

x x x x x

  • x

x • x x x x

  • x

x x • x x x

  • x

x x x • x x

  • x

x x x x • x

  • x

x x x x x • Permuting for numerical stability (pivoting)

  • vs. minimizing fill-ins (flops + storage)

Managing memory + promoting locality Distributing data + load balancing Achieving bandwidth + flop/s limits

slide-46
SLIDE 46

hpcgarage.org/uiuc20

44

PA = LU

  • 0. Baseline: SuperLU_DIST


Baseline — Li, Demmel (SC’98)

  • 1. A communication-avoiding


“3D” algorithm


Inter-node communication — Sao, Li, Vuduc (IPDPS’18)
 Sparse triangular solve — Sao, Kannan, Li, Vuduc (ICS’19)

  • 2. Co-processor acceleration


Intra-node communication — Sao, Vuduc, Li (EuroPar’14);
 Sao, Liu, Vuduc, Li (IPDPS’15) CA+GPU — Sao, Li, Vuduc (JPDC’19)

slide-47
SLIDE 47

hpcgarage.org/uiuc20

45

1

2

1

2

1

2

1

2

1

2

1

2

1

2

1

3

1

3

1

3

1

3

1

3

1

3

1

3

1

Supernodal


Find and store small dense blocks to promote BLAS-3 use

2D block cyclic

Owner updates; promotes load balancing Example:

2 x 2 process grid