parallel 2010
Shodor > SUCCEED > Workshops > Archive > parallel 2010

In Today’s class, Fitz reviewed yesterday’s materials and gave an explanation about shared memory and some if it’s issues. One example he used was a Race Condition issue, which happens when multiple threads access and change the same variable at the same time. Thus, the value of the variable is unexpected.

After teaching the basics of shared memory, Fitz introduced Standard and Non-Standard concepts, laws defined by a group of people who are experts on the subject, which may or may not be followed by the public. That explanation was a great segway into OpenMP, which is a multithreading Standardized API in the parallel computing world.

OpenMP is an application programming interface that helps programmers to parallelize their code in a way where programmers will not have to make major changes to their serial code. Fitz explained that the problem with OpenMP is that it is made for Shared Memory, which means that it won’t work or won’t work properly in supercomputers that have Distributed Memory or Hybrid Memory architecture.

The students developed two programs that worked in parallel, Hello World and Area Under a Curve. In those programs, students explored OpenMP's compiler directives, functions, and environment variables.