SHMEMmer Wanna Be

My Journey To Understanding and Using SHMEM:

If you are like me, you have heard about SHMEM and its benefits over MPI; however, you struggled finding the means to really dive in and learn. In addition, it isn't like you have an HPC computer at home to just program in your spare time. So, how is one to learn the gist of SHMEM to even conclude you want to try it or learn it to the extent it will prove useful at work.

I invite you to join me in the adventure of learning SHMEM. I should preface this tutorial with the following: this tutorial is by no means an all-inclusive summary of SHMEM. There is much to learn and the documentation is quite beneficial.

If you currently do not have access to SHMEM on your machine, and you would like to have it on your home machine, please see steps on how to get shmem for your home machine. You can check if you have OpenSHMEM available by typing oshcc on the command line. If your computer recognizes it, you should get a gcc fatal error. If not, you will need to download and install SHMEM.

As all good programming instructions begin, we will begin with the treasured program "HelloWorld" and slowly progress through some of the crucial elements that set SHMEM apart from other MPI libraries.