Title: Programming Distributed Memory Architectures Using Kali