**Main:
**

** Setup
worker array, pass data to them
**

**
**

**Workers:
**

** Start
looping
**

**
**

** Send
messages to all neighbors with ghost rows
**

**
**

** Wait for
all neighbors to send ghost rows to me
**

**
**

** Once they
arrive, do the regular Jacobi relaxation
**

**
**

** Calculate
maximum error, do a reduction to compute
**

** global maximum error
**

**
**

** If
timestep is a multiple of 64, load balance the
**

** computation. Then restart the loop.**

**Main:
**

** ***Setup worker
array, pass data to them
*

**
**

**Workers:
**

** Start
looping
**

**
**

** Send
messages to all neighbors with ghost rows
**

**
**

** Wait for
all neighbors to send ghost rows to me
**

**
**

** Once they
arrive, do the regular Jacobi relaxation
**

**
**

** Calculate
maximum error, do a reduction to compute
**

** global maximum error
**

**
**

** If
timestep is a multiple of 64, load balance the
**

** computation. Then restart the loop.**

**Main:
**

** Setup
worker array, pass data to them
**

**
**

**Workers:
**

** Start
looping
**

**
**

** Send
messages to all neighbors with ghost rows
**

**
**

** ***Wait for all
neighbors to send ghost rows to me
*

**
**

** Once they
arrive, do the regular Jacobi relaxation
**

**
**

** Calculate
maximum error, do a reduction to compute
**

** global maximum error
**

**
**

** If
timestep is a multiple of 64, load balance the
**

** computation. Then restart the loop.**