- [ ] Implement distributed memory parallel version of the kernels using MPI and/or runtime systems e.g. StarPU, Parsec, etc. - [ ] Employ asynchronous communication whenever possible