
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.