{
"cells": [
{
"cell_type": "markdown",
"id": "46d0dd15",
"metadata": {},
"source": [
"
\n",
"\n",
"### Programming large-scale parallel systems\n",
"\n",
"# Gaussian elimination"
]
},
{
"cell_type": "markdown",
"id": "ff0fbd76",
"metadata": {},
"source": [
"## Contents\n",
"\n",
"In this notebook, we will learn\n",
"\n",
"- How to parallelize Gaussian elimination\n",
"- What is load imbalance, and how to fix it in this algorithm"
]
},
{
"cell_type": "markdown",
"id": "480af594",
"metadata": {},
"source": [
"
B[k,k] is zero, the computation in the first inner loop fails. To get around this problem, another step can be added to the algorithm that swaps the rows until the diagonal entry of the current row is not zero. This process of finding a nonzero value is called pivoting. We are not going to consider pivoting here for simplicity. \n",
"