1 | Instead of assigning subintervals or decomposing iterations among the processors, we treat each element of matrix oldf as an interval and decompose intervals among the processors. |
2 | Adaptive: only those subintervals which do not meet the error criteria are iterated. Since this leads to load imbalance, processors divide up intervals each time. |
3 | Introduce a boolean array to keep track of which intervals need further computing. After each iteration, if K intervals need further computing, each processor assigns itself K/Nproc intervals in a contiguous set. |
4 | Initial Decomposition: |
5 | Decomposition after iteration: |
6 | Note that each processor "owns" a contiguous set of indices and works on a subset. |